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.

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.

nota

Antes de exigir que o IMDSv2 seja usado, certifique-se de que a instância não esteja fazendo chamadas do IMDSv1. A métrica MetadataNoToken do CloudWatch rastreia as chamadas do IMDSv1. Quando MetadataNoToken registra zero uso do IMDSv1 para uma instância, a instância está pronta para exigir o IMDSv2.

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 os endpoints IPv4 e IPv6 do IMDS

O IMDS tem dois endpoints em uma instância: IPv4 (169.254.169.254) e IPv6 ([fd00:ec2::254]). Quando você habilita o IMDS, o endpoint IPv4 é habilitado automaticamente. O endpoint IPv6 permanece desabilitado mesmo que você inicie uma instância em uma sub-rede IPv6 apenas. Para habilitar o endpoint IPv6, você precisa fazer isso explicitamente. Quando você habilita o endpoint IPv6, o endpoint IPv4 permanece habilitado.

Você pode habilitar o endpoint iPv6 ao iniciar a instância ou posteriormente.

Requisitos para habilitação do endpoint iPv6

Atualmente, apenas a AWS CLI e os SDKs da AWS são compatíveis com a habilitação do endpoint IPv6 do IMDS após a inicialização da instância.

AWS CLI
Para habilitar o endpoint de IPv6 do IMDS para a 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 do IMDS para a 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