次の方法で共有


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

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

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

Note

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

重要

公開クラスターでは、API サーバー クラスターのトラフィックは、クラスターのアウトバウンド タイプを通じてルーティングされ、処理されます。 API サーバー トラフィックがパブリック トラフィックとして処理されることを防ぐには、プライベート クラスターの使用を検討するか、API Server VNet 統合機能を確認してください。

制限事項

  • 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 アドレスは、ロード バランサーのリソースに割り当てられます。
  • ロード バランサーのバックエンド プールは、クラスター内のエージェント ノードに設定されます。

イングレス IP とエグレス IP を示す図 (トラフィックはイングレス IP からロード バランサーに送信され、内部クラスター間で送受信され、他のトラフィックはエグレス IP に送信され、インターネット、MCR、Azure の必須サービス、AKS コントロール プレーンに送信されます)。

詳細については、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 でサポートされている移行パス

各行は、送信の種類を上部に表示されている種類に移行できるかどうかを示します。 "サポート対象" とは移行が可能であることを意味し、"サポート対象外" または "N/A" は移行できないことを意味します。

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

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

From|To 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 --resource-group <resourceGroup> --name <clusterName> --outbound-type managedNATGateway --nat-gateway-managed-outbound-ip-count <number of managed outbound ip>

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

az aks update --resource-group <resourceGroup> --name <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 --resource-group <resourceGroup> --name <clusterName> --outbound-type userDefinedRouting

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

az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userAssignedNATGateway

次のステップ