mcpField
H
hybrid-cloud-networking

hybrid-cloud-networking

github.com/wshobsonクラウド・DevOps41.9k10.7k 回インストール2 週間前に更新
リポジトリ

hybrid-cloud-networking について

クラウドおよびネットワークエンジニア向けのハイブリッドクラウド接続ガイドです。オンプレミス環境と AWS、Azure、GCP、OCI 間の接続方式に加え、ルーティング、セキュリティ、高可用性を扱います。

主な機能

  1. 01VPNと専用接続の選択肢
  2. 02マルチクラウドのネットワークパターン
  3. 03BGPとルーティング設定
  4. 04セキュリティと冗長化の指針
  5. 05監視とトラブルシューティング

活用シーン

  1. 01オンプレミスのデータセンターをクラウドに接続
  2. 02マルチクラウドのハイブリッドネットワークを計画
  3. 03アクティブ-アクティブ接続を構成
  4. 04ワークロードを段階的に移行

インストール

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

$npx skills add https://github.com/wshobson/agents --skill hybrid-cloud-networking

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

同梱ファイルreferences/direct-connect.md

詳細

ハイブリッドクラウドネットワーキング

VPN、Direct Connect、ExpressRoute、Interconnect、FastConnect を使用して、オンプレミスとクラウド環境の間に安全で高性能な接続を構成します。

目的

オンプレミスのデータセンターとクラウドプロバイダー(AWS、Azure、GCP、OCI)の間に、安全で信頼性の高いネットワーク接続を確立します。

使用する場面

  • オンプレミスをクラウドに接続する
  • データセンターをクラウドに拡張する
  • ハイブリッドなアクティブ-アクティブ構成を実装する
  • コンプライアンス要件を満たす
  • 段階的にクラウドへ移行する

接続オプション

AWS 接続
1. サイト間 VPN
  • インターネット経由の IPSec VPN
  • トンネルあたり最大 1.25 Gbps
  • 中程度の帯域幅に対してコスト効率が良い
  • レイテンシが高めで、インターネットに依存
resource "aws_vpn_gateway" "main" {
  vpc_id = aws_vpc.main.id
  tags = {
    Name = "main-vpn-gateway"
  }
}

resource "aws_customer_gateway" "main" {
  bgp_asn    = 65000
  ip_address = "203.0.113.1"
  type       = "ipsec.1"
}

resource "aws_vpn_connection" "main" {
  vpn_gateway_id      = aws_vpn_gateway.main.id
  customer_gateway_id = aws_customer_gateway.main.id
  type                = "ipsec.1"
  static_routes_only  = false
}
2. AWS Direct Connect
  • 専用のネットワーク接続
  • 1 Gbps ~ 100 Gbps
  • 低レイテンシで安定した帯域幅
  • より高コストで、セットアップに時間を要する

リファレンス: references/direct-connect.md を参照してください

Azure 接続
1. サイト間 VPN
resource "azurerm_virtual_network_gateway" "vpn" {
  name                = "vpn-gateway"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name

  type     = "Vpn"
  vpn_type = "RouteBased"
  sku      = "VpnGw1"

  ip_configuration {
    name                          = "vnetGatewayConfig"
    public_ip_address_id          = azurerm_public_ip.vpn.id
    private_ip_address_allocation = "Dynamic"
    subnet_id                     = azurerm_subnet.gateway.id
  }
}
2. Azure ExpressRoute
  • 接続プロバイダー経由のプライベート接続
  • 最大 100 Gbps
  • 低レイテンシで高信頼性
  • グローバル接続向けの Premium
GCP 接続
1. Cloud VPN
  • IPSec VPN(Classic または HA VPN)
  • HA VPN: 99.99% SLA
  • トンネルあたり最大 3 Gbps
2. Cloud Interconnect
  • Dedicated(10 Gbps、100 Gbps)
  • Partner(50 Mbps ~ 50 Gbps)
  • VPN よりも低レイテンシ
OCI 接続
1. IPSec VPN Connect
  • 冗長トンネルを備えた IPSec VPN
  • DRG を介した動的ルーティング
  • 支店や移行フェーズに適している
