Visualizar tags para as instâncias do EC2 usando os metadados de instância - Amazon Elastic Compute Cloud

Visualizar tags para as instâncias do EC2 usando os metadados de instância

É possível acessar as tags de uma instância a partir dos metadados da instância. Ao acessar tags dos metadados da instância, não é mais necessário usar chamadas de API DescribeInstances ou DescribeTags para recuperar informações de tags, o que reduz suas transações de API por segundo e permite que as recuperações de tags sejam escaladas com o número de instâncias que você controla. Além disso, os processos locais que estão sendo executados em uma instância podem visualizar as informações de tag da instância diretamente dos metadados da instância.

Por padrão, as tags não estão disponíveis a partir dos metadados da instância; permita explicitamente o acesso. É possível permitir o acesso no início da instância ou após o início em uma instância em execução ou parada. Também é possível permitir o acesso a tags especificando isso em um modelo de execução. As instâncias iniciadas usando o modelo permitem acesso a tags nos metadados da instância.

Se você adicionar ou remover uma tag de instância, os metadados da instância serão atualizados enquanto a instância estiver em execução, sem precisar interromper e iniciar a instância.

Habilitar o acesso a tags em metadados da instância

Por padrão, não há acesso a tags de instância nos metadados da instância. Para cada instância, é necessário habilitar o acesso explicitamente.

nota

Se você permitir o acesso a tags nos metadados da instância, as chaves da tag da instância estarão sujeitas a restrições específicas. A falta de conformidade resultará em falha na execução de novas instâncias ou em um erro para as instâncias existentes. As restrições são:

  • Só pode incluir letras (a-z, A-Z), números (0-9) e os seguintes caracteres:+ - = . , _ : @.

  • Não pode conter espaços ou /.

  • Não pode consistir apenas em . (um ponto), .. (dois pontos) ou _index.

Para obter mais informações, consulte Restrições de tags.

Console
Para habilitar o acesso a tags nos metadados da instância durante a inicialização de instância
  1. Siga o procedimento para iniciar uma instância.

  2. Expanda Detalhes avançados e, em Permitir tags nos metadados, selecione Habilitar.

  3. No painel Resumo, analise a configuração da instância e selecione Iniciar instância. Para obter mais informações, consulte Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console.

Para habilitar o acesso a tags nos metadados da instância após a inicialização de instância
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione sua instância e selecione Ações, Configurações da instância, Permitir tags em metadados de instância.

  4. Para permitir o acesso a tags nos metadados da instância, marque a caixa de seleção Permitir.

  5. Escolha Salvar.

AWS CLI
Para habilitar o acesso a tags nos metadados da instância durante a inicialização de instância

Use o comando run-instances e inclua a seguinte opção --metadata-options.

--metadata-options "InstanceMetadataTags=enabled"
Para habilitar o acesso a tags nos metadados da instância após a inicialização de instância

Use o seguinte comando modify-instance-metadata-options.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --instance-metadata-tags enabled
Para verificar se o acesso a tags em metadados de instância está habilitado

Utilize o comando describe-instances e verifique o valor de InstanceMetadataTags.

aws ec2 describe-instances \ --instance-ids i-1234567890abcdef0 \ --query "Reservations[*].Instances[].MetadataOptions[].InstanceMetadataTags"

O seguinte é um exemplo de saída. O valor é enabled ou disabled.

[ "enabled" ]
PowerShell
Para habilitar o acesso a tags nos metadados da instância durante a inicialização de instância

Use o cmdlet New-EC2Instance e inclua o seguinte parâmetro -MetadataOptions_InstanceMetadataTags.

-MetadataOptions_InstanceMetadataTags enabled
Para habilitar o acesso a tags nos metadados da instância após a inicialização de instância

Use o cmdlet Edit-EC2InstanceMetadataOption.

Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -InstanceMetadataTags enabled
Para verificar se o acesso a tags em metadados de instância está habilitado

Use o cmdlet Get-EC2Instance e verifique o valor de InstanceMetadataTags.

(Get-EC2Instance ` -InstanceId i-1234567890abcdef0).Instances.MetadataOptions.InstanceMetadataTags.Value

O seguinte é um exemplo de saída. O valor é enabled ou disabled.

enabled

Recuperar tags dos metadados da instância

Depois de permitir acesso às tags da instância nos metadados da instância, será possível acessar a categoria tags/instance com base nos metadados da instância. Para obter mais informações, consulte Acessar metadados de instância para uma instância do EC2.

IMDSv2
Linux

Execute o comando a seguir na sua instância Linux para listar todas as chaves de tag da instância.

TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance

O exemplo a seguir obtém o valor de uma chave obtida no exemplo anterior. A solicitação de IMDSv2 usa o token armazenado que foi criado com o comando no exemplo anterior. O token não pode estar expirado.

curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/tags/instance/tag-key
Windows

Execute o cmdlet a seguir na sua instância Windows para listar todas as chaves de tag da instância.

$token = Invoke-RestMethod ` -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} ` -Method PUT -Uri http://169.254.169.254/latest/api/token
Invoke-RestMethod ` -Headers @{"X-aws-ec2-metadata-token" = $token} ` -Method GET -Uri http://169.254.169.254/latest/meta-data/tags/instance

O exemplo a seguir obtém o valor de uma chave obtida no exemplo anterior. A solicitação de IMDSv2 usa o token armazenado que foi criado com o comando no exemplo anterior. O token não pode estar expirado.

Invoke-RestMethod ` -Headers @{"X-aws-ec2-metadata-token" = $token} ` -Method GET -Uri http://169.254.169.254/latest/meta-data/tags/instance/tag-key
IMDSv1
Linux

Execute o comando a seguir na sua instância Linux para listar todas as chaves de tag da instância.

curl http://169.254.169.254/latest/meta-data/tags/instance

O exemplo a seguir obtém o valor de uma chave obtida no exemplo anterior.

curl http://169.254.169.254/latest/meta-data/tags/instance/tag-key
Windows

Execute o cmdlet a seguir na sua instância Windows para listar todas as chaves de tag da instância.

Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/tags/instance

O exemplo a seguir obtém o valor de uma chave obtida no exemplo anterior.

Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/tags/instance/tag-key

Desabilitar o acesso a tags em metadados da instância

É possível desabilitar o acesso a tags de instância nos metadados da instância. Você não precisa desabilitar o acesso a tags de instância nos metadados da instância no início, pois ele está desativado por padrão.

Console
Para desabilitar o acesso a tags em metadados da instância
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione uma instância e escolha Actions (Ações), Instance settings (Configurações da instância), Allow tags in instance metadata (Permitir tags em metadados de instância).

  4. Para desativar o acesso a tags nos metadados da instância, limpe a caixa de seleção Permitir.

  5. Escolha Salvar.

AWS CLI
Para desabilitar o acesso a tags em metadados da instância

Use o seguinte comando modify-instance-metadata-options.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --instance-metadata-tags disabled
PowerShell
Para desabilitar o acesso a tags em metadados da instância

Use o cmdlet Edit-EC2InstanceMetadataOption.

Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -InstanceMetadataTag disabled