AKS & Container Networking参照資料確認: 2026-09-11

AKS Egress Design

AKS egressをoutboundType、UDR、NAT Gateway、Firewall/NVA、SNAT identity、required dependencies、network-isolated modeまで含むpacket pathとして設計する。

この記事の目次

AKS Egress Designを理解するための前提

AKS networkingは変化が速いため、旧方式とcurrent recommendationを区別して記載しています。実装直前には下記Microsoft Learnのcurrent constraints / region / version supportを再確認してください。

current AKSのoutboundTypeはload balancer、NAT gateway、user-defined routes、none、block(Preview)の選択肢としてMicrosoft Learnに整理されている。 loadBalancer outboundではAKSがegress用public IPとStandard Load Balancer backendを構成する。

userDefinedRoutingはadvanced scenarioで、AKSがegress pathを自動構成しない。cluster subnetへ0.0.0.0/0等のrouteを用意しFirewall/NVA/gatewayへ明示する。 noneはNetwork Isolated Cluster向けでAKSがegress pathを自動構成しない。必要な通信がある場合はBYO/custom network component側で用意する。

blockはmanaged VNetのNetwork Isolated Clusterでpublic internet egressをNSG ruleによりblockするPreview option。VNet trafficそのものは対象外。 outboundType変更はpublic egress IPとexisting connectionへ影響し得る。authorized IP rangeやexternal allowlistもchange scopeに含める。

通信経路と責任境界

調査原則: Kubernetes objectが正しいことはAzure data pathの正常性を保証せず、Azure resourceがHealthyであることもpod-to-pod/pod-to-serviceの成功を保証しません。source・destination・protocol・port・時刻を固定して両layerを照合します。

アドレスと識別情報の考え方

Address / identityWhere it lives運用上の意味
Pod sourceOverlayでは外向きにnodeへSNATされ得るpod IPをexternal allowlistへ直接登録する前提を置かない。
Node sourcenode subnet IPUDR/NSGのroute sourceでありOverlay egress identityにもなる。
Egress public IPSLB/NAT/Firewall/NVApartner allowlist・audit・failover時source identityとして管理。
Destination classAzure dependency/SaaS/on-prem/internetroute/inspection/DNS requirementをclassごとに分離。
重要: IPアドレスそのものとworkload/service identityを混同しません。autoscale・reschedule・SNAT・load balancingでaddressは変化するため、Kubernetes metadataとAzure resource identityを合わせて記録します。

設計判断

判断軸確認する問い設計として固定すること
Fixed source IPpartner allowlist等で固定sourceが必要かNAT/Firewall public IP inventoryとHA/scaleを設計。
InspectionFQDN/TLS/IDPS等central inspectionが必要かUDR + Firewall/NVA。asymmetric returnを避ける。
SNAT scale大量outbound connectionがあるかNAT Gateway等のSNAT scaleを計算。
Isolationpublic internetを許可しないclusterかNetwork Isolated + none/blockのcurrent constraintsを確認。
DNS/FQDNFirewall/FQDN policyで名前解決が一致するかpod resolverとinspection deviceのDNS viewを揃える。

実装・移行の順序

  1. destination class(Azure dependency / container registry / package repo / SaaS / on-prem)を列挙する。
  2. 各classへexpected route、inspection、SNAT source、DNS resolverを記載する。
  3. cluster networkProfileのoutboundTypeとsubnet UDR/NSGをread-only取得する。
  4. canary podから代表destinationへ新規TCP/DNS testを実行し、destination側source IPを確認する。
  5. Firewall/NAT/LB metrics/logsでactual next hopとSNATを照合する。
  6. outboundType/UDR変更時は既存session断、allowlist更新、rollback routeを含むmaintenance planを作る。

運用で残しておく情報

観点残すべき運用証拠
ProfileoutboundType / loadBalancerProfile / natGatewayProfileを取得。
Routenode subnet route tableで0/0とmore-specific private routesを確認。
Source identityexternal endpointでobserved source public IPを確認。
DependenciesAKS/ACR/monitoring/DNS等のrequired egressがpolicyでblockされていないか確認。

変更前に確認する

Control state

AKS networkProfile、Kubernetes object、Azure associationをread-onlyで採取し、desired configurationを固定する。

Data plane

同じ5-tupleで実通信し、forward path・return path・source translation・policy decisionを証明する。

Observability

DNS/TCP/flow/drop/backend health等、障害点に対応するsignalを同一時刻で収集する。

Negative test

allowだけでなく、禁止すべき通信が明示的に失敗することもsecurity acceptanceへ含める。

Read-only / discovery commands
az aks show -g <rg> -n <cluster> --query networkProfile -o jsonc
az aks show -g <rg> -n <cluster> --query nodeResourceGroup -o tsv
kubectl get pods -A -o wide

Common failure modes

症状疑うboundary確認・是正
podからinternet不可outboundType/UDR/Firewall deny/SNAT0/0 next hop→device policy→SNAT capacityの順で確認。
一部SaaSだけ不可FQDN/DNS/TLS inspection/partner allowlistresolved IPとobserved source IPを双方確認。
outboundType変更後切断egress IP変更/connection resetallowlist更新と既存session影響をchange planへ。
UDRなのにbypassmore-specific route/service endpoint等effective routeのprefix priorityを確認。

Change safety / rollback

一括変更を避ける: egress changeはcluster bootstrap/upgrade/monitoringまで巻き込む。business workloadだけでなくAKS platform dependencyの通信を含むacceptance matrixを用意する。

Official sources