Communityライティング&編集github.com

zw008/VMware-NSX

VMware NSX ネットワーキング管理:セグメント、ゲートウェイ、NAT、ルーティング、IPAM — 32のMCPツール

VMware-NSX とは?

このスキルは、VMware NSX-T / NSX 4.x 環境向けの包括的なネットワーキング管理機能を提供します。セグメント(オーバーレイ/VLAN)、Tier-0/Tier-1ゲートウェイ、NATルール(SNAT/DNAT/リフレクティブ)、スタティックルート、BGPネイバー、IPプール管理など、32のMCPツール(20読み取り専用、12書き込み)を備えています。オープンソース(MITライセンス)であり、CLIとMCPの両方の利用モードをサポートし、複数のNSX Managerターゲットを設定可能です。ワークフロー例として、アプリケーションネットワークの作成(セグメント+T1ゲートウェイ+NAT)、ネットワークヘルスチェック、VM接続トラブルシューティングのためのレイヤー別診断手法が組み込まれており、特に大規模環境での運用効率を向上させるよう設計されています。

対応✓Claude Code~Codex CLI✓Cursor
npx skills add zw008/VMware-NSX

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

VMware NSX

免責事項: これはコミュニティ保守のオープンソースプロジェクトであり、VMware, Inc. または Broadcom Inc. とは提携、推奨、またはスポンサー関係にありません。 「VMware」および「NSX」はBroadcomの商標です。ソースコードは github.com/zw008/VMware-NSX でMITライセンスのもと公開監査可能です。

VMware NSX ネットワーキング管理 — セグメント、ゲートウェイ、NAT、ルーティング、IPAM のための32のMCPツール。

ドメイン特化型のNSX-T / NSX 4.x Policy API向けネットワーキングスキル。 関連スキル: vmware-nsx-security (DFW/ファイアウォール)、vmware-aiops (VMライフサイクル)、vmware-monitor (読み取り専用監視)、vmware-storage (iSCSI/vSAN)、vmware-vks (Tanzu Kubernetes)、vmware-aria (メトリクス/アラート/キャパシティ)、vmware-avi (AVI/ALB/AKO)、vmware-harden (コンプライアンスベースライン)。 | vmware-pilot (ワークフローオーケストレーション) | vmware-policy (監査/ポリシー)

このスキルの機能

カテゴリツール数読み取り / 書き込み
セグメントリスト、詳細取得、作成、更新、削除52R / 3W
Tier-0 ゲートウェイリスト、詳細取得、BGPネイバー、BGP設定43R / 1W
Tier-1 ゲートウェイリスト、詳細取得、作成、更新、削除52R / 3W
NATルールリスト、ルール作成、ルール削除31R / 2W
スタティックルートリスト、作成、削除31R / 2W
IPプールリスト、使用状況取得、プール作成、プール削除42R / 2W
ファブリックインベントリトランスポートゾーン、トランスポートノード、エッジクラスタ33R / 0W
ヘルスNSXアラーム、トランスポートノードステータス、エッジクラスタステータス、マネージャステータス44R / 0W
トラブルシューティング論理ポートステータス、VM→セグメント検索22R / 0W

合計: 33ツール (20読み取り専用 + 13書き込み)

クイックインストール

uv tool install vmware-nsx-mgmt
vmware-nsx doctor

このスキルを使用するタイミング

  • NSXセグメント(オーバーレイ/VLANバック)のリスト、作成、変更
  • Tier-0 / Tier-1 ゲートウェイの作成または管理
  • NATルール(SNAT、DNAT、リフレクティブ)の設定
  • スタティックルートの表示または追加、BGPネイバーの確認
  • IPプールとサブネット割り当ての管理
  • NSXアラーム、トランスポートノードのヘルス、エッジクラスタステータスの確認
  • VMが接続されているセグメントの特定
  • 論理ポートステータスのトラブルシューティング

