適用対象: ✔️ AKS 自動 ✔️ AKS Standard
ほとんどの運用ワークロードでは、AKS の推奨される運用環境対応の既定値は AKS Automatic です。 AKS 自動クラスターには、事前構成済みのマネージド NAT ゲートウェイが含まれます。
AKS Standard では、クラスターの AKS で管理される送信接続が必要な場合に、マネージド NAT ゲートウェイを作成または構成できます。 Bring Your Own (BYO) ネットワーク シナリオでは、ユーザー割り当て NAT ゲートウェイを使用します。
Azure Load Balancer経由でエグレス トラフィックをルーティングできますが、使用できるトラフィックの送信フローの数には制限があります。 Azure NAT Gatewayでは、IP アドレスあたり最大 64,512 個の送信 UDP および TCP トラフィック フローがサポートされ、最大 16 個の IP アドレスがサポートされます。 NAT ゲートウェイをサポートする送信の種類は、 managedNATGateway と userAssignedNATGatewayの 2 種類です。
この記事では、送信トラフィック用にマネージド NAT ゲートウェイとユーザー割り当て NAT ゲートウェイを使用して AKS クラスターを作成する方法について説明します。 また、Windowsの OutboundNAT を無効にする方法についても説明します。
注
API バージョン 2026-06-01 以降では、outboundType: managedNATGatewayの既定値は StandardV2 NAT ゲートウェイであり、プレビュー中に使用されるnatGatewayProfile.sku: StandardV2送信の種類ではなく、managedNATGatewayV2として表示されます。 プレビュー API のバージョン 2026-01-02-preview から 2026-05-02-preview までは、引き続き約 1 年間 managedNATGatewayV2 を受け入れるため、明示的な managedNATGateway を使用して sku に移行する時間があります。 プレビュー API の廃止日については、 AKS プレビュー API のライフ サイクルに関するドキュメントを参照してください。
前提条件
AKS 自動クラスターには、事前構成済みのマネージド NAT ゲートウェイが含まれます。 この記事の手順は、主に AKS Standard とカスタム ネットワークのシナリオを対象にしています。
- 最新バージョンの Azure CLIを使用していることを確認します。
- Kubernetes バージョン 1.20.x 以降を使用していることを確認します。
- マネージド NAT ゲートウェイは、カスタム仮想ネットワークと互換性がありません。
重要
非プライベート クラスターでは、API サーバー クラスター のトラフィックは、クラスターの送信の種類を通じてルーティングされ、処理されます。 API サーバー トラフィックがパブリック トラフィックとして処理されることを防ぐには、プライベート クラスターの使用を検討するか、API Server VNet 統合機能を確認してください。
AKS のマネージド NAT ゲートウェイ
AKS Automatic では、事前構成済みの運用対応の既定値の一部としてマネージド NAT ゲートウェイが使用されます。 このセクションは、AKS Standard を使用している場合、または AKS クラスターでのマネージド NAT ゲートウェイの動作を理解する必要がある場合に使用します。
マネージド NAT ゲートウェイは、AKS で管理される送信オプションです。 AKS は、クラスター ノードに送信接続を提供するために NAT ゲートウェイを作成および管理します。
必要な場合は、マネージド NAT ゲートウェイを使用します。
- 運用上のオーバーヘッドが少ない AKS で管理された送信接続。
- 運用環境に優しい既定の送信パス。
- カスタマー マネージド NAT ゲートウェイのデプロイよりも簡単なエグレス管理。
- 独自の NAT ゲートウェイ リソースを持ち込まない標準的な AKS ネットワーク モデル。
マネージド NAT Gateway を使用して AKS クラスターを作成する
送信 IP パラメーター
次の表では、各送信 IP パラメーターとその使用方法について説明します。
| パラメーター | 入力 | IP バージョン | パブリック IP を管理するのは誰か |
|---|---|---|---|
--nat-gateway-managed-outbound-ip-count |
[1, 16] の範囲の値。 希望のアウトバウンド IPv4 の数は、NAT ゲートウェイのアウトバウンド接続用です。 | IPv4 | Azure |
--nat-gateway-managed-outbound-ipv6-count |
[1, 16] の範囲の値。 NAT ゲートウェイの送信接続における必要なアウトバウンド IPv6 の数。 | IPv6 | Azure |
--nat-gateway-outbound-ips |
NAT ゲートウェイ送信接続用のコンマ区切りのパブリック IP リソース ID。 | IPv4 または IPv6 | カスタマー |
--nat-gateway-outbound-ip-prefixes |
NAT ゲートウェイ送信接続用のコンマ区切りのパブリック IP プレフィックス リソース ID。 | IPv4 または IPv6 | カスタマー |
マネージド NAT ゲートウェイ SKU を選択する
API バージョン 2026-06-01 以降、managedNATGateway は networkProfile.natGatewayProfile.sku を通じて StandardV2 および Standard の SKU をサポートしています。 StandardV2 は、要求がこの API バージョン以降を使用する場合に、サポートされているリージョンの新しいクラスターの既定値です。 以前のバージョンの API を使用する要求では、既存の Standard 動作が保持されます。
| Scenario | Behavior |
|---|---|
| SKU が指定されていない新しいクラスター | 既定値は StandardV2 (使用可能な場合) です。 AKS は、既定を適用する前にリージョンの可用性を検証します。 StandardV2 が使用できないリージョンでは、AKS は Standard を使用します。 |
| 既存の Standard クラスター | その NAT ゲートウェイ リソースを引き続き使用します。 API バージョン 2026-06-01 以降では、読み取り専用の natGatewayProfile.sku プロパティが Standardとして返されます。 |
| Standard から StandardV2 へのアップグレード |
networkProfile.natGatewayProfile.sku を StandardV2 に設定します。 |
| StandardV2 から Standard へのダウングレード | サポートされていません。 |
StandardV2 NAT ゲートウェイは既定でゾーン冗長であり、帯域幅とスループットが高いため、推奨されます。 StandardV2 には、StandardV2 パブリック IP アドレスとプレフィックスが必要です。 既存の Standard SKU パブリック IP リソースは、StandardV2 NAT ゲートウェイと互換性がありません。 サポートされていないリージョンの現在の一覧については、 StandardV2 NAT ゲートウェイの主な制限事項 を確認してください。
StandardV2 パブリック IP 要件は、NAT ゲートウェイの送信 IP にのみ適用されます。
type: LoadBalancer サービスを提供する AKS マネージド ロード バランサーは Standard ロード バランサーのままであり、Standard パブリック IP が必要です。 タグ付けされたパブリック IP インベントリを事前にプロビジョニングする場合は、両方の SKU (NAT ゲートウェイ エグレスの場合は StandardV2、受信サービスの場合は Standard) を計画します。
マネージド NAT ゲートウェイ SKU の機能
managedNATGateway送信の種類では、networkProfile.natGatewayProfile.skuの値に応じてさまざまな機能がサポートされます。
| 能力 | StandardV2 |
Standard |
|---|---|---|
| 新しいクラスターの既定値 | お客様が明示的に Standard を選択しない限り、使用可能な場合は既定で使用します。 |
明示的に選択されている場合、または StandardV2 がリージョンで使用できない場合に使用されます。 |
| 可用性ゾーンの動作 | ゾーンは既定で冗長です。 | クラスターの構成に応じて、ゾーンまたは非ゾーンになります。 |
| Azure マネージド送信 IPv4 アドレス | Supported. | Supported. |
| Azure マネージド送信 IPv6 アドレス | Supported. | サポートされていません。 |
| 顧客が定義した送信 IP アドレスとプレフィックス | StandardV2 パブリック IP アドレスとプレフィックスでサポートされます。 | AKS で管理される NAT ゲートウェイではサポートされていません。 |
AKS クラスターを作成する
--outbound-type managedNATGateway コマンドを az aks create パラメーターと共に実行して、AKS クラスターを作成します。 AKS の既定では、サポートされているリージョンでは StandardV2 SKU、サポートされていないリージョンでは Standard SKU が使用されます。
az aks create \
--resource-group <resource-group> \
--name <cluster-name> \
--location <location> \
--outbound-type managedNATGateway \
--nat-gateway-managed-outbound-ip-count 1 \
--generate-ssh-keys
重要
既存のマネージド Standard NAT ゲートウェイを StandardV2 にアップグレードすることはできますが、マネージド StandardV2 NAT ゲートウェイを Standard にダウングレードすることはできません。
マネージド StandardV2 NAT ゲートウェイの送信 IP を構成する
StandardV2 を使用できるリージョンでは、送信アドレスを構成するには、次の1つの方法のいずれかを使用します。 Azure 管理の送信 IP 構成と顧客定義の送信 IP 構成を組み合わせることはできません。
Azureマネージド IP を使用する
managedOutboundIPProfileを使用して、AKS で送信パブリック IPv4 アドレスと IPv6 アドレスを割り当て、管理します。
{
"properties": {
"networkProfile": {
"outboundType": "managedNATGateway",
"natGatewayProfile": {
"managedOutboundIPProfile": {
"count": 1,
"countIPv6": 1
}
}
}
}
}
顧客が定義した IP とプレフィックスを使用する
事前に作成されたパブリック IP アドレスまたはプレフィックスを指定するには、 outboundIPs と outboundIPPrefixes を使用します。 これらのリソースでは、StandardV2 SKU を使用する必要があります。 既存の Standard SKU パブリック IP アドレスとプレフィックスは、StandardV2 NAT ゲートウェイと互換性がありません。
ゾーン冗長 StandardV2 パブリック IP アドレスとパブリック IP プレフィックスを作成します。
export MY_IP_ID=$(az network public-ip create \ --resource-group $MY_RG \ --name $MY_IP \ --location eastus2 \ --sku StandardV2 \ --allocation-method Static \ --version IPv4 \ --zone 1 2 3 \ --query publicIp.id \ --output tsv) export MY_IP_PREFIX_ID=$(az network public-ip prefix create \ --resource-group $MY_RG \ --name $MY_IP_PREFIX \ --location eastus2 \ --length 31 \ --sku StandardV2 \ --version IPv4 \ --zone 1 2 3 \ --query id \ --output tsv)StandardV2 NAT Gateway をサポートするリージョンで、マネージド NAT Gateway の送信の種類をデプロイし、AKS クラスター構成でパブリック IP アドレスとプレフィックスを参照します。
{ "properties": { "networkProfile": { "outboundType": "managedNATGateway", "natGatewayProfile": { "outboundIPs": { "publicIPs": [ "<standard-v2-public-ip-resource-id>" ] }, "outboundIPPrefixes": { "publicIPPrefixes": [ "<standard-v2-public-ip-prefix-resource-id>" ] } } } } }
送信 IP 所有権モデルは、StandardV2 NAT ゲートウェイが最初に作成されるときに決定されます。 選択したモデル内の個々の送信 IP リソースを変更できますが、既存の NAT ゲートウェイを、Azure マネージドの送信 IP と顧客定義の送信 IP 間で切り替えることはできません。 NAT ゲートウェイ SKU を変更することもできません。 StandardV2 から Standard へのダウングレードはサポートされていません。
を使用して AKS クラスターを作成する userAssignedNatGateway
この構成では、(Azure CNI 経由で) 独自のネットワークを使用し、NAT ゲートウェイがサブネットに事前構成されている必要があります。 この outbound-typeでは、Standard と StandardV2 の両方の NAT ゲートウェイがサポートされています。 次のコマンドでは、AKS クラスターの StandardV2 NAT ゲートウェイ リソースをデプロイするために必要なリソースを作成します。
az group createコマンドを使用して、リソース グループを作成します。# Set environment variables for resource group, AKS cluster, public IP, and public IP prefix names export RANDOM_SUFFIX=$(openssl rand -hex 3) export MY_RG="myResourceGroup$RANDOM_SUFFIX" # Create the resource group az group create --name $MY_RG --location southcentralusネットワークアクセス許可のマネージド ID を作成し、後で使用するために
$IDENTITY_IDに ID を格納します。export IDENTITY_NAME="myNatClusterId$RANDOM_SUFFIX" export IDENTITY_ID=$(az identity create \ --resource-group $MY_RG \ --name $IDENTITY_NAME \ --location southcentralus \ --query id \ --output tsv)出力例:
/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myNatClusterIdxxxaz network public-ip createコマンドを使用して、NAT ゲートウェイの StandardV2 パブリック IP を作成します。 StandardV2 NAT ゲートウェイには、StandardV2 パブリック IP アドレスが必要です。export PIP_NAME="myNatGatewayPip$RANDOM_SUFFIX" az network public-ip create \ --resource-group $MY_RG \ --name $PIP_NAME \ --location southcentralus \ --allocation-method Static \ --version IPv4 \ --zone 1 2 3 \ --sku standard-v2az network nat gateway createコマンドを使用して StandardV2 NAT ゲートウェイを作成します。export NATGATEWAY_NAME="myNatGateway$RANDOM_SUFFIX" az network nat gateway create \ --resource-group $MY_RG \ --name $NATGATEWAY_NAME \ --location southcentralus \ --public-ip-addresses $PIP_NAME \ --sku StandardV2 --idle-timeout 4重要
ゾーンの冗長性を確保するには、リージョン内の複数の可用性ゾーンにまたがる StandardV2 NAT ゲートウェイ リソースをデプロイします。 この構成により、1 つのゾーンで障害が発生した場合でも、継続的な送信接続が保証されます。 StandardV2 NAT ゲートウェイとその利点の詳細については、「 StandardV2 NAT ゲートウェイ」を参照してください。 これに対して、Standard NAT ゲートウェイ リソースは、デプロイする可用性ゾーン内でのみ回復性を提供します。
az network vnet createコマンドを使用して、仮想ネットワークを作成します。export VNET_NAME="myVnet$RANDOM_SUFFIX" az network vnet create \ --resource-group $MY_RG \ --name $VNET_NAME \ --location southcentralus \ --address-prefixes 172.16.0.0/20NAT ゲートウェイを使用して仮想ネットワークにサブネットを作成し、後で使用できるように ID を
$SUBNET_IDに保存します。export SUBNET_NAME="myNatCluster$RANDOM_SUFFIX" export SUBNET_ID=$(az network vnet subnet create \ --resource-group $MY_RG \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --address-prefixes 172.16.0.0/22 \ --nat-gateway $NATGATEWAY_NAME \ --query id \ --output tsv)az aks createコマンドを使用して、NAT ゲートウェイがあるサブネットとマネージド ID を使用する AKS クラスターを作成します。export AKS_NAME="myNatCluster$RANDOM_SUFFIX" az aks create \ --resource-group $MY_RG \ --name $AKS_NAME \ --location southcentralus \ --network-plugin azure \ --vnet-subnet-id $SUBNET_ID \ --outbound-type userAssignedNATGateway \ --assign-identity $IDENTITY_ID \ --generate-ssh-keys
実稼働に関する考慮事項
運用環境でマネージド NAT ゲートウェイを使用する場合は、送信トラフィックの動作、API サーバーのアクセス、ワークロードの回復性を計画します。
- ほとんどの AKS ワークロードで推奨される運用環境対応の既定値が必要な場合は、AKS Automatic を使用します。
- 独自の NAT ゲートウェイを使用せずに AKS で管理される送信接続が必要な場合は、AKS Standard でマネージド NAT ゲートウェイを使用します。
- API サーバー トラフィックの露出を減らす場合は、プライベート クラスターまたは API Server VNet 統合を使用します。
- 公開する前に、送信 IP 要件を確認します。
- ワークロードが固定の送信アドレスに依存している場合は、デプロイ前にマネージド NAT ゲートウェイがこれらの要件を満たしていることを検証します。
- AKS とは別に NAT を管理する必要がある場合は、ユーザー割り当て NAT ゲートウェイを使用します。
Windows のアウトバウンドNATを無効にする
outboundNAT Windows、AKS ポッドとの特定の接続と通信の問題を引き起こす可能性があります。 問題問題の一例として、ノード ポートの再利用があります。 この例では、Windows OutboundNAT はポートを使用してポッド IP を Windows ノード ホスト IP に変換します。これにより、ポート不足の問題が原因で外部サービスへの接続が不安定になる可能性があります。
Windowsは、既定で OutboundNAT を有効にします。 新しいWindows エージェント プールを作成するときに、OutboundNAT を手動で無効にできるようになりました。
前提条件と制限事項
- v1.26 以降の既存の AKS クラスターが必要です。 Kubernetes バージョン 1.25 以前を使用している場合は、 デプロイ構成を更新します。
- クラスターの送信の種類を LoadBalancer に設定することはできません。 NAT ゲートウェイまたは UDR に設定できます。
- NAT ゲートウェイ: NAT ゲートウェイは NAT 接続を自動的に処理し、Standard Load Balancerよりも強力です。 このオプションを使用すると、追加料金が発生する場合があります。
- UDR (UserDefinedRouting): ルーティング規則を構成する場合は、ポートの制限事項に留意する必要があります。
- ロード バランサーから NAT ゲートウェイに切り替えるには、NAT ゲートウェイを VNet に追加するか、
az aks upgrade実行して送信の種類を更新します。
注
UserDefinedRouting には次の制限があります。
- Load Balancerによる SNAT (既定の送信NAT を使用する必要があります) には、ホスト IP に 64 個のポートがあります。
- SNAT by Azure Firewall (アウトバウンドNAT を無効にする) には、パブリック IP あたり 2,496 ポートがあります。
- SNAT by NAT ゲートウェイ (アウトバウンド NAT を無効にする) には、パブリック IP あたり 64,512 ポートがあります。
- Azure Firewallポート範囲がアプリケーションに対して十分でない場合は、NAT ゲートウェイを使用する必要があります。
- 宛先 IP アドレスが IANA RFC 1918 または IANA RFC 6598 ごとの共有アドレス空間のプライベート IP アドレス範囲にある場合、Azure Firewallはネットワーク 規則を使用して SNAT を行いません。
Windowsの OutboundNAT を手動で無効にする
az aks nodepool addフラグを指定して--disable-windows-outbound-natコマンドを使用して新しいWindows エージェント プールを作成するときに、Windowsの outboundNAT を手動で無効にします。注
既存の AKS クラスターを使用できますが、送信の種類を更新し、ノード プールを追加して
--disable-windows-outbound-natを有効にすることが必要な合があります。export WIN_NODEPOOL_NAME="win$(head -c 1 /dev/urandom | xxd -p)" az aks nodepool add \ --resource-group $MY_RG \ --cluster-name $MY_AKS \ --name $WIN_NODEPOOL_NAME \ --node-count 3 \ --os-type Windows \ --disable-windows-outbound-nat出力例:
{ "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myNatClusterxxx/agentPools/mynpxxx", "name": "mynpxxx", "osType": "Windows", "provisioningState": "Succeeded", "resourceGroup": "myResourceGroupxxx", "type": "Microsoft.ContainerService/managedClusters/agentPools" }
関連するコンテンツ
Azure NAT Gatewayと AKS Automatic の詳細については、次の記事を参照してください。