检索 Amazon EC2 实例的实例身份文档 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

检索 Amazon EC2 实例的实例身份文档

Amazon EC2 实例的实例身份文档使用纯文本 JSON 格式。有关实例身份证件内容的描述,请参阅 Amazon EC2 实例的实例身份文档

实例身份文件存储在实例的实例元数据中,属于 instance-identity/document 动态数据类别。您可以通过连接到实例并从实例元数据中进行检索来访问实例的实例身份文档。

您可以使用 IPv4 地址 169.254.169.254 或 IPv6 地址 fd00:ec2::254 访问实例元数据。这些是链接本地地址,表示只能从该实例进行访问。有关更多信息,请参阅 链路本地地址。本页上的示例使用 IMDS 的 IPv4 地址:169.254.169.254。要改为通过 IPv6 检索 EC2 实例的实例元数据,请使用 fd00:ec2::254。

在检索实例身份文档后验证其真实性。有关更多信息,请参阅 验证实例身份文档

检索实例身份文档

连接到实例并运行以下命令,从实例元数据访问实例身份文档。

cURL

IMDSv2

$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document

IMDSv1

$ curl http://169.254.169.254/latest/dynamic/instance-identity/document
PowerShell

IMDSv2

PS C:\> [string]$token = (Invoke-WebRequest -Method Put -Headers @{'X-aws-ec2-metadata-token-ttl-seconds' = '21600'} http://169.254.169.254/latest/api/token).Content
PS C:\> (Invoke-WebRequest -Headers @{'X-aws-ec2-metadata-token' = $Token} http://169.254.169.254/latest/dynamic/instance-identity/document).Content

IMDSv1

PS C:\> (Invoke-WebRequest http://169.254.169.254/latest/dynamic/instance-identity/document).Content

下面是示例输出。

{ "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" }