関連スキルの使用:

  • 分散ファイアウォール、セキュリティグループ、DFWルール、IDS/IPS → vmware-nsx-security
  • VMライフサイクル、デプロイメント、ゲスト操作 → vmware-aiops
  • vSphereインベントリ、ヘルス、アラーム、イベント → vmware-monitor
  • ストレージ:iSCSI、vSAN、データストア → vmware-storage
  • Tanzu Kubernetes → vmware-vks
  • ロードバランシング、AVI/ALB、AKO、Ingress → vmware-avi

関連スキル — スキルルーティング

ユーザーの意図推奨スキル
NSXネットワーキング:セグメント、ゲートウェイ、NAT、ルーティング、IPAMvmware-nsx ← このスキル
NSXセキュリティ:DFWルール、セキュリティグループ、IDS/IPSvmware-nsx-security
読み取り専用vSphere監視、アラーム、イベントvmware-monitor
VMライフサイクル、デプロイメント、ゲスト操作vmware-aiops
ストレージ:iSCSI、vSAN、データストアvmware-storage
Tanzu Kubernetes (vSphere 8.x+)vmware-vks
Aria Ops:メトリクス、アラート、キャパシティ計画vmware-aria
承認付きマルチステップワークフローvmware-pilot
コンプライアンスベースライン(CIS / 等保 / PCI-DSS)、ドリフト検出、LLM修復アドバイザーvmware-harden (uv tool install vmware-harden)
ロードバランサー、AVI、ALB、AKO、Ingressvmware-avi (uv tool install vmware-avi)
監査ログクエリvmware-policy (vmware-audit CLI)

一般的なワークフロー

アプリケーションネットワークの作成(セグメント + T1ゲートウェイ + NAT)

事前チェック(盲目的なシーケンスではなく判断):

  • サブネット競合チェック:inventory list-segments と networking list-ip-pools をスキャンし、提案されたCIDRとの重複がないか確認します。サブネットの重複は非対称ルーティングやサイレントブラックホールリングを引き起こします—NSXは警告しません。
  • エッジクラスタのキャパシティ:選択した --edge-cluster が正常であること(inventory list-edge-clusters + health edge-cluster-status <id>)と、SR(サービスルーター)制限に達していないことを確認します。完全にロードされたエッジクラスタはT1の作成を受け入れますが、ルーティングは失敗します。
  • T0アップリンク:親T0には上流へのBGP/スタティックルートがすでに設定されている必要があります—そうでないと、SNATは内部では機能しますが、外部トラフィックはどこにも行きません。
  • NAT IP:--translated IPは、T0によってアドバタイズされるルーティング可能なアドレスプールからのものでなければなりません;ランダムなIPを使用すると、半分しか機能しないネットワークが作成されます。
  • 常に最初に --dry-run を実行 — セグメントが実行中のVMに接続されると、削除するにはすべてのポートをデタッチする必要があります。

手順:

  1. vmware-nsx gateway create-tier1 app-t1 --name app-t1 --edge-cluster <ec-path> --tier0 <t0-path> --dry-run → 確認後、実際に実行
  2. vmware-nsx segment create app-web-seg --name app-web-seg --tz <tz-overlay-path> --subnet <gw-cidr>
  3. vmware-nsx nat create-rule --tier1 app-t1 --rule-id snat-1 --action SNAT --source <private-cidr> --translated <pub-ip>
  4. エンドツーエンドの検証:inventory list-segments、networking list-nat-rules app-t1、および新しいセグメントに接続されたVMでのテスト
  5. 失敗時:接続エラーまたはHTTPエラーは単一の教育行を出力します(例:403 → NSXロール権限を確認;404 → 一致するリストコマンドを実行して正確なIDを確認)。vmware-nsx doctor を実行して接続と資格情報を確認し、修正して失敗したステップを再実行します—以前に完了したステップは冪等なPUTで安全に再適用できます。

ネットワークヘルスの確認

