Application Gateway v1 Retirement Migrationを理解するための前提
Application Gateway v1は2026-04-28にretire済みでMicrosoft support/SLA対象外。残存v1はtraffic disruption/deletion riskがある。 Microsoftのmigration guideはconfiguration migrationとclient traffic migrationの2段階を示す。
v2はautoscaling、zone redundancy、static VIPなどv1より新しいcapabilityを持つ。 migration scriptでcloneしてもcertificate/Key Vault/WAF/custom probe/backend/DNS等のruntime behaviorを別途検証する。
client traffic cutoverはDNS/CNAME/public IP/frontendの依存を把握し、TTLとrollbackを設計する。 v1を「動いているから残す」状態はacceptanceにせず、v2でobservable behaviorを再現してからretireする。
Control plane と data plane
仕組みと設計上の意味
migrationはin-place SKU upgradeではなくnew v2 gatewayへconfiguration/trafficを移す。
clone後にresource ID、managed identity、Key Vault permission、certificate rotationなどidentity dependencyを確認する。
backend healthがHealthyでもHost header/TLS/SNI/application behaviorの完全一致を保証しない。
DNS cutoverはnew/old両frontendを観測し、old accessが減ったことを確認してから削除する。
Packet / decision path
source→destinationを1本のflowとして固定し、名前解決・routing・security・NAT/service processing・return pathを必要な範囲で順に確認する。
- v1 inventory/config export。
- v2 configuration clone/create。
- v2 backend health/WAF/log/direct test。
- DNS/client trafficを段階cutover。
- error/latency/healthを監視しrollback window後にv1 cleanup。
設計判断
| 判断点 | 推奨 | 理由 |
|---|---|---|
| Migration urgency | 即時着手 | v1は既にretire済み |
| Cutover | parallel v2 + DNS/client switch | rollback可能性確保 |
| WAF | policy/rule/exclusion比較 | security regression防止 |
| Certificates | Key Vault/renewal pathまで検証 | cloneだけで終わらせない |
確認手順
Azure Portal
- v1/v2 OverviewでSKU/provisioning stateを確認。
- Listeners/Rules/Backend health/WAF policyをside-by-side比較。
- Azure Monitorでv2 4xx/5xx/latencyとaccess/firewall logsを確認。
Evidence contract
az network application-gateway show -g <rg> -n <appgw> --query "{sku:sku,frontend:frontendIPConfigurations,listeners:httpListeners,rules:requestRoutingRules}" -o jsonc
az network application-gateway show-backend-health -g <rg> -n <appgw> -o jsoncGet-AzApplicationGateway -ResourceGroupName <rg> -Name <appgw>
Get-AzApplicationGatewayBackendHealth -Name <appgw> -ResourceGroupName <rg>
障害切り分け
| 症状 | 疑う点 | 証拠 | 次の確認 |
|---|---|---|---|
| v2 backend unhealthy | probe/Host/TLS/DNS差 | backend health detail | backend settings/probe修正 |
| 一部clientだけv1 | DNS cache/TTL | resolver/client DNS | TTL期間併存 |
| WAF block増加 | policy/version/exclusion差 | WAF logs | rule parity確認 |
| certificate error | Key Vault/secret/cert binding | listener cert state | identity/secret permission修正 |
変更・rollback
- v1 config exportとDNS TTLをchange前に保存。
- v2 direct validationが完了するまでv1を削除しない。
- rollbackはDNS/frontendをv1へ戻し、new connectionsで確認。
- rollback後もv2 issue evidenceを保持して再移行に使う。