Modificar as opções de metadados de instância para as instâncias existentes - Amazon Elastic Compute Cloud

Modificar as opções de metadados de instância para as instâncias existentes

É possível modificar as opções de metadados da instância para instâncias existentes.

Também é possível criar uma política do IAM que impeça que os usuários modifiquem as opções de metadados em instâncias existentes. Para controlar quais usuários podem modificar as opções de metadados em uma instância, especifique uma política que impeça que todos os usuários que não tenham um perfil especificado usem a API ModifyInstanceMetadataOptions. Para ver um exemplo de política do IAM, consulte Trabalhar com metadados de instância.

Consultar as opções de metadados da instância para as instâncias existentes

Você pode consultar as opções de metadados da instância para suas instâncias existentes usando um dos métodos a seguir.

Console
Para consultar as opções de metadados da instância para uma instância existente, usando o console
  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.

  4. Escolha Ações, Configurações da instância e Modificar opções de metadados da instância.

  5. Analise as opções de metadados da instância atual na caixa de diálogo Modificar opções de metadados da instância.

AWS CLI
Para consultar as opções de metadados da instância para uma instância existente, usando o AWS CLI

Use o comando da CLI describe-instances.

aws ec2 describe-instances \ --instance-id i-1234567898abcdef0 \ --query 'Reservations[].Instances[].MetadataOptions'
PowerShell
Para consultar as opções de metadados da instância para uma instância existente, usando o Tools for PowerShell

Use o cmdlet Get-EC2Instance.

(Get-EC2Instance ` -InstanceId i-1234567898abcdef0).Instances.MetadataOptions

Exigir o uso de IMDSv2

Use um dos seguintes métodos para modificar as opções de metadados da instância para exigir que o IMDSv2 seja usado ao solicitar metadados da instância. Quando o IMDSv2 for necessário, o IMDSv1 não poderá ser usado.

Console
Para exigir o uso do IMDSv2 em uma instância existente
  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.

  4. Escolha Ações, Configurações da instância e Modificar opções de metadados da instância.

  5. Na caixa de diálogo Modificar opções de metadados da instância, faça o seguinte:

    1. Em Serviço de metadados de instância, selecione Habilitar.

    2. Em IMDSv2, escolha Obrigatório.

    3. Escolha Salvar.

AWS CLI
Para exigir o uso do IMDSv2 em uma instância existente

Use o comando modify-instance-metadata-options da CLI e defina o parâmetro http-tokens como required. Quando você especifica um valor para http-tokens, também deve definir http-endpoint como enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-tokens required \ --http-endpoint enabled
PowerShell
Para exigir o uso do IMDSv2 em uma instância existente

Use o cmdlet Edit-EC2InstanceMetadataOption e defina o parâmetro HttpTokenscomo required. Quando você especifica um valor para HttpTokens, também deve definir HttpEndpoint como enabled.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpTokens required ` -HttpEndpoint enabled).InstanceMetadataOptions

Restaurar o uso do IMDSv1

Quando o IMDSv2 for necessário, o IMDSv1 não funcionará ao solicitar metadados de instância. Quando o IMDSv2 for opcional, tanto o IMDSv2 quanto o IMDSv1 funcionarão. Portanto, para restaurar o IMDSv1, torne o IMDSv2 opcional usando um dos métodos a seguir.

Console
Para restaurar o uso do IMDSv1 em uma 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.

  4. Escolha Ações, Configurações da instância e Modificar opções de metadados da instância.

  5. Na caixa de diálogo Modificar opções de metadados da instância, faça o seguinte:

    1. Em Serviço de metadados de instância, certifique-se de que a opção Habilitar esteja selecionada.

    2. Em IMDSv2, escolha Opcional.

    3. Escolha Salvar.

AWS CLI
Para restaurar o uso do IMDSv1 em uma instância

É possível usar o comando da CLI modify-instance-metadata-options com http-tokens definido como optional para restaurar o uso de IMDSv1 ao solicitar metadados de instância.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-tokens optional \ --http-endpoint enabled
PowerShell
Para restaurar o uso do IMDSv1 em uma instância