判断:ヘルスエンドポイントを単に列挙するのではなく、それらを関連付けます。以下の順序は原因から症状へのマッピングです:マネージャがダウンしている場合、トランスポートノードもダウンして見えます(誤検知);トップダウンで修正します。

  1. vmware-nsx health manager-status — いずれかのマネージャノードが DEGRADED または DOWN の場合、ここで停止し、ダウンストリームシグナルを信頼する前に解決します
  2. vmware-nsx inventory list-transport-nodes 次に health transport-node-status <id> で UP でないノード — 5分以上ダウンしているノードにフラグを立てます;一時的なブリップは正常です
  3. vmware-nsx inventory list-edge-clusters 次に health edge-cluster-status <id> — SR配置がバランスしていることを確認します;1つのエッジがSRの80%を保持しているのは単一障害点です
  4. vmware-nsx health alarms --severity HIGH(CRITICAL で繰り返し)— 重要度フィルターは完全一致であり、「以上」ではありません
  5. vmware-monitor でvSphereホストイベントをクロスチェック — vCenterへの接続を失ったホストは、しばしばNSXの問題として偽装します

VM接続のトラブルシューティング

判断:接続障害は3つのレイヤーのいずれかで発生します。最初にどのレイヤーかを特定し、それから掘り下げます—ランダムにプローブしないでください。

  • レイヤー1 — VMからセグメント:VMにセグメントがない、vNICが間違っている、またはポートが管理ダウン → troubleshoot vm-segment + troubleshoot port-status
  • レイヤー2 — セグメントからゲートウェイ:セグメントがT1に接続されていない、T1がT0に接続されていない → inventory get-tier1 でTier-0パスが表示されない
  • レイヤー3 — ゲートウェイから上流:T0 BGP/スタティックが欠落している、またはSNATが設定されていない → networking bgp-neighbors、networking list-nat-rules

手順(障害レイヤーが特定されたらすぐに停止):

  1. レイヤー1:troubleshoot vm-segment my-vm-01 → ポートがない場合は、最初にvSphere vNICバインディングを確認
  2. レイヤー1:troubleshoot port-status <segment-id> → 管理ダウンまたはDFWブロック?DFWの場合は、vmware-nsx-securityにジャンプ
  3. レイヤー2:inventory get-tier1 app-t1 → Tier-0パスが存在し、ルートアドバタイズが有効か?そうでない場合、T1↔T0リンクが切断
  4. レイヤー3:networking bgp-neighbors tier0-gw → すべてのネイバーが ESTABLISHED?フラッピング → 上流の問題
  5. レイヤー3:networking list-nat-rules app-t1 → SNATルールが送信元CIDRをカバーしているか?CIDRの入力ミスが最も一般的な原因

マルチターゲット操作

すべてのコマンドは --target <name> を受け入れ、設定から特定のNSX Managerに対して操作します:

# デフォルトターゲット(config.yamlの最初)
vmware-nsx inventory list-segments

# 特定のターゲット
vmware-nsx inventory list-segments --target nsx-prod
vmware-nsx health alarms --target nsx-lab

使用モード

シナリオ推奨理由
ローカル/小規模モデル(Ollama、Qwen)CLIMCPの8Kに対して2Kトークン
クラウドモデル(Claude、GPT-4o)どちらでもMCPは構造化JSON I/Oを提供
自動化パイプラインMCP型安全なパラメータ、構造化出力

MCPツール(33 — 20読み取り、13書き込み)

すべてのMCPツールは、オプションの target パラメータを受け入れ、接続先のNSX Managerを選択します。

