インスタンスメタデータを使用して EC2 インスタンスを管理する
インスタンスメタデータは、インスタンスに関するデータで、実行中のインスタンスを設定または管理するために使用します。インスタンスメタデータには、以下が含まれます。
- インスタンスメタデータのプロパティ
-
インスタンスメタデータのプロパティは、ホスト名、イベント、およびセキュリティグループなどでカテゴリ分けされます。
- 動的データ
-
動的データは、インスタンスアイデンティティドキュメントなど、インスタンスの起動時に生成されるメタデータです。詳細については、「動的データのカテゴリ」を参照してください。
- ユーザーデータ
-
インスタンスメタデータを使用して、インスタンスの起動時に指定したユーザーデータにアクセスすることもできます。例えば、インスタンスを設定するためにパラメータを指定したり、単純なスクリプトを含めたりすることができます。汎用 AMI を構築し、ユーザーデータを使用して起動時に提供された設定ファイルを変更することができます。例えば、さまざまな小規模ビジネスを対象としたウェブサーバーを実行する場合に、すべてのサーバーで同じ汎用 AMI を使用し、起動時にユーザーデータで指定した Amazon S3 バケットからコンテンツを取得できます。随時新規顧客を追加するには、顧客のバケットを作成し、そのコンテンツを追加し、ユーザーデータのコードに提供された固有のバケット名を使って AMI を起動します。同じ
RunInstances
呼び出しを使用して複数のインスタンスを起動する場合、ユーザーデータはその予約においてすべてのインスタンスで使用可能です。同じリザベーションの一部である各インスタンスには固有のami-launch-index
番号があるため、インスタンスが実行する操作を制御するコードを書くことができます。例えば、最初のホストはクラスター内の最初のノードとしてそれ自体を選択する場合があります。詳細な AMI 起動の例については、「1 つのリクエストで起動された各インスタンスを特定する」を参照してください。
重要
インスタンスメタデータおよびユーザーデータにはそのインスタンス自体内からのみアクセスできるものの、データは認証または暗号化手法によって保護されていません。インスタンス、そしてインスタンス上で実行される任意のソフトウェアに対して直接アクセス権がある可能性がある人は、メタデータを表示できます。そのため、パスワードまたは存続期間の長い暗号化キーなどの機密データは、ユーザーデータとして保管しないようにしてください。
内容
インスタンスメタデータのカテゴリ
インスタンスメタデータプロパティはいくつかのカテゴリに分けられます。インスタンスメタデータのプロパティを取得するには、リクエストでカテゴリを指定します。すると、メタデータがレスポンスで返されます。
新しいカテゴリがリリースされると、新しいインスタンスメタデータビルドが新しいバージョン番号で作成されます。次の表では、[Version when category was released] (カテゴリがリリースされたときのバージョン) 列が、インスタンスメタデータカテゴリがリリースされたときのビルドバージョンを指定しています。Amazon EC2 が新しいインスタンスメタデータビルドをリリースするたびにコードを更新する必要をなくすために、メタデータリクエストのバージョン番号の代わりに、latest
を使用することが推奨されます。詳細については、使用できるインスタンスメタデータのバージョンを取得する を参照してください。
Amazon EC2 が新しいインスタンスメタデータカテゴリをリリースすると、新しいカテゴリのインスタンスメタデータが既存のインスタンスで使用できなくなる場合があります。Nitro ベースのインスタンスでは、起動時に用意されたカテゴリのインスタンスメタデータのみが取得可能です。Xen ハイパーバイザーを使用するインスタンスの場合は、一度停止した後に開始することで、そのインスタンスで使用可能なカテゴリを更新できます。
次の表は、インスタンスメタデータのカテゴリをまとめたものです。カテゴリ名のいくつかには、インスタンスに固有のデータのためのプレースホルダーが含まれています。例えば、mac
はネットワークインターフェイスの MAC アドレスを表します。インスタンスメタデータを取得する際には、プレースホルダーを実際の値に置き換える必要があります。
カテゴリ | 説明 | カテゴリがリリースされたときのバージョン |
---|---|---|
ami-id
|
インスタンスの起動に使用される AMI ID。 | 1.0 |
ami-launch-index
|
同じ RunInstances 呼び出しを使用して複数のインスタンスを起動する場合、この値は各インスタンスの起動順序を示します。最初に起動されたインスタンスの値は 0 です。Auto Scaling または EC2 フリートを使用してインスタンスを起動する場合、この値は常に 0 です。 |
1.0 |
ami-manifest-path
|
Amazon S3 での AMI のマニフェストファイルのパス。Amazon EBS-backed AMI を使用してインスタンスを起動した場合、返される結果は unknown です。 |
1.0 |
ancestor-ami-ids
|
この AMI を作成するために再バンドルされたあらゆるインスタンスの AMI ID。この値は、AMI マニフェストファイルが ancestor-amis キーを含む場合にのみ存在します。 |
2007-10-10 |
autoscaling/target-lifecycle-state |
Auto Scaling インスタンスの移行先となる、ターゲットの Auto Scaling ライフサイクルの状態を示す値。2022 年 3 月 10 日以降、インスタンスがターゲットのライフサイクル状態の 1 つに移行したときに表示されます。使用できる値: |
2021-07-15 |
block-device-mapping/ami
|
root/boot ファイルシステムを含む仮想デバイス。 | 2007-12-15 |
block-device-mapping/ebs N |
任意の Amazon EBS ボリュームに関連付けられた仮想デバイス。Amazon EBS ボリュームは、起動の時点、またはインスタンスが最後に開始された時点で存在している場合にのみ、メタデータで使用できます。N は、Amazon EBS ボリュームのインデックス (ebs1 や ebs2 など) を示します。 |
2007-12-15 |
block-device-mapping/ephemeral N |
非 NVMe インスタンスストアボリュームの仮想デバイス。N は、各ボリュームのインデックスを示します。ブロックデバイスマッピングのインスタンスストアボリュームの数は、インスタンスのインスタンスストアボリュームの実際の数に一致しない場合があります。インスタンスに使用可能なインスタンスストアボリュームの数は、インスタンスタイプによって決定されます。ブロックデバイスマッピングのインスタンスストアボリュームの数が、インスタンスに利用可能な数を超える場合、追加のインスタンスストアボリュームは無視されます。 | 2007-12-15 |
block-device-mapping/root
|
ルートデバイスに関連付けられた仮想デバイスまたはパーティション、あるいは仮想デバイス上のパーティション。ルート (/ または C:) ファイルシステムは、所定のインスタンスに関連付けられています。 | 2007-12-15 |
block-device-mapping/swap
|
swap に関連付けられた仮想デバイス。存在しない場合もあります。 |
2007-12-15 |
elastic-gpus/associations/ |
インスタンスにアタッチされている Elastic GPU がある場合、その ID と接続情報を含めた Elastic GPU に関する情報の JSON 文字列が含まれます。 | 2016-11-30 |
elastic-inference/associations/ |
インスタンスにアタッチされた Elastic Inference アクセラレーターがある場合、その ID とタイプを含めた Elastic Inference アクセラレーターに関する情報の JSON 文字列が含まれます。 | 2018-11-29 |
events/maintenance/history |
インスタンスの完了またはキャンセルされたメンテナンスイベントがある場合は、イベントに関する情報を含む JSON 文字列を含みます。 | 2018-08-17 |
events/maintenance/scheduled |
インスタンスがアクティブなメンテナンスイベントがある場合は、イベントに関する情報を含む JSON 文字列を含みます。詳細については、Amazon EC2 インスタンスに影響する予定されているイベントの表示 を参照してください。 | 2018-08-17 |
events/recommendations/rebalance |
EC2 インスタンスの再調整推奨通知がインスタンスに対して送信されるおおよその時間 (UTC)。このカテゴリのメタデータの例を次に示します。{"noticeTime":
"2020-11-05T08:22:00Z"} このカテゴリは、通知が発された後にのみ使用できます。詳細については、「EC2 インスタンスの再調整に関する推奨事項」を参照してください。 |
2020-10-27 |
hostname |
EC2 インスタンスが IP ベースの命名 (IPBN) を使用している場合、これはインスタンスのプライベート IPv4 DNS ホスト名です。EC2 インスタンスがリソースベースの命名 (RBN) を使用している場合、これは RBN です。複数のネットワークインターフェイスが存在する場合、これは eth0 デバイス (デバイス番号が 0 のデバイス) を示します。IPBN と RBN の詳細については、「Amazon EC2 インスタンスのホスト名タイプ」を参照してください。 | 1.0 |
iam/info
|
インスタンスに関連付けられた IAM ロールがある場合、インスタンスの LastUpdated の日付、InstanceProfileArn、InstanceProfileId など、インスタンスプロファイルが更新された最終時刻に関する情報が格納されます。そうでない場合は、なしになります。 | 2012-01-12 |
iam/security-credentials/
|
インスタンスに関連付けられた IAM ロールがある場合、role-name はロールの名前になり、role-name に、そのロールに関連付けられた一時的なセキュリティ認証情報が格納されます (詳細については、「インスタンスメタデータからのセキュリティ認証情報の取得」を参照してください)。そうでない場合は、なしになります。 |
2012-01-12 |
identity-credentials/ec2/info |
identity-credentials/ec2/security-credentials/ec2-instance の認証情報に関する情報。 |
2018-05-23 |
identity-credentials/ec2/security-credentials/ec2-instance |
インスタンス上のソフトウェアが自身を AWS に識別し、EC2 Instance Connect や AWS Systems Manager デフォルトのホスト管理設定などの機能をサポートできるようにするインスタンスアイデンティティロール用の認証情報。これらの認証情報にはポリシーがアタッチされていないため、AWS 機能に対してインスタンスを識別する以外に追加の AWS API 許可はありません。詳細については、「Amazon EC2 インスタンスのインスタンスアイデンティティロール」を参照してください。 | 2018-05-23 |
instance-action |
バンドルの準備のために再起動する必要があることをインスタンスに伝えます。有効な値: none | shutdown |
bundle-pending 。 |
2008-09-01 |
instance-id |
このインスタンスの ID。 | 1.0 |
instance-life-cycle |
このインスタンスの購入オプション。詳細については、Amazon EC2 の請求および購入オプション を参照してください。 | 2019-10-01 |
instance-type
|
インスタンスの種類。詳細については、Amazon EC2 インスタンスタイプ を参照してください。 | 2007-08-29 |
ipv6
|
インスタンスの IPv6 アドレス。複数のネットワークインターフェイスが存在する場合、これは eth0 デバイス (デバイス番号が 0 のデバイス) のネットワークインターフェイスおよび最初に割り当てられた IPv6 アドレスを示します。ネットワークインターフェイス [0] に IPv6 アドレスが存在しない場合、この項目は設定されず、HTTP 404 応答が返されます。 | 2021-01-03 |
kernel-id
|
このインスタンスで起動したカーネルの ID (ある場合)。 | 2008-02-01 |
local-hostname
|
複数のネットワークインターフェイスが存在する場合、これは eth0 デバイス (デバイス番号が 0 のデバイス) を示します。EC2 インスタンスが IP ベースの命名 (IPBN) を使用している場合、これはインスタンスのプライベート IPv4 DNS ホスト名です。EC2 インスタンスがリソースベースの命名 (RBN) を使用している場合、これは RBN です。IPBN、RBN、および EC2 インスタンスの命名の詳細については、「Amazon EC2 インスタンスのホスト名タイプ」を参照してください。 | 2007-01-19 |
local-ipv4
|
インスタンスのプライベート IPv4 アドレス。複数のネットワークインターフェイスが存在する場合、これは eth0 デバイス (デバイス番号が 0 のデバイス) を示します。これが IPv6 専用インスタンスの場合、この項目は設定されず、HTTP 404 応答が返されます。 | 1.0 |
mac
|
インスタンスのメディアアクセスコントロール (MAC) アドレス。複数のネットワークインターフェイスが存在する場合、これは eth0 デバイス (デバイス番号が 0 のデバイス) を示します。 | 2011-01-01 |
metrics/vhostmd |
使用不可 | 2011-05-01 |
network/interfaces/macs/
|
そのインターフェイスに関連付けられた固有のデバイス番号。デバイス番号はデバイス名に対応します。例えば、2 という device-number は eth2 デバイスを指します。このカテゴリは、Amazon EC2 API で使用される DeviceIndex フィールドと device-index フィールド、および AWS CLI の EC2 コマンドに対応します。 |
2011-01-01 |
network/interfaces/macs/
|
ネットワークインターフェイスの ID。 | 2011-01-01 |
network/interfaces/macs/
|
各パブリック IP アドレスに関連付けられ、そのインターフェイスに割り当てられたプライベート IPv4 アドレス。 | 2011-01-01 |
network/interfaces/macs/ |
インターフェイスに割り当てられた IPv6 アドレス。 | 2016-06-30 |
network/interfaces/macs/ |
ネットワークインターフェイスに割り当てられた IPv6 プレフィクス。 | |
network/interfaces/macs/
|
インスタンスのプライベート IPv4 DNS ホスト名。複数のネットワークインターフェイスが存在する場合、これは eth0 デバイス (デバイス番号が 0 のデバイス) を示します。これが IPv6 専用インスタンスの場合、これはリソースベースの名前です。IPBN と RBN の詳細については、「Amazon EC2 インスタンスのホスト名タイプ」を参照してください。 |
2007-01-19 |
network/interfaces/macs/
|
インターフェイスに関連付けられたプライベート IPv4 アドレス。これが IPv6 専用のネットワークインターフェイスである場合、この項目は設定されず、HTTP 404 応答が返されます。 | 2011-01-01 |
network/interfaces/macs/
|
インスタンスの MAC アドレス。 | 2011-01-01 |
network/interfaces/macs/
|
ネットワークカードのインデックス。インスタンスタイプによっては、複数のネットワークカードがサポートされているものもあります。 | 2020 年 11 月 1 日 |
network/interfaces/macs/
|
ネットワークインターフェイスの所有者の ID。複数インターフェイスの環境では、インターフェイスは Elastic Load Balancing などのサードパーティによってアタッチできます。インターフェイス上のトラフィックは、常にインターフェイス所有者に対して課金されます。 | 2011-01-01 |
network/interfaces/macs/
|
インターフェイスのパブリック DNS (IPv4)。このカテゴリは、enableDnsHostnames 属性が true に設定されている場合にのみ返されます。詳細については、Amazon VPC ユーザーガイドの「DNS attributes for your VPC」(VPC の DNS 属性) を参照してください。インスタンスにパブリック IPv6 アドレスのみがあり、パブリック IPv4 アドレスがない場合、この項目は設定されず、HTTP 404 応答が返されます。 |
2011-01-01 |
network/interfaces/macs/
|
インターフェイスに関連付けられたパブリック IP アドレスまたは Elastic IP アドレス。インスタンスには複数の IPv4 アドレスが存在する場合があります。 | 2011-01-01 |
network/interfaces/macs/
|
ネットワークインターフェイスが属するセキュリティグループ。 | 2011-01-01 |
network/interfaces/macs/
|
ネットワークインターフェイスが属するセキュリティグループの ID。 | 2011-01-01 |
network/interfaces/macs/
|
インターフェイスが存在するサブネットの ID。 | 2011-01-01 |
network/interfaces/macs/
|
インターフェイスが存在するサブネットの IPv4 CIDR ブロック。 | 2011-01-01 |
network/interfaces/macs/
|
インターフェイスが存在するサブネットの IPv6 CIDR ブロック。 | 2016-06-30 |
network/interfaces/macs/
|
インターフェイスが存在する VPC の ID。 | 2011-01-01 |
network/interfaces/macs/ |
VPC のプライマリ IPv4 CIDR ブロック。 | 2011-01-01 |
network/interfaces/macs/ |
VPC の IPv4 CIDR ブロック。 | 2016-06-30 |
network/interfaces/macs/ |
インターフェイスが存在する VPC の IPv6 CIDR ブロック。 | 2016-06-30 |
placement/availability-zone |
インスタンスが起動した利用可能ゾーン。 | 2008-02-01 |
placement/availability-zone-id |
インスタンスが起動される静的アベイラビリティーゾーンの ID。このアベイラビリティーゾーン ID は、アカウント間で一貫しています。ただし、アベイラビリティーゾーンとは異なる場合があります (アベイラビリティーゾーンはアカウントによって異なります)。 | 2019-10-01 |
placement/group-name
|
インスタンスが起動されるプレイスメントグループの名前。 | 2020-08-24 |
placement/host-id
|
インスタンスが起動されるホストの ID。Dedicated Hosts にのみ適用されます。 | 2020-08-24 |
placement/partition-number
|
インスタンスが起動されるパーティションの番号。 | 2020-08-24 |
placement/region
|
インスタンスが起動される AWS リージョン。 | 2020-08-24 |
product-codes
|
インスタンスに関連付けられた AWS Marketplace 製品コード (ある場合)。 | 2007-03-01 |
public-hostname
|
インスタンスのパブリック DNS (IPv4)。このカテゴリは、enableDnsHostnames 属性が true に設定されている場合にのみ返されます。詳細については、Amazon VPC ユーザーガイドの「DNS attributes for your VPC」(VPC の DNS 属性) を参照してください。インスタンスにパブリック IPv6 アドレスのみがあり、パブリック IPv4 アドレスがない場合、この項目は設定されず、HTTP 404 応答が返されます。 |
2007-01-19 |
public-ipv4
|
パブリック IPv4 アドレス。インスタンスに Elastic IP アドレスが関連付けられている場合、返される値は Elastic IP アドレスです。 | 2007-01-19 |
public-keys/0/openssh-key
|
パブリックキー。インスタンスの起動時に指定された場合のみ返されます。 | 1.0 |
ramdisk-id
|
起動時に指定された RAM ディスクの ID (該当する場合)。 | 2007-10-10 |
reservation-id
|
予約の ID。 | 1.0 |
security-groups
|
インスタンスに適用されるセキュリティグループの名前。 起動後、インスタンスのセキュリティグループを変更できます。これらの変更は、この場所と network/interfaces/macs/ |
1.0 |
services/domain
|
リージョンのAWSリソースのドメイン。 |
2014-02-25 |
services/partition
|
リソースが置かれているパーティションです。標準の AWS リージョンの場合、パーティションは |
2015-10-20 |
spot/instance-action
|
アクション (休止、停止、または終了) およびアクションのおよその発生時刻 (UTC)。この項目が存在するのは、スポットインスタンスが休止、停止、または終了のためにマークされた場合のみです。詳細については、instance-action を参照してください。 |
2016-11-15 |
spot/termination-time
|
スポットインスタンスで使用しているオペレーティングシステムが、シャットダウン信号を受信するおよその時刻 (UTC)。この項目は、スポットインスタンスに対し Amazon EC2 による終了のマークが付けられている場合にのみ存在し、時刻値 (例えば 2015-01-05T18:02:00Z) が含まれます。ユーザー自身がスポットインスタンスを終了した場合、termination-time 項目に時刻は記述されません。詳細については、termination-time を参照してください。 |
2014-11-05 |
tags/instance |
インスタンスに関連付けられるインスタンスタグ。インスタンスメタデータのタグへのアクセスを明示的に許可した場合のみ使用できます。詳細については、インスタンスメタデータのタグへのアクセスを許可する を参照してください。 | 2021-03-23 |
動的データのカテゴリ
次の表は、動的データのカテゴリをまとめたものです。
カテゴリ | 説明 | カテゴリがリリースされたときのバージョン |
---|---|---|
fws/instance-monitoring
|
顧客が CloudWatch で詳細な 1 分間隔のモニタリングを有効にしているかどうかを示す値。有効な値: enabled |
disabled |
2009-04-04 |
instance-identity/document
|
インスタンス ID、プライベート IP アドレスなど、インスタンスの属性を含む JSON。「Amazon EC2 インスタンスのインスタンスアイデンティティドキュメント」を参照してください。 | 2009-04-04 |
instance-identity/pkcs7
|
署名に対してドキュメントの真正性およびコンテンツを確認するために使用されます。「Amazon EC2 インスタンスのインスタンスアイデンティティドキュメント」を参照してください。 | 2009-04-04 |
instance-identity/signature
|
オリジンおよび権限を確認するために使用できるデータ。「Amazon EC2 インスタンスのインスタンスアイデンティティドキュメント」を参照してください。 | 2009-04-04 |