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 を使用してインスタンスメタデータにアクセスできます。これらはリンクローカルアドレスです。つまり、インスタンスからのみアクセスできます。詳細については、「リンクローカルアドレス」を参照してください。このページの例では、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" }