mcpField
A
azure-network-calculator

azure-network-calculator

github.com/julianobarbosaクラウド・DevOps1454 回インストール2 日前に更新
リポジトリ

azure-network-calculator について

azure-network-calculatorは、Azure Hub-Spokeネットワークの計画向けスキルです。CIDR計算、サブネット割り当て、Terraformコード生成を行い、ネットワーク設計、重複確認、容量計算のワークフローを備えています。

主な機能

  1. 01VNetとサブネット構成の計画
  2. 02CIDR割り当ての重複確認
  3. 03サブスクリプションとVNetの容量計算
  4. 04Terraformネットワークコードの生成
  5. 05組織固有のカスタマイズ適用

活用シーン

  1. 01リソースグループ向けVNetとサブネットの計画
  2. 02既存割り当てとのCIDR競合の確認
  3. 03サブスクリプションまたはVNetの空き容量確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/julianobarbosa/claude-code-skills --skill azure-network-calculator

インストール後、Claude Code で/azure-network-calculatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

SubnetTemplates.md
TerraformSnippets.md
Workflows/
CalculateCapacity.md
PlanNetwork.md
ValidateCidr.md

詳細

カスタマイズ

実行前に、次の場所にユーザーによるカスタマイズがあるか確認してください: ~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/azure-network-calculator-skill/

このディレクトリが存在する場合は、そこにある PREFERENCES.md、設定、リソースを読み込み、適用してください。これらはデフォルトの動作より優先されます。ディレクトリが存在しない場合は、スキルのデフォルト設定で続行してください。

必須:音声通知(操作を行う前に必須)

このスキルが呼び出されたら、ほかのことを行う前に必ずこの通知を送信してください。

  1. 音声通知を送信:

    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 &
    
  2. テキスト通知を出力:

    Running the **WorkflowName** workflow in the **azure-network-calculator-skill** skill to ACTION...
    

これは任意ではありません。このスキルが呼び出されたら、直ちにこの curl コマンドを実行してください。

azure-network-calculator-skill

組織の Azure ハブアンドスポーク インフラストラクチャ向けに、CIDR の計算、サブネットの割り当て、Terraform コードの生成を自動化します。

ワークフローの振り分け

インテントワークフロー説明
新しいリソースグループ向けに VNet とサブネットを計画するPlanNetworkTerraform を使用してネットワーク全体のレイアウトを設計します
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デフォルトゲートウェイ
+2DNS マッピング
+3DNS マッピング
最後ブロードキャスト
命名規則
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.md4 種類のワークロードアーキタイプ向けサブネットレイアウト
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)に一度委任すると、再作成しない限り委任を解除できません。

コメント