カテゴリツールタイプ説明
セグメントlist_segments読み取りすべてのセグメントをタイプ、サブネット、管理状態、ポート数とともに一覧表示
get_segment読み取りポートやサブネット設定を含むセグメント詳細を取得
create_segment書き込みサブネットとゲートウェイを持つオーバーレイまたはVLANセグメントを作成
update_segment書き込みセグメントプロパティ(名前、サブネット、ゲートウェイリンク)を更新
delete_segment書き込みセグメントを削除(接続ポートがある場合は警告)
Tier-0 GWlist_tier0_gateways読み取りHAモードとトランジットサブネットを含むTier-0ゲートウェイを一覧表示
get_tier0_gateway読み取りTier-0詳細を取得:HAモード、フェイルオーバー、トランジットサブネット
get_bgp_neighbors読み取りBGPネイバーセッションを状態、ASN、プレフィックスとともに一覧表示
configure_tier0_bgp書き込みTier-0でBGP(ローカルAS、ECMP、inter-SR iBGP)を設定
Tier-1 GWlist_tier1_gateways読み取りリンクされたTier-0とルートアドバタイズを含むTier-1ゲートウェイを一覧表示
get_tier1_gateway読み取りTier-1詳細を取得:Tier-0リンク、ルートアドバタイズ
create_tier1_gateway書き込みエッジクラスタとTier-0リンクを持つTier-1ゲートウェイを作成
update_tier1_gateway書き込みTier-1プロパティを更新(ルートアドバタイズ、Tier-0リンク)
delete_tier1_gateway書き込みTier-1ゲートウェイを削除(最初にデフォルトのlocale-serviceを削除)
NATlist_nat_rules読み取りTier-1ゲートウェイ上のNATルールを一覧表示
create_nat_rule書き込みゲートウェイ上にSNAT/DNAT/リフレクティブNATルールを作成
delete_nat_rule書き込みNATルールを削除
スタティックルートlist_static_routes読み取りTier-1ゲートウェイ上のスタティックルートを一覧表示
create_static_route書き込みネットワークとネクストホップでスタティックルートを追加
delete_static_route書き込みスタティックルートを削除
IPプールlist_ip_pools読み取り使用状況サマリー付きでIPプールを一覧表示
get_ip_pool_usage読み取りプールの割り当て使用状況を表示
create_ip_pool書き込み割り当て範囲付きの新しいIPアドレスプールを作成
delete_ip_pool書き込みIPアドレスプールを完全に削除
ファブリックlist_transport_zones読み取りタイプ(OVERLAY/VLAN)付きでトランスポートゾーンを一覧表示
list_transport_nodes読み取りノードタイプと状態付きでトランスポートノードを一覧表示
list_edge_clusters読み取りメンバー数とデプロイメントタイプ付きでエッジクラスタを一覧表示
ヘルスlist_nsx_alarms読み取り重要度でフィルタリングされたアクティブなNSXアラームを一覧表示
get_transport_node_status読み取りトランスポートノードの接続性と設定状態
get_edge_cluster_status読み取りエッジクラスタメンバーの状態とフェイルオーバー設定
get_nsx_manager_status読み取りNSX Managerクラスタのヘルスとノードロール
トラブルシューティングget_logical_port_status読み取りセグメント上のすべてのポートの実現状態
get_segment_port_for_vm読み取り表示名でVMが接続されているセグメントを検索

読み取り/書き込み分割:20ツールは読み取り専用、12ツールは状態を変更します。書き込みツールは明示的なパラメータを必要とし、監査ログに記録されます。ドライラン preview(--dry-run)はCLIの機能です。MCP書き込みツールは直接実行されます。

CLIクイックリファレンス

# インベントリ(読み取り専用)
vmware-nsx inventory list-segments [--target <name>]
vmware-nsx inventory get-segment <segment-id>
vmware-nsx inventory list-tier0s
vmware-nsx inventory get-tier0 <tier0-id>
vmware-nsx inventory list-tier1s
vmware-nsx inventory get-tier1 <tier1-id>
vmware-nsx inventory list-transport-zones
vmware-nsx inventory list-transport-nodes
vmware-nsx inventory list-edge-clusters

# ネットワーキング(読み取り専用)
vmware-nsx networking list-nat-rules <tier1-id>
vmware-nsx networking bgp-neighbors <tier0-id>
vmware-nsx networking list-static-routes <tier1-id>
vmware-nsx networking list-ip-pools
vmware-nsx networking ip-pool-usage <pool-id>

