Documentos de identidade da instância
Cada instância iniciada tem um documento de identidade da instância que fornece informações sobre a própria instância. É possível usar o documento de identidade da instância para validar os atributos da instância.
O documento de identidade da instância é gerado quando a instância é interrompida e iniciada, reiniciada ou lançada. O documento de identidade da instância é exposto (no formato JSON de texto simples) por meio do Serviço de metadados de instância (IMDS). O endereço IPv4 do 169.254.169.254
é um endereço local de link e é válido apenas a partir da instância. Para obter mais informações, consulte Endereço de link local[fd00:ec2::254]
é um endereço local único e é válido apenas a partir da instância. Para obter mais informações, consulte Endereço local único
nota
Os exemplos nesta seção usam o endereço IPv4 do IMDS: 169.254.169.254
. Se você estiver recuperando metadados de instância para instâncias do EC2 pelo endereço IPv6, certifique-se de habilitar e usar o endereço IPv6: [fd00:ec2::254]
. O endereço IPv6 do IMDS é compatível com comandos IMDSv2. O endereço IPv6 pode ser acessado somente em instâncias desenvolvidas no AWS Nitro System.
É possível recuperar o documento de identidade da instância de uma instância em execução a qualquer momento. O documento de identidade da instância inclui as seguintes informações:
Dados | Descrição |
---|---|
accountId |
O ID da conta da AWS que iniciou a instância. |
architecture |
A arquitetura da AMI usada para iniciar a instância (i386 | x86_64 | arm64). |
availabilityZone |
A zona de disponibilidade na qual a instância está em execução. |
billingProducts |
Os produtos de faturamento da instância. |
devpayProductCodes |
Suspenso. |
imageId |
A ID do AMI usado para executar a instância. |
instanceId |
O ID da instância. |
instanceType |
O tipo de instância da instância. |
kernelId |
O ID do kernel associado à instância, se aplicável. |
marketplaceProductCodes |
O código do produto AWS Marketplace da AMI usada para iniciar a instância. |
pendingTime |
A data e a hora em que a instância foi iniciada. |
privateIp |
O endereço IPv4 privado da instância. |
ramdiskId |
O ID do disco de RAM associado a essa instância, se aplicável. |
region |
A região em que a instância está em execução. |
version |
A versão do formato do documento de identidade da instância. |
Recuperar o documento de identidade da instância de texto sem formatação
Como recuperar o documento de identidade da instância de texto simples
Conecte-se à instância e execute um dos comandos a seguir, dependendo da versão do IMDS usada pela instância.
A seguir, um exemplo de saída.
{
"devpayProductCodes" : null,
"marketplaceProductCodes" : [ "1abc2defghijklm3nopqrs4tu" ],
"availabilityZone" : "us-west-2b",
"privateIp" : "10.158.112.84",
"version" : "2017-09-30",
"instanceId" : "i-1234567890abcdef0",
"billingProducts" : null,
"instanceType" : "t2.micro",
"accountId" : "123456789012",
"imageId" : "ami-5fb8c835",
"pendingTime" : "2016-11-19T16:32:11Z",
"architecture" : "x86_64",
"kernelId" : null,
"ramdiskId" : null,
"region" : "us-west-2"
}
Verifique o documento de identidade da instância
Se você pretende usar o conteúdo do documento de identidade da instância para um propósito importante, deve verificar seu conteúdo e autenticidade antes de usá-lo.
O documento de identidade da instância de texto simples é acompanhado por três assinaturas hash e criptografadas. É possível usar essas assinaturas para verificar a origem e a autenticidade do documento de identidade da instância e as informações incluídas nele. São fornecidas as seguintes assinaturas:
-
Assinatura codificada em base64 – trata-se de um hash SHA256 codificado em base64 do documento de identidade da instância que é criptografado usando um par de chaves RSA.
-
Assinatura PKCS7 – trata-se de um hash SHA1 do documento de identidade da instância que é criptografado usando um par de chaves DSA.
-
Assinatura RSA-2048 – trata-se de um hash SHA256 do documento de identidade da instância que é criptografado usando um par de chaves RSA-2048.
Cada assinatura está disponível em um endpoint diferente nos metadados da instância. É possível usar qualquer uma dessas assinaturas dependendo dos requisitos de hash e criptografia. Para verificar as assinaturas, é necessário usar o certificado público da AWS correspondente.
Os tópicos a seguir fornecem etapas detalhadas para validar o documento de identidade da instância usando cada assinatura.