Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Método para obter metadados da instância mudou em 2023

A partir do Amazon Linux 2023, o endpoint 'http://{ec2-public-ip}/latest/meta-data' exige agora um cabeçalho 'X-aws-ec2-metadata-token' para autenticação. O token em questão pode ser obtido através de outro endpoint 'http://{ec2-public-ip}/latest/api/token'.

1 resposta
solução!

Olá, Leonardo!

Obrigado por compartilhar aqui sobre a mudança na forma de acessar os metadados da instância a partir do Amazon Linux 2023. Agora, é necessário utilizar um token de autenticação para acessar os metadados da instância EC2. Vou explicar como você pode adaptar seu script para lidar com essa mudança.

Para obter o token, você pode usar o seguinte comando:

TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")

Depois de obter o token, você pode usá-lo para acessar os metadados com o seguinte comando:

curl -H "X-aws-ec2-metadata-token: $TOKEN" "http://169.254.169.254/latest/meta-data/"

Você pode integrar esses comandos no seu script de inicialização ou em qualquer outro script que precise acessar os metadados da instância. Aqui está um exemplo de como isso poderia ser feito em um script:

#!/bin/bash
yum update -y
yum install httpd -y
systemctl start httpd.service
systemctl enable httpd.service

# Obter o token
TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")

# Usar o token para acessar os metadados
curl -H "X-aws-ec2-metadata-token: $TOKEN" "http://169.254.169.254/latest/meta-data/"

Bons estudos!