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

AKS Ingress Patterns

AKS ingressをL4 LoadBalancer Service、Gateway API、Application Gateway for Containers、Application Routing add-on、service mesh ingressから要件で選ぶ。

この記事の目次

AKS Ingress Patternsを理解するための前提

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

非HTTPのTCP/UDP workloadはKubernetes LoadBalancer ServiceによるLayer 4 exposureが基本候補。HTTP/HTTPS/gRPC等はLayer 7 ingress/Gatewayを使う。 Microsoftのcurrent guidanceはHTTP-like trafficにmanaged ingress optionsを提示し、Application Gateway for Containersをrecommended optionの一つとしている。

Kubernetes Gateway APIはIngress APIのsuccessor/evolutionとしてrole-orientedなresource modelを提供し、AKSもlong-term ingress standardへ移行している。 AKS AutomaticではAKS 1.36以降の新規clusterでapplication routing add-onのKubernetes Gateway APIが既定となるため、新規設計ではGateway APIをbaselineとして扱う。

upstream Ingress NGINX projectは2026年3月にmaintenance終了。AKS application routing add-onのNGINX Ingress resourcesにはMicrosoftが2026年11月までcritical security patch supportを提供する。 2026年9月時点ではmanaged NGINXを新規long-term architectureの終着点にせず、Gateway API implementationやApplication Gateway for Containers等へのmigration pathを持つ。

Ingress controllerが正常でもService/EndpointSlice/pod readiness/NetworkPolicy/backend TLSが壊れていればapplicationは到達しない。L7→Service→Podまで通しで検証する。

通信経路と責任境界

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

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

Address / identityWhere it lives運用上の意味
Client endpointDNS/IP + protocolL4かL7かを最初に決める。
Listener/GatewayTLS/SNI/host/pathshared ingressのplatform boundary。
ServiceClusterIP/LoadBalancer等Kubernetes service abstractionとexternal Azure resourceを区別。
Pod backendEndpointSlice-selected workloadroute成功とapplication readinessを別に確認。
重要: IPアドレスそのものとworkload/service identityを混同しません。autoscale・reschedule・SNAT・load balancingでaddressは変化するため、Kubernetes metadataとAzure resource identityを合わせて記録します。

設計判断

判断軸確認する問い設計として固定すること
ProtocolHTTP-likeかarbitrary TCP/UDPかHTTP-like→L7/Gateway、非HTTP→L4 Serviceを基準。
Gateway APIrole split/portable route modelが必要か新規L7はGateway API capable optionを優先。
Azure-managed L7cluster外data plane/WAF/Azure integrationが必要かApplication Gateway for Containersを評価。
MeshmTLS/service meshを既に採用するかIstio ingress等をmesh architectureと一体で評価。
Legacy NGINX既存application routing NGINXがあるか2026-11 support horizonをmigration deadlineとして計画。

実装・移行の順序

  1. protocol/port/host/path/TLS/client source requirementsをtraffic matrixへ。
  2. 候補をL4 / managed Gateway API / AGfC / meshに絞り、legacy NGINXはmigration sourceとして扱う。
  3. 1つのrepresentative appでfrontend→Service→Podまでend-to-end pathを作る。
  4. TLS certificate rotation、backend health、route status、negative host/pathを試験する。
  5. private ingressの場合はDNS/VNet/NSG routeをpublic testと分けて確認する。
  6. migrationはparallel ingress + low TTL/controlled cutoverで実施し、old endpointをrollback期間保持する。

運用で残しておく情報

観点残すべき運用証拠
FrontendDNS→IP、TLS cert/SNI、listener protocolを確認。
RouteGateway/Ingress statusとhost/path ruleを確認。
BackendService selector、EndpointSlice、pod readinessを確認。
SecurityNetworkPolicy/NSG/WAF等のdecision pointを特定。

変更前に確認する

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
kubectl get gatewayclass,gateway,httproute -A
kubectl get ingress -A
kubectl get svc,endpointslices -A
kubectl get pods -A -o wide

Common failure modes

症状疑うboundary確認・是正
frontend IPへ届くが404host/path route mismatchHost/SNIとroute rule/statusを確認。
502/503Service endpoint/readiness/backend TLSfrontendよりbackend chainを優先確認。
NGINX継続可否が不明support horizon見落としAKS managed NGINXは2026-11までのcritical patch supportを前提にmigration計画。
TCP workloadをL7へ押し込むprotocol mismatchLoadBalancer Service等L4 optionへ戻す。

Change safety / rollback

一括変更を避ける: 2026年はIngress NGINX migration horizonが実務上重要。既存環境が動いていることを理由にsupport deadlineを無視せず、route semanticsとcertificateを比較できるparallel migrationを設計する。

Official sources