EC2 Linux インスタンスを特定する
場合によっては、アプリケーションにより EC2 インスタンスで実行されているかどうかを判断する必要があります。
Windows インスタンス特定の詳細については、Windows インスタンスの Amazon EC2 ユーザーガイド の「EC2 Windows インスタンスの特定」を参照してください。
インスタンスアイデンティティドキュメント の検査
EC2 インスタンスを識別する、暗号により確認された確実な方法については、その署名を含めて、インスタンスアイデンティティドキュメントを参照してください。これらのドキュメントは、ローカルのルーティングできないアドレス http://169.254.169.254/latest/dynamic/instance-identity/
の各 EC2 インスタンスで入手できます。詳細については、インスタンスアイデンティティドキュメント を参照してください。
システム UUID の検査
システムの UUID を取得して、UUID の最初のオクテットに「ec2」または「EC2」という文字が存在するかどうかを検索することができます。システムが EC2 インスタンスであるかどうかを判断するこの方法は、EC2 インスタンスではないシステムがこれらの文字で始まる UUID を持つ可能性が低いため、迅速でありながら不正確である可能性があります。で、EC2 インスタンスが Amazon Linux 2 を使用していない場合、SMBIOS のディストリビューションの実装については、リトルエンディアン形式で UUID を表すことがあるため、"EC2" の文字列は UUID の先頭には使用されません。
例 : DMI から UUID を取得 (HVM AMI のみ)
デスクトップ管理インターフェイス (DMI) を使用して UUID を取得するには、次のコマンドを使用します。
[ec2-user ~]$
sudo dmidecode --string system-uuid
次の出力例では、UUID は「EC2」で始まりますが、これは多くの場合システムが EC2 インスタンスであることを示しています。
EC2E1916-9099-7CAF-FD21-012345ABCDEF
次の出力例では、UUID がリトルエンディアン形式で表されています。
45E12AEC-DCD1-B213-94ED-012345ABCDEF
別の方法として、Nitro システムに構築されたインスタンスの場合には、次のコマンドを使用できます。
[ec2-user ~]$
cat /sys/devices/virtual/dmi/id/board_asset_tag
次の例のように出力がインスタンス ID となる場合、そのシステムは EC2 インスタンスです。
i-0af01c0123456789a
例 : ハイパーバイザーから UUID を取得 (PV AMI のみ)
次のコマンドを使用して、ハイパーバイザーから UUID を取得します。
[ec2-user ~]$
cat /sys/hypervisor/uuid
次の出力例では、UUID は「ec2」で始まりますが、これは多くの場合システムが EC2 インスタンスであることを示しています。
ec2e1916-9099-7caf-fd21-012345abcdef
システムの仮想マシン生成識別子を調べる
仮想マシン生成識別子は、暗号化ランダム整数識別子として解釈される 128 ビットの一意のバッファで構成されます。仮想マシン生成識別子を取得すると、Amazon Elastic Compute Cloud インスタンスを識別できます。生成識別子は、ACPI テーブルエントリを介してインスタンスのゲストオペレーティングシステム内に公開されています。AWS にマシンをクローン、コピー、またはインポートすると、値は VM Import/Export などに変わります。
例 : Linux から仮想マシン生成識別子を取得する
次のコマンドを使用して、Linux を実行しているインスタンスから仮想マシン生成識別子を取得できます。