mcpField
N
network-engineering

network-engineering

github.com/89jobrienクラウド・DevOps486 回インストール9 週間前に更新
リポジトリ

network-engineering について

Network Engineering はネットワークの設計、設定、トラブルシューティングを支援するスキルです。アーキテクチャ、負荷分散、DNS、SSL/TLS、セキュリティ、性能を扱い、コマンドや資料も含みます。

主な機能

  1. 01VPC とサブネット構成の設計
  2. 02ロードバランサーとルーティングの設定
  3. 03DNS レコードの設定と調査
  4. 04SSL/TLS の設定と確認
  5. 05接続と性能のトラブルシューティング

活用シーン

  1. 01クラウドネットワークのトポロジー設計
  2. 02DNS または接続障害の調査
  3. 03負荷分散とヘルスチェックの設定
  4. 04証明書やネットワーク性能の問題調査

インストール

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

$npx skills add https://github.com/89jobrien/steve --skill network-engineering

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

詳細

ネットワークエンジニアリング

ネットワーク設計、トラブルシューティング、ロードバランシング、DNS、ネットワークセキュリティを包括的に扱うスキルです。

このスキルを使用する場面

  • ネットワークトポロジーの設計
  • 接続問題のトラブルシューティング
  • ロードバランサーの設定
  • DNS の設定とトラブルシューティング
  • SSL/TLS の設定とデバッグ
  • ネットワークセキュリティの実装
  • パフォーマンスの最適化
  • CDN の設定

ネットワークアーキテクチャ

OSI モデルのリファレンス
レイヤー名称プロトコルトラブルシューティング
7アプリケーションHTTP, DNS, SMTPcurl, ブラウザーツール
6プレゼンテーションSSL/TLSopenssl
5セッションNetBIOS-
4トランスポートTCP, UDPnetstat, ss
3ネットワークIP, ICMPping, traceroute
2データリンクEthernetarp
1物理-ケーブルテスター
VPC/ネットワーク設計

サブネット戦略:

VPC CIDR: 10.0.0.0/16 (65,536 IPs)

Public Subnets (internet-facing):
  - 10.0.1.0/24 (AZ-a) - Load balancers, bastion
  - 10.0.2.0/24 (AZ-b)
  - 10.0.3.0/24 (AZ-c)

Private Subnets (application tier):
  - 10.0.11.0/24 (AZ-a) - App servers
  - 10.0.12.0/24 (AZ-b)
  - 10.0.13.0/24 (AZ-c)

Database Subnets (isolated):
  - 10.0.21.0/24 (AZ-a) - Databases only
  - 10.0.22.0/24 (AZ-b)
  - 10.0.23.0/24 (AZ-c)

トラフィックフロー:

  • インターネット → ロードバランサー(パブリック)→ アプリ(プライベート)→ DB(分離)
  • プライベートサブネットからのアウトバウンドには NAT Gateway を使用
  • AWS サービスには VPC Endpoints を使用

ロードバランシング

ロードバランサーの種類
種類レイヤーユースケース
アプリケーション(ALB)7HTTP/HTTPS、パスベースのルーティング
ネットワーク(NLB)4TCP/UDP、静的 IP、高パフォーマンス
クラシック4/7レガシー
ゲートウェイ3サードパーティ製アプライアンス
ヘルスチェック
# ALB Health Check
health_check:
  path: /health
  protocol: HTTP
  port: 8080
  interval: 30
  timeout: 5
  healthy_threshold: 2
  unhealthy_threshold: 3
  matcher: "200-299"
ルーティング戦略
  • ラウンドロビン:均等に分散
  • 最小接続数:最も負荷の低い接続先にルーティング
  • IP ハッシュ:クライアント IP によるスティッキーセッション
  • 重み付け:割合に基づいて分散
  • パスベース:URL パスに基づいてルーティング
  • ホストベース:ホスト名に基づいてルーティング

DNS

レコードの種類
種類用途例
AIPv4 アドレスexample.com → 192.0.2.1
AAAAIPv6 アドレスexample.com → 2001:db8::1
CNAMEエイリアスwww → example.com
MXメールサーバーexample.com → mail.example.com
TXT任意のテキストSPF、DKIM、検証
NSネームサーバーDNS 委任
SRVサービスの場所_sip._tcp.example.com
CAA認証局CA による発行を制限
DNS のデバッグ
# Query specific record type
dig example.com A
dig example.com MX
dig example.com TXT

# Query specific DNS server
dig @8.8.8.8 example.com

# Trace DNS resolution
dig +trace example.com

# Check propagation
dig +short example.com @{dns-server}
TTL 戦略
レコードの種類推奨 TTL
静的コンテンツ86400(1 日)
動的コンテンツ300(5 分)
フェイルオーバーレコード60(1 分)
移行前60 に引き下げる

SSL/TLS

証明書の種類
種類検証ユースケース
DVドメイン所有権基本的なサイト
OV組織の確認ビジネスサイト
EV拡張検証高い信頼性が求められるサイト
ワイルドカード*.domain.com複数のサブドメイン
SAN複数ドメイン複数の特定ドメイン
TLS の設定

推奨設定:

  • TLS 1.2 と 1.3 のみ
  • 強力な暗号スイート(AEAD)
  • HSTS を有効化
  • OCSP ステープリング
  • 証明書の透明性
SSL のデバッグ
# Check certificate
openssl s_client -connect example.com:443 -servername example.com

# Check certificate chain
openssl s_client -connect example.com:443 -showcerts

# Check expiration
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

# Test TLS versions
openssl s_client -connect example.com:443 -tls1_2
openssl s_client -connect example.com:443 -tls1_3

トラブルシューティング

接続のチェックリスト
  1. 物理/クラウドレイヤー:インスタンスは実行中ですか?
  2. セキュリティグループ:ポートは開いていますか?
  3. NACL:サブネットでトラフィックが許可されていますか?
  4. ルートテーブル:ルーティングは正しいですか?
  5. DNS:名前を解決できますか?
  6. アプリケーション:サービスはリッスンしていますか?
よく使うコマンド
# Check if port is listening
netstat -tlnp | grep :80
ss -tlnp | grep :80

# Test TCP connectivity
nc -zv hostname 443
telnet hostname 443

# Check routes
ip route
traceroute hostname
mtr hostname

# DNS resolution
nslookup hostname
dig hostname
host hostname

# Network interfaces
ip addr
ifconfig

# Active connections
netstat -an
ss -tuln
パフォーマンスのデバッグ
# Bandwidth test
iperf3 -c server-ip

# Latency analysis
ping -c 100 hostname | tail -1

# MTU issues
ping -M do -s 1472 hostname

# Packet capture
tcpdump -i eth0 port 443

リファレンスファイル

  • references/troubleshooting.md - 詳細なトラブルシューティングのワークフロー

他のスキルとの連携

  • cloud-infrastructure - クラウドネットワーキング向け
  • security-engineering - ネットワークセキュリティ向け
  • performance - ネットワーク最適化向け

コメント