クラスターの Virtual Private Cloud (VPC) に NAT ゲートウェイの SNAT ルールを作成し、イメージのプルやパッケージのダウンロードなどのインターネットアクセスを有効にします。
このトピックでは、アウトバウンドのインターネットアクセスについて説明します。 API サーバーへのインバウンドアクセス (リモートでの kubectl の使用など) については、「クラスターの API サーバーへのパブリックアクセスの制御」をご参照ください。
前提条件
以下を確認してください。
-
ノードプールがある Container Service for Kubernetes (ACK) クラスター
-
クラスターのネットワークプラグイン (Terway または Flannel) が判明していること。これにより、SNAT エントリが必要な vSwitch が決まります。
-
NAT ゲートウェイと Elastic IP Address (EIP) を作成および管理する権限
課金
SNAT ルールの設定には、以下の課金対象サービスが含まれます。
|
サービス |
説明 |
課金の詳細 |
|
プライベート IP アドレスを公開することなくインターネットアクセスを可能にする、フルマネージドの NAT ゲートウェイです。 |
||
|
クラウドリソースに関連付けてインターネットアクセスを実現する、独立したパブリック IP アドレスです。 |
Terway と Flannel: vSwitch の要件
SNAT エントリを必要とする vSwitch は、クラスターのネットワークプラグインによって異なります。
|
ネットワークプラグイン |
SNAT に必要な vSwitch |
理由 |
|
Terway |
ノード vSwitch と Pod vSwitch |
Terway は vSwitch ベースの IP アドレスを Pod に割り当てるため、ノードと Pod の両方のサブネットでアウトバウンドルートが必要です。 |
|
Flannel |
ノード vSwitch のみ |
Flannel はオーバーレイネットワークを使用するため、Pod のトラフィックはノードのネットワークインターフェイスから出力されます。 |
既存クラスターでの SNAT 有効化
NAT ゲートウェイを作成し、EIP を関連付け、クラスターの vSwitch に SNAT エントリを追加します。
既存のクラスターで SNAT を有効にするための API 操作は、まだサポートされていません。
全体のワークフロー:
ステップ 1: NAT ゲートウェイの作成
クラスターと同じリージョンにインターネット NAT ゲートウェイを作成します。
-
NAT ゲートウェイコンソールにログインします。
-
左側メニューで、[NAT Gateway] > [Internet NAT Gateway] を選択します。
-
[Internet NAT Gateway] ページで、[Create Internet NAT Gateway] をクリックします。
-
パラメーターを設定し、[Buy Now] をクリックします。 詳細については、「インターネット NAT ゲートウェイの作成と管理」をご参照ください。
VPC に最初のインターネット NAT ゲートウェイを作成すると、ゲートウェイをネクストホップとする 0.0.0.0/0 ルートが VPC のシステムルートテーブルに自動的に追加されます。 VPC がカスタムルートテーブルを使用している場合や、複数のインターネット NAT ゲートウェイがある場合は、手動でルートを追加してください。 詳細については、「ルートテーブルの作成と管理」をご参照ください。
ステップ 2: EIP の作成 (オプション)
すでに EIP がある場合は、この手順をスキップしてください。
-
左側メニューで、[Access to Internet] > [Elastic IP Addresses] を選択します。
-
[Elastic IP Addresses] ページで、[Create EIP] をクリックします。
-
NAT ゲートウェイと同じリージョンを選択し、残りのパラメーターを設定して、[Buy Now] をクリックします。
ステップ 3: EIP と NAT ゲートウェイの関連付け
-
左側メニューで、[NAT Gateway] > [Internet NAT Gateway] を選択します。
-
[Internet NAT Gateway] ページで、対象の NAT ゲートウェイを見つけ、[操作] 列の [
] > [Associate EIP] を選択します。 -
[Associate EIP] ダイアログボックスで、[Resource Group] でリソースグループを選択し、[Select Existing EIP] で EIP を選択して、[OK] をクリックします。
ステップ 4: SNAT エントリの作成
-
[Internet NAT Gateway] ページで、対象の NAT ゲートウェイを見つけ、[操作] 列の [Manage] をクリックします。
-
ゲートウェイの詳細ページで、[SNAT Management] タブをクリックし、[Create SNAT Entry] をクリックします。
-
[Create SNAT Entry] ページで、以下のパラメーターを設定し、[OK] をクリックします。 詳細については、「SNAT エントリの作成」をご参照ください。
パラメーター
説明
[SNAT Entry]
[Specify vSwitch] を選択し、クラスターで使用される vSwitch を選択します。 Terway クラスターの場合は、ノード vSwitch と Pod vSwitch の両方を選択します。 Flannel クラスターの場合は、ノード vSwitch のみを選択します。
[Select EIP]
アウトバウンドのインターネットアクセスに使用する 1 つ以上の EIP を選択します。
SNAT エントリが作成されると、クラスターは NAT ゲートウェイを介してインターネットにアクセスできるようになります。
Terway ベースの ACK クラスターに SNAT ルールを設定した NAT ゲートウェイ:

クラスター作成時の SNAT 有効化
新しいクラスターでは、作成時に SNAT を有効にできます。
-
ACK コンソールにログインします。
-
[Network Settings] セクションで [Configure SNAT for VPC] を選択します。 詳細については、「ACK マネージドクラスターの作成」をご参照ください。

VPC に最初のインターネット NAT ゲートウェイを作成すると、ゲートウェイをネクストホップとする 0.0.0.0/0 ルートが VPC のシステムルートテーブルに自動的に追加されます。 VPC がカスタムルートテーブルを使用している場合や、複数のインターネット NAT ゲートウェイがある場合は、手動でルートを追加してください。 詳細については、「ルートテーブルの作成と管理」をご参照ください。
インターネットアクセスの確認
クラスターノードで以下のコマンドを実行し、接続を確認してください。
-
インターネット接続をテストします。
ping -c 4 www.alibabacloud.com -
アウトバウンド IP が EIP と一致することを確認してください。
curl ifconfig.me

よくある質問
ACK クラスターが使用するパブリック IP アドレスを確認する方法
-
NAT ゲートウェイコンソールにログインします。
-
左側メニューで、[NAT Gateway] > [Internet NAT Gateway] を選択します。
-
[Internet NAT Gateway] ページで、クラスターに関連付けられている NAT ゲートウェイを見つけ、[操作] 列の [Manage] をクリックします。
-
[SNAT Management] タブをクリックします。 [SNAT Entry List] セクションで、クラスターが使用する EIP を確認します。

関連ドキュメント
-
「Pod が外部ネットワークにアクセスするための設定に関する注意事項」をご参照ください。
-
推奨されるセキュリティグループルールについては、「クラスターのセキュリティグループの設定」をご参照ください。
-
ACK クラスターに対して、SNAT エントリと IPv4 ゲートウェイを同時に設定しないでください。 詳細については、「IPv4 ゲートウェイを使用してインターネットアクセスを集中管理する」をご参照ください。

