擷取 Amazon 執行個體的EC2執行個體身分文件 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

擷取 Amazon 執行個體的EC2執行個體身分文件

Amazon 執行個體的EC2執行個體身分文件使用純文字JSON格式。如需執行個體身分文件內容的說明,請參閱 Amazon 執行個體的EC2執行個體身分文件

執行個體身分文件會儲存在instance-identity/document動態資料類別中執行個體的執行個體中繼資料中。您可以透過連線至執行個體並從執行個體中繼資料擷取執行個體,來存取執行個體的執行個體身分文件。

您可以使用 IPv4地址存取執行個體中繼資料 169.254.169.254 或IPv6地址 fd00:ec2::254。 這些是連結本機地址,這表示您只能從執行個體存取這些地址。如需詳細資訊,請參閱Link-local 地址。本頁面上的範例使用 IPv4的地址IMDS: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" }