すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:インスタンスメタデータ

最終更新日:Apr 29, 2025

Elastic Compute Service (ECS) インスタンスメタデータには、インスタンス ID、仮想プライベートクラウド (VPC)、ネットワークインターフェースコントローラー (NIC) などの属性情報が含まれており、メタデータサービスを使用してインスタンス内からアクセスできます。 ECS インスタンスメタデータには、ECS コンソールにログインしたり API オペレーションを呼び出したりすることなくアクセスでき、メタデータを使用して、実行中のインスタンスまたはインスタンスでホストされているアプリケーションを簡単かつ安全に構成または管理できます。

インスタンスメタデータ項目

メタデータサービスを使用して、ホスト名、インスタンスタイプ、インスタンス名、イメージ ID など、ECS インスタンスのメタデータを取得できます。次の表を展開して、インスタンスメタデータ項目を表示します。

クリックして展開

メタデータ項目

説明

dns-conf/nameservers

インスタンスのドメインネームシステム (DNS) 構成。

100.100.XX.XX

hostname

インスタンスのホスト名。

iZbp13znx0m0me8cquu****

instance/instance-type

インスタンスタイプ。

ecs.g6e.large

instance/instance-name

インスタンスの名前。

iZbp1bfqfsvqzxhmnd5****

image-id

インスタンスの作成に使用されたイメージの ID。

aliyun_3_x64_20G_alibase_20210425.vhd

image/market-place/product-code

Alibaba Cloud Marketplace イメージのプロダクトコード。

cmjj01****

image/market-place/charge-type

Alibaba Cloud Marketplace イメージの課金方法。

PrePaid

instance-id

インスタンスの ID。

i-bp13znx0m0me8cquu****

mac

インスタンスのメディアアクセス制御 (MAC) アドレス。複数の NIC がインスタンスにバインドされている場合、eth0 NIC の MAC アドレスのみが表示されます。

00:16:3e:0f:XX:XX

network-type

インスタンスのネットワークタイプ。 VPC 内のインスタンスのみがこの項目をサポートしています。

vpc

network/interfaces/macs/[mac]/network-interface-id

NIC の ID。 [mac] パラメーターをインスタンスの MAC アドレスに置き換えます。

eni-bp1b2c0jvnj0g17b****

network/interfaces/macs/[mac]/netmask

NIC のサブネットマスク。

255.255.XX.XX

network/interfaces/macs/[mac]/vswitch-cidr-block

NIC が接続されている vSwitch の IPv4 CIDR ブロック。

192.168.XX.XX/24

network/interfaces/macs/[mac]/vpc-cidr-block

NIC が属する VPC の IPv4 CIDR ブロック。

192.168.XX.XX/16

network/interfaces/macs/[mac]/private-ipv4s

NIC に割り当てられたプライベート IPv4 アドレス。

["192.168.XX.XX"]

network/interfaces/macs/[mac]/vswitch-id

NIC が接続されている vSwitch の ID。

vsw-bp1ygryo03m39xhsy****

network/interfaces/macs/[mac]/vpc-id

NIC のセキュリティグループが属する VPC の ID。

vpc-bp1e0g399hkd7c8q3****

network/interfaces/macs/[mac]/primary-ip-address

NIC のプライマリプライベート IP アドレス。

192.168.XX.XX

network/interfaces/macs/[mac]/gateway

NIC の IPv4 ゲートウェイアドレス。

192.168.XX.XX

instance/max-netbw-egress

インスタンスの最大アウトバウンド内部帯域幅。単位:Kbit/s。

1228800

network/interfaces/macs/[mac]/ipv4-prefixes

NIC に割り当てられたプライベート IPv4 プレフィックスリスト。

192.168.XX.XX/28

network/interfaces/macs/[mac]/ipv6-prefixes

NIC に割り当てられたプライベート IPv6 プレフィックスリスト。

2001:db8:1234:1a00:XXXX::/80

disks/

クラウドディスクのシリアル番号。

bp131n0q38u3a4zi****

disks/[disk-serial]/id

クラウドディスクの ID。

d-bp131n0q38u3a4zi****

disks/[disk-serial]/name

クラウドディスクの名前。

testDiskName

private-ipv4

プライマリ NIC のプライベート IPv4 アドレス。

192.168.XX.XX

public-ipv4

プライマリ NIC のパブリック IPv4 アドレス。

120.55.XX.XX

eipv4

