EC2インタンスのメタデータ一覧と powershell での取得コマンド

このページでは Windows インスタンスにおけるメタデータの一覧、および Windows Powershell での値の取得方法に関して説明します。その他 curl で取得する方法もありますがこのページでは省略しています。コマンドプロンプトから実行すると環境変数に代入されます。実行はEC2 インスタンスのローカルから実行してください。リモートからは取得できません。

(*)全ては網羅していません。日々追加される可能性がありますが、基本的に更新していません。



メタデータ 意味 Windows
ami-id ami のID PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/ami-id
ami-launch-index Launch グループにおける各インスタンスの番号。0から始まる。予約IDは同じになり、インスタンスIDは異なるIDとなり、launch-indexは0,1,2,3・・・となる。
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/ami-launch-index
ami-manifest-path PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/ami-manifest-path
block-device-mapping/ami ami がマップされたデバイスを表示する。 PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/block-device-mapping/ami
block-device-mapping/root ルートのデバイスを表示する。 PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/block-device-mapping/root
hostname AWS におけるDNS名 PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/hostname
iam/info PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/iam/info
iam/security-credentials/CloudWatchAccess アタッチされたロールのクレデンシャル
(*)秘密鍵あり、実行する場合は要注意。結果の公開は厳禁。
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/<ロール名>
instance-action PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/instance-action
instance-id インスタンスID PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/instance-id
instance-type インスタンスのタイプ。t2.micro など。 PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/instance-type
local-hostname PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/local-hostname
local-ipv4 ローカルの IP アドレス。インスタンスが認識しているアドレス。Ipconfig や ifconfig で表示される。
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/local-ipv4
mac MACアドレス PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac
metrics/ PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/metrics/vhostmd
network/interfaces/macs/%MACADDR%/device-number for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/device-number
network/interfaces/macs/%MACADDR%/interface-id for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/interface-id
network/interfaces/macs/%MACADDR%/ipv4-associations/ for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/ipv4-associations/
network/interfaces/macs/%MACADDR%/local-hostname for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/local-hostname
network/interfaces/macs/%MACADDR%/local-ipv4s for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/local-ipv4s
network/interfaces/macs/%MACADDR%/mac for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/mac
network/interfaces/macs/%MACADDR%/owner-id インスタンスの所有者のアカウントIDを表示する。(12ケタのID) for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/owner-id
network/interfaces/macs/%MACADDR%/public-hostname for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/public-hostname
network/interfaces/macs/%MACADDR%/public-ipv4s for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/public-ipv4s
network/interfaces/macs/%MACADDR%/security-group-ids セキュリティグループのIDを表示する。 for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/security-group-ids
network/interfaces/macs/%MACADDR%/security-groups セキュリティグループを表示する for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/security-groups
network/interfaces/macs/%MACADDR%/subnet-id サブネット IDを表示する。 for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/subnet-id
network/interfaces/macs/%MACADDR%/subnet-ipv4-cidr-block 所属するサブネットの IPv4アドレス帯を表示する。 for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/subnet-ipv4-cidr-block
network/interfaces/macs/%MACADDR%/vpc-id インスタンスが所属する VPC ID を取得する。 for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/vpc-id
network/interfaces/macs/%MACADDR%/vpc-ipv4-cidr-block VPC の IP v4のアドレス帯を表示する。 for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/vpc-ipv4-cidr-block
network/interfaces/macs/%MACADDR%/vpc-ipv4-cidr-blocks for /f "usebackq tokens=*" %i IN (`PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/mac`) DO @set macaddr=%i
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/%MACADDR%/vpc-ipv4-cidr-blocks
placement/availability-zone インスタンスが起動したAZ PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/placement/availability-zone
profile PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/profile
public-hostname PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/public-hostname
public-ipv4 パブリックなIPアドレス。インターネット経由ではこのアドレスで接続する。インスタンスは認識していないアドレスとなる。
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/public-ipv4
public-keys/ インスタンスを生成したときに使用したパブリックキーの名前。
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/public-keys/
public-keys/0/openssh-key public キーの中身(OpenSSH キーフォーマット) PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
reservation-id 予約ID。AWS管理コンソールからも確認が可能。Launchリクエスト単位でアサインされているので同じLaunchリクエストで起動したインスタンスは同じ予約IDがアサインされる。

例えば aws ec2 run-instances で5個のインスタンスを起動した場合、5個の異なるインスタンスIDがアサインされるが、予約IDは同じ値が5個にアサインされる。
PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/reservation-id
security-groups セキュリティグループ名 PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/security-groups
services/domain PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/services/domain
services/partition PowerShell.exe -Command invoke-restmethod -uri http://169.254.169.254/latest/meta-data/services/partition


[AWS まとめに戻る]