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

Elastic Container Instance:コンテナからメタデータを取得する

最終更新日:Dec 28, 2024

Elastic Container Instance のメタデータは、インスタンスとインスタンス上のコンテナに関する情報を提供し、コンテナの使用と管理を容易にします。メタデータによって提供される情報には、インスタンス名やインスタンス ID などの Elastic Container Instance の基本情報、およびインスタンスの IP アドレスやネットワークインターフェースコントローラー (NIC) などの Elastic Container Instance のネットワーク情報が含まれます。このトピックでは、コンテナから Elastic Container Instance のメタデータを取得し、実行中のコンテナにメタデータを提供する方法について説明します。

方法 1: MetaServer を使用してメタデータにアクセスする

  1. コンテナに接続します。詳細については、Elastic Container Instance への接続 を参照してください。

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

    説明

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

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

    <metadata> を、クエリするメタデータ項目に置き換えます。たとえば、<metadata> を instance-id に置き換えます。

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

    次の表は、クエリできる Elastic Container Instance のメタデータ項目を示しています。

    メタデータ項目

    説明

    /dns-conf/nameservers

    Elastic Container Instance のドメインネームシステム (DNS) 設定。

    /eipv4

    Elastic Container Instance の Elastic IPv4 アドレス。

    /hostname

    Elastic Container Instance のホスト名。ContainerGroupName の値です。

    /instance-id

    Elastic Container Instance の ID。

    /mac

    Elastic Container Instance のメディアアクセス制御 (MAC) アドレス。

    /network/interfaces/

    NIC の MAC アドレス。

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

    NIC の ID。[mac] を Elastic Container Instance の MAC アドレスに置き換えます。

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

    NIC のサブネットマスク。

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

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

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

    NIC が属する仮想プライベートクラウド (VPC) の IPv4 CIDR ブロック。

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

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

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

    NIC が属する VPC の IPv6 CIDR ブロック。この項目は、VPC 内にあり、IPv6 アドレスが割り当てられている Elastic Container Instance にのみ適用されます。

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

    NIC のセキュリティグループと同じ VPC にある vSwitch の ID。

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

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

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

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

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

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

    /instance/max-netbw-egress

    Elastic Container Instance の最大アウトバウンド内部帯域幅。単位: Kbit/s。

    /instance/max-netbw-ingerss

    Elastic Container Instance の最大インバウンド内部帯域幅。単位: Kbit/s。

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

    NIC に割り当てられた IPv6 アドレス。この項目は、VPC 内にあり、IPv6 アドレスが割り当てられている Elastic Container Instance にのみ適用されます。

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

    NIC が属する VPC の IPv6 ゲートウェイアドレス。

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

    NIC が接続されている vSwitch の IPv6 CIDR ブロック。この項目は、VPC 内にあり、IPv6 アドレスが割り当てられている Elastic Container Instance にのみ適用されます。

    /private-ipv4

    Elastic Container Instance のプライベート IPv4 アドレス。

    /ntp-conf/ntp-servers

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

    /owner-account-id

    Elastic Container Instance が属する Alibaba Cloud アカウントの ID。

    /region-id

    Elastic Container Instance のリージョン ID。

    /serial-number

    Elastic Container Instance のシリアル番号。

    /vpc-id

    Elastic Container Instance が存在する VPC の ID。

    /vpc-cidr-block

    Elastic Container Instance が存在する VPC の CIDR ブロック。

    /vswitch-cidr-block

    Elastic Container Instance が接続されている vSwitch の CIDR ブロック。

    /vswitch-id

    Elastic Container Instance が接続されている vSwitch の ID。

    /zone-id

    Elastic Container Instance のゾーン ID。

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

    Elastic Container Instance の Resource Access Management (RAM) ロールに対して生成された一時的な Security Token Service (STS) 認証情報。Elastic Container Instance に RAM ロールを指定した後でのみ、一時的な STS 認証情報を取得できます。[role-name] を RAM ロールの名前に置き換えます。[role-name] を RAM ロールの名前に置き換えない場合、Elastic Container Instance の名前が返されます。

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

インスタンス上のコンテナの環境変数を設定することで、Elastic Container Instance に関する情報を取得できます。この方法で取得できる Elastic Container Instance のメタデータ項目には、インスタンス ID、インスタンス名、インスタンスのリージョン ID、インスタンスのゾーン ID、およびコンテナ名が含まれます。

キー

説明

eci_id

__ECI_ID__

Elastic Container Instance の ID。

eci_name

__ECI_NAME__

Elastic Container Instance の名前。

region_id

__REGION_ID__

Elastic Container Instance のリージョン ID。

zone_id

__ZONE_ID__

Elastic Container Instance のゾーン ID。

container_name

__CONTAINER_NAME__

コンテナの名前。

例:

OpenAPI

CreateContainerGroup オペレーションを呼び出して Elastic Container Instance を作成する場合、次のサンプルコードに示すように、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 コンソールで Elastic Container Instance を作成する場合、コンテナ設定セクションでコンテナを選択し、コンテナの詳細設定を展開し、環境変数をオンにして、次の図に示すように環境変数を追加できます。

元数据.png

Elastic Container Instance が作成された後、コンテナに接続して、設定された環境変数が有効になっているかどうかを確認できます。詳細については、Elastic Container Instance への接続 を参照してください。view