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.
Tarefas
Permitir acesso a tags em metadados de instância
Por padrão, não há acesso a tags de instância nos metadados da instância. Para cada instância, permita explicitamente o acesso usando um dos métodos a seguir.
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 ter mais informações, consulte Restrições de tags.
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 ter mais informações, consulte Acessar metadados de instância para uma instância do EC2.
Serviço de metadados da instância versão 2
Execute os exemplos a seguir na sua instância do Amazon EC2 para recuperar os metadados da instância para o IMDSv2.
Serviço de metadados da instância versão 1
Execute os exemplos a seguir na sua instância do Amazon EC2 para recuperar os metadados da instância para o IMDSv1.
Desativar o acesso a tags em metadados de instância
Para desativar o acesso a tags de instância nos metadados da instância, use um dos métodos a seguir. Você não precisa desativar o acesso a tags de instância nos metadados da instância no início, pois ele está desativado por padrão.
Para desativas o acesso a tags em metadados de instância usando o console
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Instances (Instâncias).
-
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).
-
Para desativar o acesso a tags nos metadados da instância, limpe a caixa de seleção Permitir.
-
Escolha Salvar.
Para desativar o acesso a tags em metadados de instância usando a AWS CLI
Use o comando modify-instance-metadata-options--instance-metadata-tags
como disabled
.
aws ec2 modify-instance-metadata-options \ --instance-id
i-123456789example
\ --instance-metadata-tags disabled
Visualizar se o acesso a tags nos metadados da instância é permitido usando a AWS CLI
Use o comando describe-instances--query
para exibir somente as opções de metadados da instância nos resultados.
aws ec2 describe-instances \ --instance-ids
i-1234567890abcdef0
\ --query "Reservations[*].Instances[*].MetadataOptions"
O seguinte é um exemplo de saída. O valor de InstanceMetadataTags
indica se o acesso às tags nos metadados da instância é permitido. Se o valor for enabled
, ele será permitido. Se o valor for disabled
, ele não será permitido.
[
[
{
"State": "applied",
"HttpTokens": "required",
"HttpPutResponseHopLimit": 2,
"HttpEndpoint": "enabled",
"HttpProtocolIpv6": "disabled",
"InstanceMetadataTags": "enabled"
}
]
]