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

Elastic Container Instance:コンテナ内からのメタデータの取得

最終更新日:Aug 05, 2026

Elastic Container Instance (ECI) のメタデータは、インスタンスとそのコンテナに関する詳細 (名前、ID、IP アドレス、ネットワーク インターフェイス情報など) を提供します。このデータを使用して、コンテナを管理および運用できます。このトピックでは、実行中のコンテナ内からこのメタデータを取得する方法について説明します。

方法1:MetaServer経由でのメタデータへのアクセス

  1. コンテナに接続します。詳細については、「ワークベンチを使用したECIインスタンスへの接続」をご参照ください。

  2. メタデータにアクセスします。

    説明

    コンテナ環境に curl がインストールされていない場合は、先にインストールしてください。

    curl http://100.100.100.200/latest/meta-data/<metadata>

    <metadata> を、クエリしたい特定のメタデータ項目に置き換えます。たとえば、インスタンス ID を取得するには、次のコマンドを実行します。

    curl http://100.100.100.200/latest/meta-data/instance-id

    次の表に、ECI インスタンスで取得できる基本的なメタデータ項目を示します。

    パラメーター

    説明

    /dns-conf/nameservers

    インスタンスの DNS 設定。

    /eipv4

    インスタンスの Elastic IP アドレス (IPv4)。

    /hostname

    インスタンスのホスト名。これは ContainerGroupName に対応します。

    /instance-id

    インスタンス ID。

    /mac

    インスタンスの MAC アドレス。

    /network/interfaces/

    ネットワーク インターフェイスの MAC アドレスのリスト。

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

    ネットワーク インターフェイス ID。[mac] をインスタンスの MAC アドレスに置き換えます。

    /network/interfaces/macs/[mac]/netmask

    ネットワーク インターフェイスのサブネットマスク。

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

    ネットワーク インターフェイスが属する vSwitch の IPv4 CIDR ブロック。

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

    ネットワーク インターフェイスが属する VPC の IPv4 CIDR ブロック。

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

    ネットワーク インターフェイスに割り当てられたプライベート IPv4 アドレスのリスト。

    /network/interfaces/macs/[mac]/vpc-ipv6-cidr-blocks

    ネットワーク インターフェイスが属する VPC の IPv6 CIDR ブロック。この項目は、IPv6 が有効になっている VPC 内のインスタンスでのみ使用可能です。

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

    ネットワーク インターフェイスが属する vSwitch の ID。

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

    ネットワーク インターフェイスが属する VPC の ID。

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

    ネットワーク インターフェイスのプライマリプライベート IP アドレス。

    /network/interfaces/macs/[mac]/gateway

    ネットワーク インターフェイスの IPv4 ゲートウェイアドレス。

    /instance/max-netbw-egress

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

    /instance/max-netbw-ingress

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

    /network/interfaces/macs/[mac]/ipv6s

    ネットワーク インターフェイスに割り当てられた IPv6 アドレスのリスト。この項目は、IPv6 が有効になっている VPC 内のインスタンスでのみ使用可能です。

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

    ネットワーク インターフェイスが属する VPC の IPv6 ゲートウェイアドレス。

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

    ネットワーク インターフェイスが属する vSwitch の IPv6 CIDR ブロック。この項目は、IPv6 が有効になっている VPC 内のインスタンスでのみ使用可能です。

    /private-ipv4

    インスタンスのプライベート IPv4 アドレス。

    /ntp-conf/ntp-servers

    NTP サーバーのアドレス。

    /owner-account-id

    インスタンスを所有する Alibaba Cloud アカウントの ID。

    /region-id

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

    /serial-number

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

    /vpc-id

    インスタンスが配置されている VPC の ID。

    /vpc-cidr-block

    インスタンスが配置されている VPC の CIDR ブロック。

    /vswitch-cidr-block

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

    /vswitch-id

    インスタンスが配置されている vSwitch の ID。

    /zone-id

    インスタンスのゾーン。

    /ram/security-credentials/[role-name]

    インスタンスの RAM ロールの STS 一時的な認証情報。これらは RAM ロールがアタッチされている場合にのみ利用できます。[role-name] を RAM ロール名に置き換えます。[role-name] を省略すると、アタッチされている RAM ロールの名前が返されます。

方法2:コンテナ環境変数の設定

ECI インスタンス内のコンテナに環境変数を設定することで、インスタンス情報を取得することもできます。この方法では、インスタンス ID、インスタンス名、リージョン、ゾーン、コンテナ名などのメタデータにアクセスできます。

キー

値

説明

eci_id

__ECI_ID__

インスタンスの ID。

eci_name

__ECI_NAME__

インスタンスの名前。

region_id

__REGION_ID__

インスタンスが配置されているリージョン。

zone_id

__ZONE_ID__

インスタンスが配置されているゾーン。

container_name

__CONTAINER_NAME__

コンテナの名前。

設定例:

OpenAPI

CreateContainerGroup API を呼び出して ECI インスタンスを作成する際、Container.N.EnvironmentVar.N.Key と Container.N.EnvironmentVar.N.Value パラメーターを使用して環境変数を設定できます。次の例は、パラメーターの設定方法を示しています。

ContainerGroupName=test-env
Container.1.Image=registry-vpc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
Container.1.Name=container-1
# カスタム環境変数の設定
Container.1.EnvironmentVar.1.Key=eci_id
Container.1.EnvironmentVar.2.Key=eci_name
Container.1.EnvironmentVar.3.Key=region_id
Container.1.EnvironmentVar.4.Key=zone_id
Container.1.EnvironmentVar.5.Key=container_name
Container.1.EnvironmentVar.1.Value=__ECI_ID__
Container.1.EnvironmentVar.2.Value=__ECI_NAME__
Container.1.EnvironmentVar.3.Value=__REGION_ID__
Container.1.EnvironmentVar.4.Value=__ZONE_ID__
Container.1.EnvironmentVar.5.Value=__CONTAINER_NAME__

コンソール

Elastic Container Instance コンソールで ECI インスタンスを作成するときは、コンテナー設定 セクションでコンテナを選択し、その詳細設定を展開してから 環境変数 スイッチを有効にして環境変数を追加します。 たとえば、次の環境変数を追加できます。

  • eci_id: __ECI_ID__ (インスタンス ID)

  • eci_name: __ECI_NAME__ (インスタンス名)

  • region_id: __REGION_ID__ (リージョン ID)

  • zone_id: __ZONE_ID__ (ゾーン ID)

  • container_name: __CONTAINER_NAME__ (コンテナ名)

ECI インスタンスを作成した後、コンテナに接続して設定を確認します。詳細については、「ワークベンチを使用したECIインスタンスへの接続」をご参照ください。

次の例は、コンテナ内での env コマンドの出力結果を示しています。

Elastic  Container Service!
# env
HOSTNAME=test-env
ECI CONTAINER TYPE=normal
zone_id=cn-shanghai-f
HOME=/root
eci_name=test-env
container_name=container-1
TERM=xterm
NGINX_VERSION=1.14.2-1~stretch
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NJS_VERSION=1.14.2.0.2.6-1~stretch
PWD=/
eci_id=eci-uf63a8afxxx5bx
region_id=cn-shanghai
#