network-engineering について
Network Engineering はネットワークの設計、設定、トラブルシューティングを支援するスキルです。アーキテクチャ、負荷分散、DNS、SSL/TLS、セキュリティ、性能を扱い、コマンドや資料も含みます。
主な機能
- 01VPC とサブネット構成の設計
- 02ロードバランサーとルーティングの設定
- 03DNS レコードの設定と調査
- 04SSL/TLS の設定と確認
- 05接続と性能のトラブルシューティング
活用シーン
- 01クラウドネットワークのトポロジー設計
- 02DNS または接続障害の調査
- 03負荷分散とヘルスチェックの設定
- 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, SMTP | curl, ブラウザーツール |
| 6 | プレゼンテーション | SSL/TLS | openssl |
| 5 | セッション | NetBIOS | - |
| 4 | トランスポート | TCP, UDP | netstat, ss |
| 3 | ネットワーク | IP, ICMP | ping, traceroute |
| 2 | データリンク | Ethernet | arp |
| 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) | 7 | HTTP/HTTPS、パスベースのルーティング |
| ネットワーク(NLB) | 4 | TCP/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
レコードの種類
| 種類 | 用途 | 例 |
|---|---|---|
| A | IPv4 アドレス | example.com → 192.0.2.1 |
| AAAA | IPv6 アドレス | 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
トラブルシューティング
接続のチェックリスト
- 物理/クラウドレイヤー:インスタンスは実行中ですか?
- セキュリティグループ:ポートは開いていますか?
- NACL:サブネットでトラフィックが許可されていますか?
- ルートテーブル:ルーティングは正しいですか?
- DNS:名前を解決できますか?
- アプリケーション:サービスはリッスンしていますか?
よく使うコマンド
# 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 - ネットワーク最適化向け
コメント
Markdown 対応