この項目は以下を取得するために使用されます。

  • インスタンスの静的パブリック IPv4 アドレス (インスタンスに自動的に割り当てられるパブリック IPv4 アドレス)

  • プライマリ NIC に関連付けられたエラスティック IPv4 アドレス

120.55.XX.XX

ntp-conf/ntp-servers

ネットワークタイムプロトコル (NTP) サーバーのアドレス。

ntp1.aliyun.com

owner-account-id

インスタンスが属する Alibaba Cloud アカウントの ID。

1609****

region-id

インスタンスのリージョン ID。

cn-hangzhou

zone-id

インスタンスのゾーン ID。

cn-hangzhou-i

public-keys/[keypair-id]/openssh-key

インスタンスの公開鍵。この項目は、インスタンスの作成中に公開鍵がインスタンスにバインドされている場合にのみ使用できます。

ssh-rsa ****3NzaC1yc2EAAAADAQABAAABAQDLNbE7pS****@****.com

serial-number

インスタンスのシリアル番号。

4acd2b47-b328-4762-852f-998****

source-address

Yellowdog Updater Modified (YUM) または Advanced Packaging Tool (APT) イメージリポジトリのアドレス。 Linux インスタンスのパッケージ管理ソフトウェアは、イメージリポジトリから更新を取得できます。

http://mirrors.cloud.aliyuncs.com

kms-server

Windows インスタンスが Windows をアクティブ化するために使用する Key Management Service (KMS) サーバー。

kms.cloud.aliyuncs.com

wsus-server/wu-server

Windows インスタンスの更新サーバー。

http://update.cloud.aliyuncs.com

wsus-server/wu-status-server

Windows インスタンスの更新ステータスを監視するサーバー。

http://update.cloud.aliyuncs.com

vpc-id

インスタンスが属する VPC の ID。

vpc-bp1e0g399hkd7c8q****

vpc-cidr-block

インスタンスが属する VPC の CIDR ブロック。

192.168.XX.XX/16

vswitch-cidr-block

インスタンスが接続されている vSwitch の CIDR ブロック。

192.168.XX.XX/24

vswitch-id

インスタンスが接続されている vSwitch の ID。

vsw-bp1ygryo03m39xhsy****

ram/security-credentials/[role-name]

インスタンスの Resource Access Management (RAM) ロール。 RAM ロールがインスタンスにアタッチされている場合、role-name の値は RAM ロール名であり、RAM ロールのテンポラリセキュリティクレデンシャルも返されます。

テンポラリセキュリティクレデンシャルは、Expiration フィールドで指定された時刻に有効期限が切れます。新しいクレデンシャルを取得するには、関連する操作を再度呼び出します。

{
  "AccessKeyId" : "****",
  "AccessKeySecret" : "****",
  "Expiration" : "2024-11-08T09:44:50Z",
  "SecurityToken" : "****",
  "LastUpdated" : "2024-11-08T03:44:50Z",
  "Code" : "Success"
}

instance/spot/termination-time

プリエンプティブルインスタンスのオペレーティングシステムで構成された停止および解放時刻。値は yyyy-MM-ddThh:mm:ssZ 形式で、UTC で表示されます。

2020-04-07T17:03:00Z

instance/virtualization-solution

ECS 仮想化ソリューション。Virt 1.0 および 2.0 がサポートされています。

ECS Virt

instance/virtualization-solution-version

ECS 仮想化ソリューションのバージョン。

2.0

インスタンスメタデータアクセスモード

インスタンスメタデータには、通常モードまたはセキュリティ強化モードでアクセスできます。詳細については、「さまざまなモードでインスタンスメタデータにアクセスする」をご参照ください。次の表は、2 つのモードを比較したものです。

重要

セキュリティ強化モードを使用することをお勧めします。このモードでメタデータにアクセスするには、インスタンスの cloud-init バージョンが 23.2.2 以降であることを確認してください。 cloud-init バージョンの確認方法とアップグレード方法については、「cloud-init をインストールする」をご参照ください。

アクセスモードの比較

項目

通常モード

セキュリティ強化モード

インタラクション方法

リクエスト - レスポンス

セッション指向

認証方法

同じ VPC 内の送信元 IP アドレスに基づいてリクエストを認証します。

同じ VPC 内の送信元 IP アドレスとインスタンスメタデータアクセス認証情報に基づいて認証を実行します。

