デフォルトでは、システムはElastic Container InstanceベースのポッドにプライベートIPアドレスのみを割り当てます。ポッドをインターネットに接続する場合、たとえば、インターネット経由でイメージをプルする場合は、Elastic IPアドレス(EIP)をポッドに関連付けるか、ポッドが属する仮想プライベートクラウド(VPC)にインターネットNATゲートウェイを作成できます。
背景情報
次の表は、Elastic Container Instanceのインターネットアクセスを有効にするために使用される2つの方法について説明しています。
方法 | 説明 | シナリオ |
Elastic Container InstanceにEIPを関連付ける | EIPは、個別に購入および管理できるパブリックIPアドレスです。EIPをインスタンスに関連付けることで、Elastic Container Instanceのインターネットアクセスを有効にできます。詳細については、EIPとはおよび課金概要を参照してください。 | 単一のElastic Container Instanceのインターネットアクセスを有効にする場合。 たとえば、NGINXをデプロイするためにElastic Container Instanceを作成する場合。インスタンスを作成するときは、EIPをインスタンスに関連付ける必要があります。NGINXが起動すると、Elastic Container Instanceはポート80を関連付けられたEIPに公開します。その後、EIPとポート番号を使用してNGINXにアクセスできます。 |
Elastic Container Instanceが属するVPCにインターネットNATゲートウェイを作成する | NAT(ネットワークアドレス変換)ゲートウェイは、SNATおよびDNAT機能を提供します。詳細については、NATゲートウェイとはおよびインターネットNATゲートウェイの課金を参照してください。 | 複数のElastic Container Instanceのインターネットアクセスを有効にする場合。 たとえば、Docker Hubから複数のElastic Container Instanceのイメージをプルする場合。デフォルトでは、Elastic Container Instanceはインターネット経由でイメージをプルするためのパブリックエンドポイントを提供しません。Elastic Container Instanceが属するVPCにインターネットNATゲートウェイを作成し、セキュリティグループルールを設定する必要があります。そうでないと、インターネット経由でイメージをプルできません。 |
Elastic Container Instanceのインターネットアクセスを有効にする場合は、インスタンスが属するセキュリティグループで関連するIPアドレスとポートが有効になっていることを確認してください。詳細については、セキュリティグループルールの追加を参照してください。
Elastic Container InstanceにEIPを関連付ける
ポッドを作成するときに、ポッドの構成ファイルのメタデータにアノテーションを追加して、既存のEIPを関連付けるか、システムがEIPを自動的に作成してポッドに関連付けることができます。
各EIPは、一度に1つのElastic Container Instanceにのみ関連付けることができ、関連付けられたElastic Container Instanceに対してのみインターネットサービスを提供できます。複数のElastic Container Instanceをインターネットに接続する場合は、各インスタンスにEIPを関連付けるか、インスタンスが属するVPCにインターネットNATゲートウェイを作成する必要があります。
既存のEIPをポッドに関連付ける
アノテーション
例
説明
k8s.aliyun.com/eci-eip-instanceid
"eip-bp1q5n8cq4p7f6dzu****"
関連付けるEIPのIDを指定します。
EIPを自動的に作成してポッドに関連付ける
アノテーション
例
説明
k8s.aliyun.com/eci-with-eip
"true"
EIPを自動的に作成してポッドに関連付けるかどうかを指定します。
k8s.aliyun.com/eip-bandwidth
"10"
EIPの最大帯域幅を指定します。単位:Mbit/s。デフォルト値:5。
k8s.aliyun.com/eip-common-bandwidth-package-id
"cbwp-2zeukbj916scmj51m****"
インスタンスに関連付ける既存のEIP帯域幅プランのIDを指定します。詳細については、インターネット共有帯域幅とはを参照してください。
k8s.aliyun.com/eip-isp
BGP
EIPの回線タイプを指定します。このアノテーションは、従量課金制のEIPにのみ適用されます。デフォルト値:BGP。有効な値:
BGP:BGP(マルチISP)回線
BGP_PRO:BGP(マルチISP)Pro回線
詳細については、Elastic IPアドレストピックの「回線タイプ」セクションを参照してください。
k8s.aliyun.com/eip-internet-charge-type
PayByTraffic
EIPの従量課金方法を指定します。有効な値:
PayByBandwidth:帯域幅課金
PayByTraffic:トラフィック課金
EIPの課金について詳しくは、課金概要を参照してください。
k8s.aliyun.com/eip-public-ip-address-pool-id
pippool-bp187arfugi543y1s****
IPアドレスプールのIDを指定します。EIPはIPアドレスプールから割り当てられます。詳細については、IPアドレスプールの作成と管理を参照してください。
アノテーションは、ポッドの構成ファイルのメタデータに追加する必要があります。たとえば、Deploymentを作成するときは、spec.template.metadataセクションにアノテーションを追加する必要があります。
Elastic Container Instanceの機能を使用するには、Elastic Container Instanceベースのポッドを作成するときにのみアノテーションを追加できます。ポッドを更新するときにアノテーションを追加または変更しても、これらのアノテーションは有効になりません。
設定例:
Elastic Container Instanceが属するVPCにインターネットNATゲートウェイを作成する
VPCにインターネットNATゲートウェイを作成すると、インターネットNATゲートウェイはSNATおよびDNAT機能を提供でき、VPC内のElastic Container Instanceはインターネットに接続できます。
機能 | 説明 |
SNAT | VPC内のElastic Container InstanceにパブリックIPアドレスが割り当てられていない場合、これらのインスタンスがインターネットにアクセスできるようにします。 |
DNAT | インターネットNATゲートウェイに関連付けられているEIPをVPC内のElastic Container Instanceにマッピングします。これにより、VPC内のElastic Container Instanceはインターネットに接続するサービスを提供できます。 |
VPCコンソールでインターネットNATゲートウェイを作成します。詳細については、インターネットNATゲートウェイの作成と管理を参照してください。
Elastic Container Instanceがインターネットにアクセスできるようにするには、NATゲートウェイのSNATエントリを作成する必要があります。詳細については、SNATエントリの作成と管理を参照してください。
次の表は、エントリを作成するときに注意が必要なパラメータについて説明しています。
パラメータ
説明
SNATエントリ
サービスネットワーキングやセキュリティなどの要因に基づいて、このパラメータの値を選択します。
VPCを指定:指定されたVPC内のすべてのElastic Container Instanceは、SNATを使用してインターネットにアクセスできます。
Vswitchを指定:選択されたvSwitchに接続されているすべてのElastic Container Instanceは、SNATを使用してインターネットにアクセスできます。
カスタムCIDRブロックを指定:指定されたCIDRブロックに属するすべてのElastic Container Instanceは、SNATを使用してインターネットにアクセスできます。
vSwitchを選択
SNATエントリパラメータをVswitchを指定に設定した場合、Elastic Container Instanceの作成に使用する1つ以上のvSwitchを選択する必要があります。
カスタムCIDRブロック
SNATエントリパラメータをカスタムCIDRブロックを指定に設定した場合、インターネットにアクセスするElastic Container Instanceが属するCIDRブロックを指定する必要があります。
EIPを選択
NATゲートウェイに関連付けられている1つ以上のEIPを選択します。Elastic Container Instanceは、EIPを使用してインターネットにアクセスします。
説明Elastic Container InstanceにEIPが関連付けられている場合、インスタンスはNATゲートウェイのSNAT機能ではなく、このEIPを使用してインターネットにアクセスします。
Elastic Container Instanceがインターネットに接続するサービスを提供できるようにするには、NATゲートウェイのDNATエントリを作成する必要があります。詳細については、DNATエントリの作成と管理を参照してください。
次の表は、エントリを作成するときに注意が必要なパラメータについて説明しています。
パラメータ
説明
EIPを選択
NATゲートウェイに関連付けられているEIPを選択します。Elastic Container Instanceは、EIPを使用してインターネットに接続するサービスを提供します。
プライベートIPアドレスを選択
DNATエントリを使用してインターネットに接続するサービスを提供する必要があるElastic Container Instanceを選択します。Elastic Container InstanceにバインドされているElastic Network Interface(ENI)を指定するか、インスタンスのプライベートIPアドレスを入力できます。
ポート設定
DNATマッピング方法。有効な値:
任意のポート:IPアドレスマッピングを指定します。NATゲートウェイは、関連付けられたEIP宛ての要求を選択されたElastic Container Instanceに転送します。
カスタムポート:ポートマッピングを指定します。NATゲートウェイは、関連付けられたEIP宛ての特定のプロトコルおよびポートからの要求を選択されたElastic Container Instanceの対応するポートに転送します。