執行個體身分文件 - Amazon Elastic Compute Cloud

執行個體身分文件

您啟動的每個執行個體都有一個提供執行個體本身相關資訊的 執行個體身分文件。您可以使用 執行個體身分文件 來驗證執行個體的屬性。

執行個體停止、開始、重新開始或啟動時,會產生執行個體身分文件。執行個體身分文件會透過執行個體中繼資料服務公開 (以純文字 JSON 格式)。IPv4 地址 169.254.169.254 是 link-local 地址且僅在執行個體中有效。如需詳細資訊,請參閱維基百科上的 Link-local address。IPv6 地址 fd00:ec2::254 是唯一本地地址且僅在執行個體中有效。如需詳細資訊,請參閱維基百科上的 Unique local address (唯一本地地址)。

注意

本節中的範例使用執行個體中繼資料服務的 IPv4 地址:169.254.169.254。如果您要透過 IPv6 地址擷取 EC2 執行個體的執行個體中繼資料,請確定您啟用並改用 IPv6 地址:fd00:ec2::254。執行個體中繼資料服務的 IPv6 地址與 IMDSv2 命令相容。IPv6 地址只能在 建置在 Nitro 系統上的執行個體 上存取。

您可以隨時從執行中的執行個體擷取 執行個體身分文件。執行個體身分文件 包含了下列資訊:

資料 描述
devpayProductCodes

已廢除.

marketplaceProductCodes

用來啟動執行個體的 AMI AWS Marketplace 產品代碼。

availabilityZone

執行個體執行的可用區域。

privateIp

執行個體的私有 IPv4 地址。

version

執行個體身分文件 格式的版本。

instanceId

執行個體的 ID。

billingProducts

執行個體的計費產品。

instanceType

執行個體的執行個體類型。

accountId

啟動執行個體的 AWS 帳戶 ID。

imageId

用來啟動執行個體的 AMI ID。

pendingTime

執行個體啟動的日期和時間。

architecture

用於啟動執行個體 (i386 | x86_64 | arm64) 的 AMI 架構。

kernelId

與執行個體相關聯的核心 ID (如適用)。

ramdiskId

與此執行個體相關聯的 RAM 磁碟 ID (如適用)。

region

執行個體執行時所在區域。

擷取純文字 執行個體身分文件

要擷取純文字 執行個體身分文件

根據執行個體所使用的執行個體中繼資料服務 (IMDS) 版本,連線至執行個體並執行下列其中一個命令。

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

驗證 執行個體身分文件

如果您打算將 執行個體身分文件 的內容用於重要目的,您應該在使用它之前驗證其內容與真實性。

純文字 執行個體身分文件 會伴隨著三個雜湊和加密的簽章。您可以使用這些簽章來驗證 執行個體身分文件 的來源和真實性及其包含的資訊。提供的簽章如下:

  • Base64 編碼的簽章 – 此為使用 RSA 金鑰對加密之執行個體身分文件的 base64 編碼 SHA256 雜湊。

  • PKCS7 簽章 – 此為使用 DSA 金鑰對加密的 執行個體身分文件 SHA1 雜湊。

  • RSA-2048 簽章 – 此為使用 RSA-2048 金鑰對加密的執行個體身分文件 SHA256 雜湊。

每個簽章都可以在執行個體中繼資料的不同端點上使用。您可以根據您的雜湊和加密需求使用任何一個簽章。若要驗證簽章,您必須使用對應的 AWS 公有憑證。

下列主題提供使用每個簽章來驗證 執行個體身分文件 的詳細步驟。