インスタンスメタデータアクセス認証情報には、次の特性があります。

  • 短い有効期間:認証情報は最大 6 時間有効です。その後、新しい認証情報を取得する必要があります。

  • ECS インスタンスに関連付けられています。ある ECS インスタンスの認証情報を使用して、別の ECS インスタンスのメタデータにアクセスすることはできません。

  • プロキシアクセスはサポートされていません。認証情報は、X-Forwarded-For ヘッダーを含むリクエストに対しては発行されません。

アクセス方法

アクセス認証情報なしでエンドポイントにアクセスするためのコマンドを実行します。

認証のためにエンドポイントにアクセスするためのインスタンスメタデータアクセス認証情報を取得します。

セキュリティレベル

通常モードでは、リクエストは IP アドレスに基づいて認証されます。攻撃者は、リクエスト内の送信元 IP アドレスを偽造して、IP アドレスベースの認証をバイパスし、サーバーサイドリクエストフォージェリ (SSRF) 攻撃を開始する可能性があります。その結果、インスタンスメタデータが漏洩する可能性があります。

インスタンスメタデータにアクセスするには、認証と承認のために有効なメタデータアクセス認証情報が必要です。これらの認証情報は ECS インスタンスで生成され、ECS インスタンスに関連付けられており、有効期間が限られているため、攻撃者が推測したり偽造したりすることは困難です。これは、ほとんどの SSRF 攻撃に対する防御に役立ちます。

さまざまなモードでインスタンスメタデータにアクセスする

セキュリティ強化モード

  • Linux インスタンス

    # メタデータアクセス認証情報を取得し、その有効期間を指定します。リクエストに X-Forwarded-For ヘッダーを含めないでください。
    TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:<メタデータサーバーアクセス認証情報の有効期間>"`
    # インスタンスメタデータにアクセスします。
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/meta-data/<metadata>
  • Windows インスタンス

    # メタデータアクセス認証情報を取得し、その有効期間を指定します。リクエストに X-Forwarded-For ヘッダーを含めないでください。
    $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<メタデータサーバーアクセス認証情報の有効期間>"} -Method PUT -Uri http://100.100.100.200/latest/api/token
    # インスタンスメタデータにアクセスします。
    Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/meta-data/<metadata>

    上記のコードの次のフィールドを実際の値に置き換えます。

    • <メタデータサーバーアクセス認証情報の有効期間>:メタデータアクセス認証情報の有効期間。有効な値:1 ~ 21600。単位:秒。

      • 有効期間内は、メタデータアクセス認証情報を使用してコマンドを繰り返し実行してインスタンスメタデータにアクセスできます。認証情報の有効期限が切れたら、メタデータにアクセスするために新しい認証情報を取得する必要があります。

      • メタデータアクセス認証情報は ECS インスタンスに関連付けられています。ある ECS インスタンスの認証情報を使用して、別の ECS インスタンスのメタデータにアクセスすることはできません。

    • <metadata>:クエリするメタデータ項目。詳細については、「インスタンスメタデータ項目」をご参照ください。

通常モード

  • Linux インスタンス

    curl http://100.100.100.200/latest/meta-data/<metadata>
  • Windows インスタンス (PowerShell)

    Invoke-RestMethod http://100.100.100.200/latest/meta-data/<metadata>

<metadata>:クエリするメタデータ項目。詳細については、「インスタンスメタデータ項目」をご参照ください。

説明

ECS インスタンスがメタデータサーバーに頻繁にアクセスしてメタデータを取得する場合、アクセスリクエストがスロットルされる可能性があります。 RAM クレデンシャルなどのデータは、有効期限が切れる前にキャッシュして更新することをお勧めします。

インスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成する

セキュリティを強化するために、Alibaba Cloud では、インスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成できます。この設定が構成されると、通常モードを使用するリクエストは拒否されます。これは、ほとんどの SSRF 関連のリスクに対する防御に役立ちます。次のセクションでは、さまざまなシナリオでこの設定を構成する方法について説明します。

重要

クレデンシャルツールを使用して ECS インスタンスにアタッチされている RAM ロールのテンポラリ ID クレデンシャルを取得する場合、セキュリティ強化モードに切り替えるとビジネスに影響を与える可能性があります。この問題を防ぐには、クレデンシャルツールをアップグレードします。セキュリティ強化モードをサポートするバージョンの詳細については、「クレデンシャルツールを使用してテンポラリアクセスクレデンシャルを取得する」をご参照ください。

インスタンスの作成中に排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成する

ECS コンソールの使用

