インスタンスアイデンティティドキュメント - Amazon Elastic Compute Cloud

インスタンスアイデンティティドキュメント

作成する各インスタンスには、インスタンス自体に関する情報を提供するインスタンスアイデンティティドキュメントがあります。インスタンスアイデンティティドキュメントを使用して、インスタンスの属性を検証することができます。

インスタンスアイデンティティドキュメントは、インスタンスが作成されてインスタンスメタデータサービスによって (プレーンテキストの JSON 形式で) 公開されるときに作成されます。インスタンスアイデンティティドキュメントは、実行中のインスタンスからいつでも取得できます。インスタンスアイデンティティドキュメントには、以下の情報が含まれています。

データ 説明
devpayProductCodes

廃止.

marketplaceProductCodes

インスタンスの作成に使用された AMI の AWS Marketplace 製品コード。

availabilityZone

インスタンスが実行されているアベイラビリティーゾーン。

privateIp

インスタンスのプライベート IPv4 アドレス。

version

インスタンスアイデンティティドキュメント形式のバージョン。

instanceId

インスタンスの ID。

billingProducts

インスタンスの作成に使用された AMI の請求製品コード。

instanceType

インスタンスのインスタンスタイプ。

accountId

インスタンスを作成した AWS アカウントの ID。

imageId

インスタンスの起動に使用される AMI の ID。

pendingTime

インスタンスが作成された日時。

architecture

インスタンスの作成に使用された AMI のアーキテクチャ (i386 | x86_64 | arm64)。

kernelId

インスタンスに関連付けられているカーネルの ID (ある場合)。

ramdiskId

インスタンスに関連付けられている RAM ディスクの ID (ある場合)。

region

インスタンスが実行されているリージョン。

プレーンテキストのインスタンスアイデンティティドキュメントの取得

プレーンテキストのインスタンスアイデンティティドキュメントを取得するには

インスタンスに接続し、インスタンスで使用されているインスタンスメタデータサービス (IMDS) のバージョンに応じて、次のいずれかのコマンドを実行します。

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" -v http://169.254.169.254/latest/dynamic/instance-identity/document
IMDSv1
$ curl http://169.254.169.254/latest/dynamic/instance-identity/document

出力例を次に示します。

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

インスタンスアイデンティティドキュメントの検証

インスタンスアイデンティティドキュメントの内容を重要な用途に使用する場合は、使用前にその内容と真正性を検証する必要があります。

プレーンテキストのインスタンスアイデンティティドキュメントには、ハッシュ化および暗号化された署名が 3 つあります。これらの署名を使用して、インスタンスアイデンティティドキュメントの作成元および真正性とそれに含まれている情報を検証できます。提供されている署名は次のとおりです。

  • base64 でエンコードされた署名—RSA キーペアを使用して暗号化されたインスタンスアイデンティティドキュメントの base64 でエンコードされた SHA256 ハッシュです。

  • PKCS7 署名—DSA キーペアを使用して暗号化されたインスタンスアイデンティティドキュメントの SHA1 ハッシュです。

  • RSA-2048 署名—RSA-2048 キーペアを使用して暗号化されたインスタンスアイデンティティドキュメントの SHA256 ハッシュです。

それぞれの署名は、インスタンスメタデータの異なるエンドポイントで取得できます。ハッシュ化と暗号化の要件に応じて、これらの署名のいずれかを使用できます。署名を検証するには、対応する AWS パブリック証明書を使用する必要があります。

重要

base64 でエンコードされた署名または RSA-2048 署名を使用してインスタンスアイデンティティドキュメントを検証するには、AWS サポートに対応する AWS パブリック証明書を要求する必要があります。

以下のトピックでは、それぞれの署名を使用してインスタンスアイデンティティドキュメントを検証するための詳細な手順について説明します。