azure-infra-validation · git:20260705.848fd9b · 2026-07-05 · sha256 92d8d5dd76b47698
azure-infra-validation git:20260705.848fd9bA
Immutable. This exact content is served forever at /api/v1/blob/92d8d5dd76b47698.
--- name: azure-infra-validation description: "Build and validate Azure infrastructure in a lab or sandbox using Azure CLI and official Microsoft docs. Use when creating verification environments, provisioning hub-and-spoke VNets, VPN Gateway or ExpressRoute-adjacent validation labs, checking subscription/tenant access, debugging Azure deployment constraints, comparing before/after route behavior, or cleaning up lab resources. Triggers on 'Azure 検証', '検証環境', 'PoC', 'sandbox', 'lab', 'Azure CLI で構築', 'VPN Gateway', 'VNet peering', 'BGP', 'route validation', 'summarizedGatewayPrefixes', 'デプロイして検証', 'インフラ検証'." argument-hint: "tenant ID, subscription ID, target topology, validation goal, cost/cleanup expectation" user-invocable: true license: CC BY-NC-SA 4.0 metadata: author: yamapan (https://github.com/aktsmm) --- <!-- Author: aktsmm Repository: https://github.com/aktsmm/AzureQA License: CC BY-NC-SA 4.0 Copyright (c) 2025 aktsmm DO NOT REMOVE OR MODIFY THIS SIGNATURE BLOCK. --> # Azure Infra Validation Azure 環境で検証・PoC・構築・設定変更を伴う確認を、安全な lab/sandbox 前提で進めるための workspace skill。 `azure-troubleshooting` が本番障害の read-only 切り分けに寄っているのに対し、この skill は **検証用構成の作成、状態監視、制約回避、before/after 比較、cleanup** までを扱う。 ## When to Use - Azure 上に検証環境を新規構築して、機能や制約を試したいとき - VPN Gateway、VNet peering、BGP、Route Server、Private Endpoint、Hub-and-Spoke などのネットワーク機能を lab で確かめたいとき - ExpressRoute 本番構成の代替として、Azure-only の最小検証を組みたいとき - Azure CLI で read/write 前提のインフラ検証を進めたいとき - デプロイ中の Azure リソースを監視し、READY になったら次工程へ進めたいとき - 検証で出た Azure の SKU / zone / auth / region 制約をその場で回避しながら前に進めたいとき - 構築結果と before/after の観測値を `Answer/` や `reports/` に反映したいとき ## When NOT to Use - 本番障害を read-only で切り分けたいとき - → `azure-troubleshooting` - 単なる製品 Q&A や仕様確認だけをしたいとき - → 通常の Docs 調査 - 回線事業者や on-prem 実機が必要な本番 ExpressRoute の end-to-end 検証を、この場で完了させたいとき - この skill では lab で近似検証はできるが、provider 側 peering や実機 FIC までは扱わない - Bicep / AVM で再利用前提の構成を設計・デプロイしたいとき - → `azure-env-builder` ## Inputs 最低限、以下のうち 2 つ以上を受け取る。 - tenant ID - subscription ID - 検証したい機能名 - 想定トポロジ(例: hub-and-spoke, VPN BGP, private endpoint) - コスト許容 - cleanup 必須かどうか 不足している場合は、`どの tenant/subscription に作るか` と `検証したい到達点` を最優先で確認する。 ## Core Rules - まず **本番を触るのか、lab/sandbox なのか** を明確にする - 本番を触る場合は destructive 変更をしない。検証は別 subscription を優先する - 変更を伴う検証は、**最小構成・低コスト構成** から始める - いきなりフル構成を作らず、**目的達成に必要な最小単位** で切ってから広げる - Azure CLI の認証状態、tenant、subscription を最初に固定する - Microsoft Learn で前提条件と制約を確認してからデプロイする - デプロイ前に、**その検証が本当に Azure-only で成立するか / 実機や provider が必要か** を feasibility check する - デプロイ中の長時間 Azure 操作は、**状態監視スクリプト** か status polling を使って次工程へ進む - 構成変更や設定変更の検証では、**変更前に観測スクリプトを準備**し、control-plane の変更時刻と dataplane / route の影響時刻を別々に取る - control-plane の検証と data-plane / route の検証を分けて考える - before/after 比較を必ず残す - `あとで Activity Log を見ればよい` と考えず、変更直後の polling で再収束時間や瞬断有無を採る - 検証後は cleanup 方針を明示する ## Decision Points ### 1. ExpressRoute そのものが必要か? - **必要なものが route advertisement の機能検証だけ** なら、まず VPN Gateway ベースの Azure-only ラボを優先する - **active circuit / private peering / BGP peering / provider 側 provisioning が必要** な本番 ExpressRoute 検証なら、この skill では「完全代替は不可」と明示する ### 2. Azure-only 最小検証で足りるか? - 足りる: VNet-to-VNet VPN + BGP + hub/spoke + `summarizedGatewayPrefixes` - 足りない: on-prem 実機 peer の癖や FIC 固有制約を見たい - → NVA / FRR / strongSwan / Bird を使う疑似 on-prem へ第2段階で拡張 ### 2.5. Feasibility check を先に通す 着手前に次を短く判定する。 - 目的は **機能の成立確認** か、**本番同等の end-to-end 検証** か - Azure-only で代替できるか - 低コスト SKU / 最小 spoke 数で始められるか - 途中で増やす前提にできるか この判定で Azure-only で足りるなら、最初は **最小 spoke 数 / 最小 gateway 数 / 最小 route 数** で進める。 デプロイ制約・READY 判定・詳細 phase 手順は [references/validation-runbook.md](references/validation-runbook.md) を参照する。 ## Workflow 1. Feasibility: 検証ゴール、Azure-only 可否、最小構成、cost/cleanup を決める 2. Scope: tenant / subscription / lab or production boundary / 到達点を固定する 3. Official grounding: Microsoft Learn で prerequisites / limits / supported SKUs を確認する 4. Preflight: `az account show`、provider registration、region availability、RBAC、観測方法を確認する 5. Build: 最小 Resource Group / VNet / GatewaySubnet / peering / core resources を作る 6. Observe: `READY` / `Connected` まで待ち、baseline routes / peer status / metrics を保存する 7. Change: 対象設定を 1 つだけ変え、要求時刻・Succeeded 時刻・correlation ID を残す 8. Compare: before/after、再収束時間、瞬断有無を polling 証跡で評価する 9. Cleanup or persist: lab を残すか削除し、結果を report / Answer へ反映する Detailed steps: [references/validation-runbook.md](references/validation-runbook.md) ## Done Criteria - [ ] 対象 tenant / subscription が固定されている - [ ] 検証トポロジが最小構成になっている - [ ] Azure の制約に応じて SKU / zone / address plan を調整済み - [ ] `READY` / `Connected` を確認してから次工程へ進んでいる - [ ] before/after の route 情報が残っている - [ ] 変更要求時刻、Succeeded 時刻、影響観測時刻のいずれかが残っている - [ ] 再収束時間または瞬断有無を、Activity Log だけでなく polling 証跡で説明できる - [ ] 結果を `Answer/` や `reports/` に反映した - [ ] cleanup 方針を残した ## Output Shape レポートには `検証目的`、`検証構成`、`事前状態`、`変更内容`、`変更時刻`、`事後状態`、`評価`、`Cleanup` を含める。テンプレートは [references/output-template.md](references/output-template.md) を使う。 ## Example Prompts - `/azure-infra-validation hinokuni-sub で VPN Gateway ベースの summarizedGatewayPrefixes 検証ラボを作って` - `/azure-infra-validation Azure-only で route advertisement の before/after を見たい。最小構成を作って` - `/azure-infra-validation hub-and-spoke + BGP の lab を構築し、設定変更後の learned routes を比較して` - `/azure-infra-validation Azure CLI だけで構築可能な検証プランを作って、そのまま実行して` - `/azure-infra-validation デプロイ中の Gateway を監視し、READY になったら次工程へ進めて` ## Integration Notes - `azure-troubleshooting` とは統合しない - 理由: `azure-troubleshooting` は本番障害の read-only skill、こちらは lab/sandbox の read-write skill で責務が異なるため - ただし、検証結果が本番障害の解釈に効く場合は、調査結果を `azure-troubleshooting` の入力へ戻してよい ## References - [references/validation-runbook.md](references/validation-runbook.md) - [references/output-template.md](references/output-template.md)