2. OCI FastConnect
  • Oracle またはパートナーのエッジを介したプライベートな専用接続
  • 予測可能なスループットと低レイテンシのハイブリッドトラフィックに適している
  • ハブアンドスポーク設計で DRG と組み合わせて使用されることが多い

ハイブリッドネットワークパターン

パターン 1: ハブアンドスポーク
On-Premises Datacenter
         ↓
    VPN/Direct Connect
         ↓
    Transit Gateway (AWS) / vWAN (Azure)
         ↓
    ├─ Production VPC/VNet
    ├─ Staging VPC/VNet
    └─ Development VPC/VNet
パターン 2: マルチリージョンハイブリッド
On-Premises
    ├─ Direct Connect → us-east-1
    └─ Direct Connect → us-west-2
            ↓
        Cross-Region Peering
パターン 3: マルチクラウドハイブリッド
On-Premises Datacenter
    ├─ Direct Connect → AWS
    ├─ ExpressRoute → Azure
    ├─ Interconnect → GCP
    └─ FastConnect → OCI

ルーティング構成

BGP 構成
On-Premises Router:
- AS Number: 65000
- Advertise: 10.0.0.0/8

Cloud Router:
- AS Number: 64512 (AWS), 65515 (Azure), provider-assigned for GCP/OCI
- Advertise: Cloud VPC/VNet CIDRs
ルート伝播
  • ルートテーブルでルート伝播を有効にする
  • 動的ルーティングに BGP を使用する
  • ルートフィルタリングを実装する
  • ルートアドバタイズを監視する

セキュリティのベストプラクティス

  1. プライベート接続を使用する(Direct Connect/ExpressRoute/Interconnect/FastConnect)
  2. VPN トンネルの暗号化を実装する
  3. VPC エンドポイントを使用してインターネット経由のルーティングを回避する
  4. ネットワーク ACL とセキュリティグループを構成する
  5. VPC Flow Logs を有効にして監視する
  6. DDoS 保護を実装する
  7. PrivateLink/プライベートエンドポイントを使用する
  8. 接続を監視する(CloudWatch/Azure Monitor/Cloud Monitoring/OCI Monitoring)
  9. 冗長性を実装する(デュアルトンネル)
  10. 定期的なセキュリティ監査

高可用性

デュアル VPN トンネル
resource "aws_vpn_connection" "primary" {
  vpn_gateway_id      = aws_vpn_gateway.main.id
  customer_gateway_id = aws_customer_gateway.primary.id
  type                = "ipsec.1"
}

resource "aws_vpn_connection" "secondary" {
  vpn_gateway_id      = aws_vpn_gateway.main.id
  customer_gateway_id = aws_customer_gateway.secondary.id
  type                = "ipsec.1"
}
アクティブ-アクティブ構成
  • 異なる拠点からの複数の接続
  • 自動フェイルオーバーのための BGP
  • 等コストマルチパス(ECMP)ルーティング
  • すべての接続のヘルスを監視する

監視とトラブルシューティング

主要なメトリクス
  • トンネルのステータス(up/down)
  • 送受信バイト数
  • パケットロス
  • レイテンシ
  • BGP セッションのステータス
トラブルシューティング
# AWS VPN
aws ec2 describe-vpn-connections
aws ec2 get-vpn-connection-telemetry

# Azure VPN
az network vpn-connection show
az network vpn-connection show-device-config-script

# OCI IPSec VPN
oci network ip-sec-connection list
oci network cpe list

コスト最適化

  1. トラフィックに基づいて接続を適正サイズにする
  2. 低帯域幅のワークロードには VPN を使用する
  3. より少ない接続にトラフィックを集約する
  4. データ転送コストを最小化する
  5. 高帯域幅には専用のプライベートリンクを使用する
  6. キャッシュを実装してトラフィックを削減する

関連スキル

  • multi-cloud-architecture - アーキテクチャの意思決定向け
  • terraform-module-library - IaC 実装向け

コメント