Você pode usar o cmdlet Edit-EC2InstanceMetadataOption com o HttpTokens configurado como optional para restaurar o uso do IMDSv1 ao solicitar metadados da instância.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpTokens optional ` -HttpEndpoint enabled).InstanceMetadataOptions

Alterar o limite de salto de resposta PUT

Para instâncias existentes, é possível alterar as configurações do limite de saltos de resposta de PUT.

Atualmente, somente os SDKs AWS CLI e AWS oferecem suporte à alteração do limite de salto de resposta PUT.

AWS CLI
Como alterar o limite de salto de resposta PUT

Use o comando modify-instance-metadata-options da CLI e defina o parâmetro http-put-response-hop-limit como o número de saltos necessário. No exemplo a seguir, o limite de saltos está definido como 3. Observe que ao especificar um valor para http-put-response-hop-limit, também é necessário definir http-endpoint como enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-put-response-hop-limit 3 \ --http-endpoint enabled
PowerShell
Como alterar o limite de salto de resposta PUT

Use o cmdlet Edit-EC2InstanceMetadataOption e defina o parâmetro HttpPutResponseHopLimitpara o número necessário de saltos. No exemplo a seguir, o limite de saltos está definido como 3. Observe que ao especificar um valor para HttpPutResponseHopLimit, também é necessário definir HttpEndpoint como enabled.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpPutResponseHopLimit 3 ` -HttpEndpoint enabled).InstanceMetadataOptions

Habilitar o endpoint de IPv6 para sua instância

Por padrão, o endpoint IPv6 está desabilitado. Isso é verdade mesmo se você tiver iniciado uma instância em uma sub-rede somente IPv6. O endpoint IPv6 para o IMDS pode ser acessado somente em instâncias desenvolvidas no AWS Nitro System.

Atualmente, somente os SDKs AWS CLI e AWS oferecem suporte à ativação do endpoint de IPv6 para sua instância.

AWS CLI
Para habilitar o endpoint de IPv6 para sua instância

Use o comando modify-instance-metadata-options da CLI e defina o parâmetro http-protocol-ipv6 como enabled. Observe que ao especificar um valor para http-protocol-ipv6, também é necessário definir http-endpoint como enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-protocol-ipv6 enabled \ --http-endpoint enabled
PowerShell
Para habilitar o endpoint de IPv6 para sua instância

Use o cmdlet Edit-EC2InstanceMetadataOption e defina o parâmetro HttpProtocolIpv6como enabled. Observe que ao especificar um valor para HttpProtocolIpv6, também é necessário definir HttpEndpoint como enabled.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpProtocolIpv6 enabled ` -HttpEndpoint enabled).InstanceMetadataOptions

Ativar o acesso aos metadados da instância

É possível ativar o acesso aos metadados da instância habilitando o endpoint de HTTP do IMDS na sua instância, independentemente da versão do IMDS que esteja sendo usada. É possível reverter essa alteração a qualquer momento desabilitando o endpoint de HTTP.

Use um dos métodos a seguir para ativar o acesso aos metadados da instância em uma instância.

Console
Para ativar o acesso aos 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 sua instância.

  4. Escolha Ações, Configurações da instância e Modificar opções de metadados da instância.

  5. Na caixa de diálogo Modificar opções de metadados da instância, faça o seguinte:

    1. Em Serviço de metadados de instância, selecione Habilitar.

    2. Escolha Salvar.

AWS CLI
Para ativar o acesso aos metadados da instância

Use o comando modify-instance-metadata-options da CLI e defina o parâmetro http-endpoint como enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-endpoint enabled
PowerShell
Para ativar o acesso aos metadados da instância

Use o cmdlet Edit-EC2InstanceMetadataOption e defina o parâmetro HttpEndpointcomo enabled.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpEndpoint enabled).InstanceMetadataOptions

Desativar o acesso aos metadados da instância

É possível desativar o acesso aos metadados da instância desabilitando o endpoint de HTTP do IMDS na sua instância, independentemente da versão do IMDS que esteja sendo usada. É possível reverte essa alteração a qualquer momento habilitando o HTTP endpoint.

Use um dos métodos a seguir para desativar o acesso aos metadados da instância em uma instância.

Console
Como desabilitar o acesso aos 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 sua instância.

  4. Escolha Ações, Configurações da instância e Modificar opções de metadados da instância.

  5. Na caixa de diálogo Modificar opções de metadados da instância, faça o seguinte:

    1. Em Serviço de metadados de instância, desmarque Habilitar.

    2. Escolha Salvar.

AWS CLI
Como desabilitar o acesso aos metadados da instância

Use o comando modify-instance-metadata-options da CLI e defina o parâmetro http-endpoint como disabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567898abcdef0 \ --http-endpoint disabled
PowerShell
Como desabilitar o acesso aos metadados da instância

Use o cmdlet Edit-EC2InstanceMetadataOption e defina o parâmetro HttpEndpointcomo disabled.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567898abcdef0 ` -HttpEndpoint disabled).InstanceMetadataOptions