執行個體身分文件
您啟動的每個執行個體都有一個提供執行個體本身相關資訊的 執行個體身分文件。您可以使用 執行個體身分文件 來驗證執行個體的屬性。
執行個體停止、開始、重新開始或啟動時,會產生執行個體身分文件。執行個體身分文件會透過執行個體中繼資料服務 (IMDS) 公開 (以純文字 JSON 格式)。IPv4 地址 169.254.169.254
是 link-local 地址且僅在執行個體中有效。如需詳細資訊,請參閱維基百科上的 Link-local addressfd00:ec2::254
是唯一本地地址且僅在執行個體中有效。如需詳細資訊,請參閱維基百科上的 Unique local address
注意
本節中的範例使用 IMDS 的 IPv4 地址:169.254.169.254
。如果您要透過 IPv6 地址擷取 EC2 執行個體的執行個體中繼資料,請確定您啟用並改用 IPv6 地址:fd00:ec2::254
。IMDS 的 IPv6 地址與 IMDSv2 命令相容。IPv6 地址只能在 建置在 Nitro 系統上的執行個體 上存取。
您可以隨時從執行中的執行個體擷取 執行個體身分文件。執行個體身分文件 包含了下列資訊:
資料 | 描述 |
---|---|
accountId |
啟動執行個體的 AWS 帳戶 ID。 |
architecture |
用於啟動執行個體 (i386 | x86_64 | arm64) 的 AMI 架構。 |
availabilityZone |
執行個體執行的可用區域。 |
billingProducts |
執行個體的計費產品。 |
devpayProductCodes |
已廢除。 |
imageId |
用來啟動執行個體的 AMI ID。 |
instanceId |
執行個體的 ID。 |
instanceType |
執行個體的執行個體類型。 |
kernelId |
與執行個體相關聯的核心 ID (如適用)。 |
marketplaceProductCodes |
用來啟動執行個體的 AMI AWS Marketplace 產品代碼。 |
pendingTime |
執行個體啟動的日期和時間。 |
privateIp |
執行個體的私有 IPv4 地址。 |
ramdiskId |
與此執行個體相關聯的 RAM 磁碟 ID (如適用)。 |
region |
執行個體執行時所在區域。 |
version |
執行個體身分文件 格式的版本。 |
擷取純文字 執行個體身分文件
要擷取純文字 執行個體身分文件
根據執行個體所使用的 IMDS 版本,連線至執行個體並執行下列其中一個命令。
下列為範例輸出。
{
"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 公有憑證。
下列主題提供使用每個簽章來驗證 執行個體身分文件 的詳細步驟。