インスタンスメタデータを使用して EC2 インスタンスを管理する - Amazon Elastic Compute Cloud

インスタンスメタデータを使用して 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 つに移行したときに表示されます。使用できる値: Detached|InService|Standby|Terminated|Warmed:Hibernated|Warmed:Running|Warmed:Stopped|Warmed:TerminatedAmazon EC2 Auto Scaling ユーザーガイド」の「インスタンスメタデータを使用してターゲットライフサイクル状態を取得する」を参照してください。

2021-07-15
block-device-mapping/ami root/boot ファイルシステムを含む仮想デバイス。 2007-12-15
block-device-mapping/ebsN 任意の Amazon EBS ボリュームに関連付けられた仮想デバイス。Amazon EBS ボリュームは、起動の時点、またはインスタンスが最後に開始された時点で存在している場合にのみ、メタデータで使用できます。N は、Amazon EBS ボリュームのインデックス (ebs1ebs2 など) を示します。 2007-12-15
block-device-mapping/ephemeralN 非 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 がある場合、その ID と接続情報を含めた Elastic GPU に関する情報の JSON 文字列が含まれます。 2016-11-30
elastic-inference/associations/eia-id インスタンスにアタッチされた 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/role-name インスタンスに関連付けられた 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/mac/device-number そのインターフェイスに関連付けられた固有のデバイス番号。デバイス番号はデバイス名に対応します。例えば、2 という device-number は eth2 デバイスを指します。このカテゴリは、Amazon EC2 API で使用される DeviceIndex フィールドと device-index フィールド、および AWS CLI の EC2 コマンドに対応します。 2011-01-01
network/interfaces/macs/mac/interface-id ネットワークインターフェイスの ID。 2011-01-01
network/interfaces/macs/mac/ipv4-associations/public-ip 各パブリック IP アドレスに関連付けられ、そのインターフェイスに割り当てられたプライベート IPv4 アドレス。 2011-01-01
network/interfaces/macs/mac/ipv6s インターフェイスに割り当てられた IPv6 アドレス。 2016-06-30
network/interfaces/macs/mac/ipv6-prefix ネットワークインターフェイスに割り当てられた IPv6 プレフィクス。
network/interfaces/macs/mac/local-hostname

インスタンスのプライベート IPv4 DNS ホスト名。複数のネットワークインターフェイスが存在する場合、これは eth0 デバイス (デバイス番号が 0 のデバイス) を示します。これが IPv6 専用インスタンスの場合、これはリソースベースの名前です。IPBN と RBN の詳細については、「Amazon EC2 インスタンスのホスト名タイプ」を参照してください。

2007-01-19
network/interfaces/macs/mac/local-ipv4s インターフェイスに関連付けられたプライベート IPv4 アドレス。これが IPv6 専用のネットワークインターフェイスである場合、この項目は設定されず、HTTP 404 応答が返されます。 2011-01-01
network/interfaces/macs/mac/mac インスタンスの MAC アドレス。 2011-01-01
network/interfaces/macs/mac/network-card ネットワークカードのインデックス。インスタンスタイプによっては、複数のネットワークカードがサポートされているものもあります。 2020 年 11 月 1 日
network/interfaces/macs/mac/owner-id ネットワークインターフェイスの所有者の ID。複数インターフェイスの環境では、インターフェイスは Elastic Load Balancing などのサードパーティによってアタッチできます。インターフェイス上のトラフィックは、常にインターフェイス所有者に対して課金されます。 2011-01-01
network/interfaces/macs/mac/public-hostname インターフェイスのパブリック DNS (IPv4)。このカテゴリは、enableDnsHostnames 属性が true に設定されている場合にのみ返されます。詳細については、Amazon VPC ユーザーガイドの「DNS attributes for your VPC」(VPC の DNS 属性) を参照してください。インスタンスにパブリック IPv6 アドレスのみがあり、パブリック IPv4 アドレスがない場合、この項目は設定されず、HTTP 404 応答が返されます。 2011-01-01
network/interfaces/macs/mac/public-ipv4s インターフェイスに関連付けられたパブリック IP アドレスまたは Elastic IP アドレス。インスタンスには複数の IPv4 アドレスが存在する場合があります。 2011-01-01
network/interfaces/macs/mac/security-groups ネットワークインターフェイスが属するセキュリティグループ。 2011-01-01
network/interfaces/macs/mac/security-group-ids ネットワークインターフェイスが属するセキュリティグループの ID。 2011-01-01
network/interfaces/macs/mac/subnet-id インターフェイスが存在するサブネットの ID。 2011-01-01
network/interfaces/macs/mac/subnet-ipv4-cidr-block インターフェイスが存在するサブネットの IPv4 CIDR ブロック。 2011-01-01
network/interfaces/macs/mac/subnet-ipv6-cidr-blocks インターフェイスが存在するサブネットの IPv6 CIDR ブロック。 2016-06-30
network/interfaces/macs/mac/vpc-id インターフェイスが存在する VPC の ID。 2011-01-01
network/interfaces/macs/mac/vpc-ipv4-cidr-block VPC のプライマリ IPv4 CIDR ブロック。 2011-01-01
network/interfaces/macs/mac/vpc-ipv4-cidr-blocks VPC の IPv4 CIDR ブロック。 2016-06-30
network/interfaces/macs/mac/vpc-ipv6-cidr-blocks インターフェイスが存在する 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/mac/security-groups に反映されます。

1.0
services/domain

リージョンのAWSリソースのドメイン。

2014-02-25
services/partition

リソースが置かれているパーティションです。標準の AWS リージョンの場合、パーティションは aws です。他のパーティションにリソースがある場合、パーティションは aws-partitionname です。例えば、中国 (北京) リージョンにあるリソースのパーティションは、aws-cn です。

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