azure-network-calculator について
azure-network-calculatorは、Azure Hub-Spokeネットワークの計画向けスキルです。CIDR計算、サブネット割り当て、Terraformコード生成を行い、ネットワーク設計、重複確認、容量計算のワークフローを備えています。
主な機能
- 01VNetとサブネット構成の計画
- 02CIDR割り当ての重複確認
- 03サブスクリプションとVNetの容量計算
- 04Terraformネットワークコードの生成
- 05組織固有のカスタマイズ適用
活用シーン
- 01リソースグループ向けVNetとサブネットの計画
- 02既存割り当てとのCIDR競合の確認
- 03サブスクリプションまたはVNetの空き容量確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill azure-network-calculatorインストール後、Claude Code で/azure-network-calculatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
SubnetTemplates.mdTerraformSnippets.mdWorkflows/CalculateCapacity.mdPlanNetwork.mdValidateCidr.md詳細
カスタマイズ
実行前に、次の場所にユーザーによるカスタマイズがあるか確認してください:
~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/azure-network-calculator-skill/
このディレクトリが存在する場合は、そこにある PREFERENCES.md、設定、リソースを読み込み、適用してください。これらはデフォルトの動作より優先されます。ディレクトリが存在しない場合は、スキルのデフォルト設定で続行してください。
必須:音声通知(操作を行う前に必須)
このスキルが呼び出されたら、ほかのことを行う前に必ずこの通知を送信してください。
-
音声通知を送信:
curl -s -X POST http://localhost:8888/notify \ -H "Content-Type: application/json" \ -d '{"message": "Running the WORKFLOWNAME workflow in the azure-network-calculator-skill skill to ACTION"}' \ > /dev/null 2>&1 & -
テキスト通知を出力:
Running the **WorkflowName** workflow in the **azure-network-calculator-skill** skill to ACTION...
これは任意ではありません。このスキルが呼び出されたら、直ちにこの curl コマンドを実行してください。
azure-network-calculator-skill
組織の Azure ハブアンドスポーク インフラストラクチャ向けに、CIDR の計算、サブネットの割り当て、Terraform コードの生成を自動化します。
ワークフローの振り分け
| インテント | ワークフロー | 説明 |
|---|---|---|
| 新しいリソースグループ向けに VNet とサブネットを計画する | PlanNetwork | Terraform を使用してネットワーク全体のレイアウトを設計します |
| CIDR が既存の割り当てと重複するか確認する | ValidateCidr | マスター割り当てに対する重複を検出します |
| サブスクリプション/VNet の残り容量を表示する | CalculateCapacity | 使用可能な /20 および /24 ブロック |
ユーザーの意図が曖昧な場合は、どのワークフローを実行するか尋ねてください。
クイックリファレンス
CIDR 階層
/13 (subscription) = 524,288 addresses = 128 x /20 VNets
/20 (VNet) = 4,096 addresses = 16 x /24 subnets
/24 (subnet) = 256 addresses = 251 usable (Azure reserves 5)
/22 (large subnet) = 1,024 addresses = 1,019 usable
/27 (gateway) = 32 addresses = 27 usable
/26 (firewall) = 64 addresses = 59 usable
VNet インデックスの計算式
VNet[i] address = subscription_base + (i * 4096) # 4096 = 2^(32-20)
VNet[i] CIDR = calculated_address/20
各 /13 サブスクリプションには、/20 VNet が正確に 128 個(インデックス 0~127)含まれます。
Azure で予約される IP(サブネットごとに 5 個)
| オフセット | 用途 |
|---|---|
| +0 | ネットワークアドレス |
| +1 | デフォルトゲートウェイ |
| +2 | DNS マッピング |
| +3 | DNS マッピング |
| 最後 | ブロードキャスト |
命名規則
snet-{purpose}-{rg}-{env}-{region}
vnet-{rg}-{env}-{region}
nsg-{purpose}-{rg}-{env}-{region}
natg-{rg}-{env}-{region}
ここで、{rg} はリソースグループ名(rg-example- プレフィックスなし)、{env} は dev/hlg/prd、{region} はショートコード(例:eus)です。
コンテキストファイル
| ファイル | 用途 |
|---|---|
| CIDR マスター割り当て(このスキルの外部で管理) | 16 個すべてのサブスクリプション、既知の VNet、計算式 |
| SubnetTemplates.md | 4 種類のワークロードアーキタイプ向けサブネットレイアウト |
| TerraformSnippets.md | リポジトリのパターンに合致する AVM モジュールの HCL |
注意点
- Azure はサブネットごとに 5 個の IP を予約します(ネットワーク、ゲートウェイ、DHCP、ブロードキャスト + 予約済み 1 個):/29 で使用できるのは 5 個ではなく 3 個、/28 では 13 個ではなく 11 個です。
- NSG のルール数上限は NSG ごとに 1000 個です — ASG によってルール数を減らせますが、リソースグループ間の結合が生じます。
- VNet ピアリングは推移的ルーティングをサポートしません — ハブアンドスポーク設計では、明示的なホップとして Azure Firewall または NVA が必要です。ハブをルーターとして扱う前提は機能しません。
- AKS での IPv6 デュアルスタック:プレビュー機能フラグが必要です。サブネットのサイズ計算では、v4 と v6 の両方を明示的に見積もる必要があります。
- サブネットの委任を設定すると、そのサブネットはロックされます — サービス(例:AKS、App Service)に一度委任すると、再作成しない限り委任を解除できません。