Azure Kubernetes Service (AKS) で送信の種類を使用してクラスター エグレスをカスタマイズする

特定のシナリオに合わせて、AKS クラスターのエグレスをカスタマイズできます。 AKS の既定では、標準 SKU ロード バランサーがプロビジョニングされ、エグレス用に設定および使用されます。 ただし、パブリック IP が許可されていない場合、またはエグレスに追加のホップが必要な場合、既定の設定ではすべてのシナリオの要件を満たせない可能性があります。

この記事では、AKS クラスターで使用できるさまざまな種類の送信接続について説明します。

Note

クラスターの作成後に outboundType を更新できるようになりました。

制限事項

  • outboundType を設定するには、vm-set-typeVirtualMachineScaleSetsload-balancer-skuStandard に設定した AKS クラスターが必要です。

AKS の送信の種類

送信の種類としてロード バランサー、NAT ゲートウェイ、またはユーザー定義ルーティングを使用して、AKS クラスターを構成できます。 送信の種類は、クラスターのエグレス トラフィックにのみ影響します。 詳細については、イングレス コントローラーの設定に関する記事を参照してください。

Note

UDR と Kubernet ネットワークでは、独自の [ルート テーブル][byo-route-table] を使用できます。 クラスター ID (サービス プリンシパルまたはマネージド ID) に、カスタム ルート テーブルへの共同作成者のアクセス許可があることを確認します。

loadBalancer の送信の種類

ロード バランサーは、AKS に割り当てられたパブリック IP を経由したエグレスに使用されます。 loadBalancer の送信の種類は、種類 loadBalancer の Kubernetes サービスをサポートします。このサービスでは、AKS リソース プロバイダーによって作成されたロード バランサーからのエグレスが想定されます。

loadBalancer が設定されている場合、AKS によって次の構成が自動的に完了します。

  • パブリック IP アドレスは、クラスターのエグレス用にプロビジョニングされます。
  • パブリック IP アドレスは、ロード バランサーのリソースに割り当てられます。
  • ロード バランサーのバックエンド プールは、クラスター内のエージェント ノードに設定されます。

Diagram shows ingress I P and egress I P, where the ingress I P directs traffic to a load balancer, which directs traffic to and from an internal cluster and other traffic to the egress I P, which directs traffic to the Internet, M C R, Azure required services, and the A K S Control Plane.

詳細については、AKS で標準ロード バランサーを使用することに関するページを参照してください。

managedNatGateway または userAssignedNatGateway の送信の種類

outboundTypemanagedNatGateway または userAssignedNatGateway が選択されている場合、AKS はクラスター エグレスに Azure Networking NAT ゲートウェイを使用します。

  • マネージド仮想ネットワークを使用する場合は、managedNatGateway を選択します。 AKS によって NAT ゲートウェイがプロビジョニングされ、クラスター サブネットにアタッチされます。
  • 独自の仮想ネットワークを使用する場合は、userAssignedNatGateway を選択します。 このオプションを選択するには、クラスターの作成前に NAT ゲートウェイをプロビジョニングしておく必要があります。

詳細については、AKS で NAT ゲートウェイを使用することに関するページを参照してください。

userDefinedRouting の送信の種類

Note

userDefinedRouting の送信の種類は高度なネットワーク シナリオであり、適切なネットワーク構成が必要です。

userDefinedRouting を設定しても、エグレス パスは AKS によって自動的に構成されません。 エグレス セットアップは、ユーザーが行う必要があります。

以前構成済みのサブネットがある既存の仮想ネットワークに AKS クラスターをデプロイする必要があります。 標準ロード バランサー (SLB) アーキテクチャを使用していないため、明示的なエグレスを確立する必要があります。 このアーキテクチャでは、ファイアウォール、ゲートウェイ、プロキシなどのアプライアンスにエグレス トラフィックを明示的に送信するか、標準ロード バランサーまたはアプライアンスに割り当てられたパブリック IP によって NAT を実行できるようにする必要があります。

詳細については、ユーザー定義ルーティングを使用してクラスター エグレスを構成することに関するページを参照してください。

クラスターの作成後に outboundType を更新する

クラスターの作成後に送信の種類を変更すると、クラスターを新しいエグレス構成に配置するために必要なリソースがデプロイまたは削除されます。

次の表は、マネージド仮想ネットワークと BYO 仮想ネットワークの送信の種類の間でサポートされている移行パスを示したものです。

マネージド VNet でサポートされている移行パス

マネージド VNet loadBalancer managedNATGateway userAssignedNATGateway userDefinedRouting
loadBalancer 該当なし サポートされています サポートされていません サポートされています
managedNATGateway サポートされています N/A サポートされていません サポートされています
userAssignedNATGateway サポートされていません サポートされていません なし サポートされていません
userDefinedRouting サポートされています サポート対象 サポートされていません 該当なし

BYO VNet でサポートされている移行パス

BYO VNet loadBalancer managedNATGateway userAssignedNATGateway userDefinedRouting
loadBalancer 該当なし サポートされていません サポートされています サポートされています
managedNATGateway サポートされていません なし サポートされていません サポートされていません
userAssignedNATGateway サポートされています サポートされていません 該当なし サポートされています
userDefinedRouting サポートされています サポートされていません サポートされています N/A

移行は、loadBalancermanagedNATGateway (マネージド仮想ネットワークを使用している場合)、userAssignedNATGatewayuserDefinedRouting (カスタム仮想ネットワークを使用している場合) の間でのみサポートされています。

警告

送信の種類をユーザー管理型 (userAssignedNATGateway および userDefinedRouting) に移行すると、クラスターの送信パブリック IP アドレスが変更されます。 [承認された IP 範囲] が有効になっている場合は、承認された IP 範囲に新しい送信 IP 範囲が追加されていることを確認してください。

警告

クラスターの送信の種類を変更すると、ネットワーク接続が中断され、クラスターのエグレス IP アドレスが変更されます。 クラスターからのトラフィックを制限するようにファイアウォール規則が構成されている場合は、新しいエグレス IP アドレスに一致するように更新する必要があります。

新しい送信の種類を使用するようにクラスターを更新する

Note

送信の種類の移行には、Azure CLI のバージョン >= 2.56 を使用する必要があります。 az upgrade を使用して、Azure CLI の最新バージョンに更新してください。

  • az aks update コマンドを使用して、クラスターの送信構成を更新します。

クラスターを loadbalancer から managedNATGateway に更新する

az aks update -g <resourceGroup> -n <clusterName> --outbound-type managedNATGateway --nat-gateway-managed-outbound-ip-count <number of managed outbound ip>

クラスターを managedNATGateway から loadbalancer に更新する

az aks update -g <resourceGroup> -n <clusterName> \
--outbound-type loadBalancer \
<--load-balancer-managed-outbound-ip-count <number of managed outbound ip>| --load-balancer-outbound-ips <outbound ip ids> | --load-balancer-outbound-ip-prefixes <outbound ip prefix ids> >

警告

以前の送信構成で既に使用されている IP アドレスは再利用しないでください。

managedNATGateway から userDefinedRouting にクラスターを更新する

az aks update -g <resourceGroup> -n <clusterName> --outbound-type userDefinedRouting

BYO vnet シナリオでクラスターを loadbalancer から userAssignedNATGateway に更新する

az aks update -g <resourceGroup> -n <clusterName> --outbound-type userAssignedNATGateway

次のステップ