Configurar opções de metadados da instância para novas instâncias - Amazon Elastic Compute Cloud

Configurar opções de metadados da instância para novas instâncias

Exigir o uso de IMDSv2

Há várias maneiras de exigir que o IMDSv2 seja usado em uma instância na inicialização, como se segue:

Configurar a instância na inicialização

Quando você inicia uma instância, pode configurá-la para exigir o uso do IMDSv2, configurando os seguintes campos:

  • Console do Amazon EC2: defina Metadata version (Versão de metadados) como V2 only (token required) (Apenas V2 [token obrigatório]).

  • AWS CLI: defina HttpTokens como required.

Quando você especificar que o IMDSv2 é obrigatório, também deverá habilitar o endpoint do serviço de metadados da instância definindo Metadata accessible (Metadados acessíveis) como Enabled (Habilitado) (console) ou HttpEndpoint como enabled (AWS CLI).

New console
Como exigir o uso do IMDSv2 em uma nova instância
  • Ao executar uma nova instância no console do Amazon EC2, expanda Advanced details (Detalhes avançados) e faça o seguinte:

    • Para Metadata acessible (Metadados acessíveis), escolha Enabled (Habilitado).

    • Em Metadata version (Versão de metadados), selecione V2 only (token required) (Apenas V2 [token obrigatório]).

    Para mais informações, consulte Detalhes avançados.

Old console
Como exigir o uso do IMDSv2 em uma nova instância
  • Ao executar uma nova instância no console do Amazon EC2, selecione as seguintes opções na página Configure Instance Details (Configurar detalhes da instância):

    • Em Advanced Details (Detalhes avançados), em Metadata accessible (Metadados acessíveis), selecione Enabled (Habilitado).

    • Em Metadata version (Versão de metadados), selecione V2 (token required) V2 (token obrigatório).

Para mais informações, consulte Etapa 3: configurar detalhes da instância.

AWS CLI
Como exigir o uso do IMDSv2 em uma nova instância

O exemplo de run-instances a seguir executa uma instância c3.large com --metadata-options definido como HttpTokens=required. Quando você especifica um valor para HttpTokens, você também deve definir HttpEndpoint como enabled. Como o cabeçalho de token seguro é definido como required para solicitações de recuperação de metadados, é necessário que a instância use o IMDSv2 ao solicitar metadados da instância.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "HttpEndpoint=enabled,HttpTokens=required"
AWS CloudFormation

Para especificar as opções de metadados de uma instância usando AWS CloudFormation, consulte a propriedade AWS::EC2::LaunchTemplate MetadataOptions no Guia do usuário do AWS CloudFormation.

Configurar a AMI

Quando você registra a AMI, pode definir o parâmetro imds-support como v2.0. As instâncias iniciadas a partir dessa AMI terão Metadata version (Versão de metadados) definido como V2 only (token required) (Apenas V2 [token obrigatório]) (console) ou HttpTokens definido como required (AWS CLI). Com essas configurações, a instância exige que o IMDSv2 seja usado ao solicitar metadados da instância.

Observe que quando você configura imds-support como v2.0, as instâncias iniciadas a partir dessa AMI também têm Metadata response hop limit (Limite de saltos na resposta de metadados) (console) ou http-put-response-hop-limit (AWS CLI) definido como 2.

Para configurar uma AMI para o IMDSv2

O exemplo de register-image a seguir registra uma AMI usando o snapshot especificado de um volume raiz do EBS como /dev/xvda de dispositivo. Especifique v2.0 no parâmetro imds-support de modo que a AMI seja configurada para especificar que as instâncias iniciadas a partir dela exijam o uso do IMDSv2.

aws ec2 register-image \ --name my-image \ --root-device-name /dev/xvda \ --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} \ --imds-support v2.0

Usar uma política do IAM

Também é possível criar uma política do IAM que impeça que os usuários do IAM iniciem novas instâncias, a menos que exijam o IMDSv2 na nova instância.

Para impor o uso do IMDSv2 em todas as novas instâncias usando uma política do IAM

Para garantir que os usuários do IAM podem executar apenas instâncias que usam o IMDSv2 ao solicitar metadados da instância, é possível especificar que a condição para exigir o IMDSv2 deve ser atendida para que uma instância possa ser executada. Para ver um exemplo de política do IAM, consulte Trabalhar com metadados de instância.

Configurar endpoints IPv4 e IPv6

Por padrão, o endpoint IPv6 está desabilitado. Isso é verdade mesmo se você estiver iniciando uma instância em uma sub-rede somente IPv6. Você pode escolher habilitar o endpoint iPv6 na inicialização da instância quando usar a AWS CLI. Essa opção só está disponível no console do Amazon EC2.

O endpoint IPv6 para o serviço de metadados da instância só é acessível em Instâncias criadas no Sistema Nitro.

Configurar endpoints IPv4 e IPv6

O exemplo de run-instances a seguir inicia uma instância t3.large com o endpoint IPv6 habilitado para o serviço de metadados da instância. Para habilitar o endpoint IPv6, no parâmetro --metadata-options, especifique HttpProtocolIpv6=enabled. Quando você especifica um valor para HttpProtocolIpv6, você também deve definir HttpEndpoint como enabled.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type t3.large \ ... --metadata-options "HttpEndpoint=enabled,HttpProtocolIpv6=enabled"

Desativar o acesso aos metadados da instância

Você pode garantir que o acesso aos metadados da instância seja desativado, independentemente da versão do serviço de metadados da instância que você esteja usando. Você pode ativar o acesso posteriormente usando o comando modify-instance-metadata-options.

New console
Como desabilitar o acesso aos metadados da instância
  • Inicie a instância no console do Amazon EC2 com o valor a seguir especificado em Advanced details (Detalhes avançados):

    • Para Metadata acessible (Metadados acessíveis), escolha Disabled (Desabilitado).

Para mais informações, consulte Detalhes avançados.

Old console
Como desabilitar o acesso aos metadados da instância
  • Inicie a instância no console do Amazon EC2 com a opção a seguir selecionada na página Configure Instance Details (Configurar detalhes da instância):

    • Em Advanced Details (Detalhes avançados), em Metadata accessible (Metadados acessíveis), selecione Disabled (Desabilitado).

Para mais informações, consulte Etapa 3: configurar detalhes da instância.

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

Inicie a instância com --metadata-options definido como HttpEndpoint=disabled.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "HttpEndpoint=disabled"
AWS CloudFormation

Para especificar as opções de metadados de uma instância usando AWS CloudFormation, consulte a propriedade AWS::EC2::LaunchTemplate MetadataOptions no Guia do usuário do AWS CloudFormation.