Azure Kubernetes Service (AKS) のユーザー定義ルーティング テーブルを使用してクラスターエグレスをカスタマイズする
特定のシナリオに合わせて、Azure Kubernetes Service (AKS) クラスターのエグレスをカスタマイズできます。 AKS では、既定でエグレス用に Standard
SKU ロード バランサーがプロビジョニングされます。 ただし、パブリック IP が許可されていない場合、またはエグレスに追加のホップが必要な場合、デフォルトの設定ではすべてのシナリオの要件を満たせない場合があります。
この記事では、カスタム ネットワーク シナリオをサポートするクラスターのエグレス ルートをカスタマイズする方法について説明します。 これらのシナリオには、パブリック IP を禁止し、クラスターをネットワーク仮想アプライアンス (NVA) の背後に配置する必要のあるシナリオが含まれます。
前提条件
- Azure CLI version 2.0.81 以降。 バージョンを確認するには、
az --version
を実行します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。 - API version
2020-01-01
以降。
要件と制限事項
送信の種類の使用は高度なネットワーク シナリオであり、適切なネットワーク構成が必要です。 送信の種類の使用には、次の要件と制限が適用されます。
outboundType
を設定するには、vm-set-type
をVirtualMachineScaleSets
に、load-balancer-sku
をStandard
に設定した AKS クラスターが必要です。outboundType
の値をUDR
に設定するには、クラスターの送信接続が有効なユーザー定義ルートが必要です。outboundType
の値をUDR
に設定すると、ロード バランサーにルーティングされるイングレス ソース IP がクラスターのエグレス方向の送信先アドレスと一致しない可能性があります。
ユーザー定義ルーティング テーブルを使用したエグレスのカスタマイズの概要
userDefinedRouting
が設定されている場合、AKS はエグレス パスを自動的には構成しません。つまり、ユーザー自身でエグレスを構成する必要があります。
Standard ロード バランサー (SLB) アーキテクチャを使用しない場合は、明示的にエグレスを確立する必要があります。 以前に構成済みのサブネットがある既存の仮想ネットワークに AKS クラスターをデプロイする必要があります。 このアーキテクチャでは、ファイアウォール、ゲートウェイ、プロキシなどのアプライアンスにエグレス トラフィックを明示的に送信する必要があるため、Standard ロード バランサーまたはアプライアンスに割り当てられたパブリック IP でネットワーク アドレス変換 (NAT) を処理できます。
userDefinedRouting
を使用したロード バランサーの作成
送信の種類の UDR を使用する AKS クラスターは、種類が "loadBalancer
" の最初の Kubernetes サービスがデプロイされている場合にのみ、Standard ロード バランサーを取得します。 ロード バランサーは、"受信" 要求用のパブリック IP アドレスと、"受信" 要求用のバックエンド プールで構成されます。 Azure クラウド プロバイダーは受信規則を構成しますが、送信パブリック IP アドレスまたは送信規則は構成しません。 UDR がエグレス トラフィックの唯一のソースとなります。
Note
Azure ロード バランサーでは、規則が設定されるまでは料金が発生しません。
UDR および Azure Firewall の送信の種類を使用してクラスターをデプロイする
ユーザー定義ルートを使用して、送信の種類のクラスターでアプリケーションを確認するには、こちらのAzure ファイアウォールを使用してエグレス トラフィックを制限する例をご覧ください。
重要
送信の種類の UDR には、ルート テーブルに 0.0.0.0/0 へのルートと、NVA の次のホップの宛先が存在している必要があります。 ルート テーブルには、インターネットに対するデフォルトの 0.0.0.0/0 が既に存在します。 Azure でソース ネットワーク アドレス変換 (SNAT) に使用されるパブリック IP アドレスがない場合、このルートを追加するだけでは送信インターネット接続は提供されません。 AKS は、インターネットを指す 0.0.0.0/0 のルートが作成されておらず、ゲートウェイや NVA などを指すルートが作成されたことを検証します。送信の種類の UDR を使用する場合、loadbalancer の種類のサービスが構成されていない限り、受信要求用ロード バランサーのパブリック IP アドレスは作成されません。 送信の種類の UDR を設定した場合、送信要求用パブリック IP アドレスが AKS によって作成されることはありません。
次のステップ
ユーザー定義ルートと Azure ネットワークについて詳しくは、以下ををご覧ください。
Azure Kubernetes Service