# セグメント管理(書き込み)
vmware-nsx segment create <id> --name <name> --tz <tz-path> [--vlan '100' | '100-200'] [--subnet <gw-cidr>] [--dry-run]
vmware-nsx segment update <id> [--name <name>] [--subnet <gw-cidr>] [--dry-run]
vmware-nsx segment delete <id> [--dry-run]

# ゲートウェイ管理(書き込み)
vmware-nsx gateway create-tier1 <id> --name <name> [--tier0 <t0-path>] [--edge-cluster <ec-path>] [--dry-run]
vmware-nsx gateway update-tier1 <id> [--name <name>] [--tier0 <t0-path>] [--advertise <types>] [--dry-run]
vmware-nsx gateway delete-tier1 <id> [--dry-run]
vmware-nsx gateway configure-tier0-bgp <tier0-id> --local-as <asn> [--ecmp/--no-ecmp] [--dry-run]

# NAT(書き込み)
vmware-nsx nat create-rule --tier1 <id> --rule-id <id> --action SNAT --source <cidr> --translated <ip> [--dry-run]
vmware-nsx nat delete-rule --tier1 <id> --rule-id <id> [--dry-run]

# スタティックルート(書き込み)
vmware-nsx route create-static --tier1 <id> --route-id <id> --network <cidr> --next-hop <ip> [--dry-run]
vmware-nsx route delete-static --tier1 <id> --route-id <id> [--dry-run]

# IPプール(書き込み)
vmware-nsx ip-pool create <pool-id> --name <name> --start <ip> --end <ip> --cidr <cidr> [--gateway <ip>] [--dry-run]

# ヘルスとトラブルシューティング(読み取り専用)
vmware-nsx health alarms [--severity CRITICAL]
vmware-nsx health transport-node-status <node-id>
vmware-nsx health edge-cluster-status <cluster-id>
vmware-nsx health manager-status
vmware-nsx troubleshoot port-status <segment-id>
vmware-nsx troubleshoot vm-segment <vm-name>

設定

最初の実行時に、vmware-nsx init が ~/.config/vmware-nsx/config.yaml を作成します:

# デフォルトターゲット
default: nsx-prod

targets:
  nsx-prod:
    host: https://nsx-mgr-prod.example.com
    username: admin
    password: ${NSX_PASSWORD}          # 環境変数を推奨
    ssl_verify: true
    cert: /path/to/ca-bundle.crt       # オプション:カスタムCA束

  nsx-lab:
    host: https://nsx-mgr-lab.example.com
    username: admin
    password: ${NSX_LAB_PASSWORD}
    ssl_verify: false                  # ラボ環境用

  nsx-dr:
    host: https://nsx-mgr-dr.example.com
    username: admin
    password: ${NSX_DR_PASSWORD}
    ssl_verify: true

ベストプラクティス:

  1. パスワードを config.yaml に平文で保存しないでください — 代わりに $(...)/${...} 環境変数を使用するか、HashiCorp Vault のような秘密管理ソリューションを使用してください。
  2. nsx-prod のような各ターゲットに記述的な名前を付けます。
  3. プロダクション環境では ssl_verify: false を使用しないでください。

診断

vmware-nsx doctor

以下を診断します:

  • 設定ファイルが存在し解析可能か
  • 各ターゲットに到達可能か(HTTPS TCP接続)
  • 資格情報が有効か(NSX API認証)
  • APIバージョンの互換性(NSX 4.x+)
  • ユーザーロールの権限(ネットワーク管理に必要なロール)

doctor に失敗したターゲットは、準備が整うまでスキップされます。

セキュリティに関する注意

  • パスワードを環境変数として渡す(推奨)またはセキュアなボールトから渡します。
  • MCPモードは外部ツールコールに依存しており、ワークフローが正しく構成されていることを確認してください。
  • このツールはNSX Manager APIに直接接続します。APIがネットワーク経由でアクセス可能であることを確認してください。

ライセンス

MIT

関連スキル