インスタンス購入ページで、[詳細オプション] セクションを展開し、メタデータアクセスモードパラメーターをセキュリティ強化モードに設定します。

image

説明

使用しているイメージがサポートしている場合にのみ、[セキュリティ強化モード] を選択できます。

[セキュリティ強化モード] を選択できない場合は、インスタンスを作成し、cloud-init バージョンを 23.2.2 以降にアップグレードしてから、インスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成します。

一部の最新の Alibaba Cloud パブリックイメージは、cloud-init 23.2.2 以降がプリインストールされているため、セキュリティ強化モードをサポートしています。イメージがモードをサポートしているかどうかを確認するには、DescribeImages オペレーションを呼び出し、レスポンスでイメージの ImdsSupport 値を表示します。 ImdsSupport の値が v2 の場合、イメージはセキュリティ強化モードをサポートしています。

API オペレーションの呼び出し

RunInstances または CreateInstance オペレーションを呼び出して ECS インスタンスを作成する場合は、HttpTokens パラメーターを required に設定して、[セキュリティ強化モード] を有効にします。

説明

使用しているイメージがセキュリティ強化モードをサポートしている場合にのみ、インスタンスを起動できます。

起動に失敗した場合は、HttpTokens パラメーターを optional に設定し、cloud-init バージョンを 23.2.2 以降にアップグレードしてから、インスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成します。

一部の最新の Alibaba Cloud パブリックイメージは、cloud-init バージョン 23.2.2 以降がプリインストールされているため、セキュリティ強化モードをサポートしています。イメージがモードをサポートしているかどうかを確認するには、DescribeImages オペレーションを呼び出し、レスポンスでイメージの ImdsSupport 値を表示します。 ImdsSupport の値が v2 の場合、イメージはセキュリティ強化モードをサポートしています。

既存のインスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成する

既存の ECS インスタンスのメタデータへのアクセスに通常モードを使用しなくなった場合は、インスタンスのアプリケーションコードを変更し、排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成します。この設定が構成されると、通常モードを使用するリクエストは拒否されます。

手順 1: アプリケーションコードを変更してセキュリティ強化モードを使用する

  1. アプリケーションコードを変更するインスタンスを特定します。

    • 方法 1:CloudMonitor コンソール にログインします。 [クラウド リソース監視] > [クラウド サービス監視] ページで、[ECS メタデータ] を検索します。 [監視チャート] に通常モードでのアクセス成功数 (カウント) が 0 より大きい ECS インスタンスを特定します。これは、インスタンス上のアプリケーションが通常モードを使用していることを意味します。これらのインスタンスにセキュリティ強化モードを構成する必要があります。データの精度を確保するために、14 日以上の期間を推奨します。

    • 方法 2:Cloud Assistant が提供する ACS-ECS-ImdsPacketAnalyzer プラグインを使用して、通常モードを使用する ECS インスタンスのプロセスを特定します。

      このプラグインは、Linux インスタンスの作成中に Cloud Assistant クライアントがプリインストールされているため、Linux オペレーティングシステムでのみ使用できます。ただし、オペレーティングシステムの制限が適用されます。

      サポートされているオペレーティングシステムと使用方法

      インスタンスに ACS-ECS-ImdsPacketAnalyzer プラグインをデプロイすると、インスタンスのパフォーマンスに影響を与える可能性があります。

      以下のオペレーティングシステムがサポートされています。

      • Alibaba Cloud Linux 3

      • Anolis OS 8

      • CentOS Stream 8 および 9

      • CentOS 8

      • Ubuntu 20 および 24

      • Debian 10、11、および 12

      • Fedora 35 以降

      • AlmaLinux 8 および 9

      • Rocky Linux 8 および 9

      • Red Hat Enterprise Linux 8 および 9

      • Red Hat の場合、Cloud Assistant クライアントの RPM パッケージをダウンロードしてインストールする必要があります。詳細については、「Cloud Assistant クライアントをインストールする」をご参照ください。

      • SUSE 15.1、15.2、15.3、15.4、15.5、および 15.6

      • openSUSE 15.2、15.3、15.4、15.5、および 15.6

      手順:

      1. ECS インスタンスに接続します。詳細については、「ECS インスタンスへの接続方法」をご参照ください。

      2. 次のコマンドを実行して、Cloud Assistant クライアントがインスタンスにインストールされているかどうか、および ACS-ECS-ImdsPacketAnalyzer プラグインを提供しているかどうかを確認します。

        sudo acs-plugin-manager --list

        p940997

      3. 次のコマンドを実行して、imds_tracer_tool サービスをデプロイします。

        sudo acs-plugin-manager --exec --plugin ACS-ECS-ImdsPacketAnalyzer

        次の出力は、サービスがデプロイされていることを示しています。

        image.png

      4. 次のコマンドを実行して、imds_tracer_tool サービスのデプロイステータスを確認します。

        sudo systemctl status imds_tracer_tool

        p940998

      5. 次のコマンドを実行して、通常モードとセキュリティ強化モードをサポートするすべてのアプリケーションを表示します。

        cat /var/log/imds/imds-trace.* | grep WARNING

        p940995

  2. 特定されたインスタンスの cloud-init バージョンが 23.2.2 以降であることを確認します。 cloud-init バージョンが 23.2.2 より前の場合、バージョン 23.2.2 以降にアップグレードします。バージョンの確認方法とアップグレード方法については、「cloud-init をインストールする」をご参照ください。

  3. メタデータアクセス認証情報を取得するようにアプリケーションコードを変更し、リクエストヘッダーに認証情報を含めてインスタンスメタデータにアクセスします。詳細については、「セキュリティ強化モードでインスタンスメタデータにアクセスする」をご参照ください。

  4. アプリケーションコードでインスタンスメタデータにアクセスするために通常モードが使用されていないことを確認します。

    [ECS メタデータ]CloudMonitor コンソール の [ECS メタデータ] ページで、特定されたインスタンスの [監視チャート][通常モードでのアクセス成功数 (カウント)][データなし] と表示されているかどうかを確認します。表示されている場合は、手順 2 に進むことができます。表示されていない場合は、インスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成した後に、通常モードでインスタンスメタデータにアクセスするためのリクエストが拒否される可能性があります。データの精度を確保するために、14 日以上の期間を推奨します。

手順 2:インスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成する

ECS コンソールの使用

  1. ECS コンソール - インスタンス に移動します。

  2. 上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。 地域

  3. 管理するインスタンスを見つけ、インスタンスの ID をクリックしてインスタンス詳細ページに移動し、右上隅にある [すべてのアクション] をクリックします。表示されるペインで、[インスタンスメタデータアクセス情報を変更する] を検索してクリックします。

  4. [インスタンスメタデータのアクセスチャネルを有効にする] をオンにし、[インスタンスメタデータアクセスモード][セキュリティ強化モード] に設定します。

    image

API オペレーションの呼び出し

DescribeInstances オペレーションを呼び出し、レスポンスの HttpTokens 値を表示して、インスタンスメタデータへのアクセスにセキュリティ強化モードが強制的に使用されているかどうかを確認できます。 HttpTokens の値が optional である ECS インスタンス上のアプリケーションは、引き続き通常モードを使用します。 DescribeInstances レスポンスでこれらの ECS インスタンスを特定します。

各インスタンスの HttpTokensrequired に設定して ModifyInstanceMetadataOptions オペレーションを呼び出し、メタデータアクセスモードをセキュリティ強化モードに変更します。

ECS インスタンスの唯一のメタデータアクセスモードとしてセキュリティ強化モードを構成した後、通常モードでメタデータにアクセスするためのリクエストは拒否されます。リクエストの失敗によるビジネスの中断を回避するために、CloudMonitor コンソール でアラートを構成して、通常モードを使用するリクエストが拒否されたときに通知を受け取ります。インスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを構成した後に、通常モードを使用するリクエストが拒否された場合は、インスタンスが通常モードとセキュリティ強化モードの両方をサポートするように構成し、インスタンスメタデータに通常モードでアクセスされていないことを確認してから、インスタンスの排他的なメタデータアクセスモードとしてセキュリティ強化モードを再構成します。

FAQ

セキュリティ強化モードでインスタンスメタデータにアクセスするためのコマンドを実行できない場合はどうすればよいですか?

コマンドが正しいかどうかを確認します。一般的な問題には、次のものがあります。

  • メタデータアクセス認証情報の有効期間が 1 秒~ 21,600 秒の範囲内ではありません。

    curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 21700"
  • リクエストに X-Forwarded-For ヘッダーが含まれています。

    curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-Forwarded-For: www.ba****.com"
  • 指定されたメタデータアクセス認証情報が無効です。

    curl -H "X-aliyun-ecs-metadata-token: aaa" -v http://100.100.100.200/latest/meta-data/