클라우드 vpc 대역 재정리 - 100-hours-a-week/16-Hot6-wiki GitHub Wiki

🔍 현재 AWS ∙ GCP VPC CIDR 완전 정리

클라우드 VPC (혹은 서브넷) CIDR 대역
AWS kubeadm‑shared 10.0.0.0/16
  kubeadm‑dev 10.10.0.0/16
GCP onthetop‑subnet‑shared‑public 10.1.0.0/24
  onthetop‑subnet‑dev‑private 10.11.10.0/24
  onthetop‑subnet‑dev‑db 10.11.20.0/28
  onthetop‑subnet‑prod‑private 10.21.10.0/24
  onthetop‑subnet‑prod‑db‑primary 10.21.20.0/28
  onthetop‑subnet‑prod‑db‑secondary 10.21.20.16/28
  onthetop‑gpu‑vpc (public / private) 10.70.0.0/28, 10.70.10.0/28
  onthetop‑prod‑gpu‑vpc (public / private) 10.60.0.0/28, 10.60.10.0/28

✅ 아직 사용되지 않은 공간 → 10.90.0.0/16, 10.250.0.0/16, 192.168.x.x/16 등


⚠️ 왜 ‘10.0.100.0/24’는 위험했나?

  • AWS 10.0.0.0/16완전히 포함되기 때문에 라우팅 충돌 + 서비스 트래픽 블랙홀 위험.

✅ 충돌 없는 WireGuard 전용 대역 제안

선택지 장점 주의
10.250.250.0/24 모든 현재 VPC 대역과 완전히 분리 10.250.* 를 앞으로도 다른 VPC에 쓰지 않도록 관리
100.64.0.0/24 (CGNAT) RFC 6598, 사설망과 겹치지 않음 일부 방화벽에서 “Carrier‑Grade NAT” 구간을 막는 경우 있음
192.168.240.0/24 길들여진 사설 대역 사내 LAN 과 겹치지 않는지 확인 필요

추천: 10.250.250.0/24


🛠️ 새 전용 대역으로 재설정 예시 (10.250.250.0/24)

노드 WireGuard IP
GCP 서버 10.250.250.1
AWS 서버 10.250.250.2
로컬 노트북 10.250.250.3

📄 GCP wg0.conf 추가/수정

[Interface]
Address = 10.250.250.1/24
...

[Peer]      # AWS
PublicKey = <AWS public key>
Endpoint   = <AWS Elastic IP>:51820
AllowedIPs = 10.250.250.2/32
PersistentKeepalive = 25

[Peer]      # 로컬
PublicKey = <Mac public key>
AllowedIPs = 10.250.250.3/32

📄 AWS wg0.conf

[Interface]
Address = 10.250.250.2/24
...

[Peer]      # GCP
PublicKey = <GCP public key>
Endpoint   = <GCP External IP>:51820
AllowedIPs = 10.250.250.1/32
PersistentKeepalive = 25

[Peer]      # 로컬
PublicKey = <Mac public key>
AllowedIPs = 10.250.250.3/32

📄 로컬 wg0.conf

[Interface]
Address = 10.250.250.3/24
...

[Peer]      # GCP
PublicKey  = <GCP public key>
Endpoint   = <GCP External IP>:51820
AllowedIPs = 10.250.250.1/32, 10.1.0.0/24, 10.11.0.0/16, 10.21.0.0/16, 10.60.0.0/28, 10.70.0.0/28
PersistentKeepalive = 25

[Peer]      # AWS
PublicKey  = <AWS public key>
Endpoint   = <AWS Elastic IP>:51820
AllowedIPs = 10.250.250.2/32, 10.0.0.0/16, 10.10.0.0/16, 172.31.0.0/16
PersistentKeepalive = 25

🔑 체크리스트

  1. CIDR 충돌 없음 ‑ 전용 대역 10.250.250.0/24 사용

  2. 각 테스트:

    • ping 10.250.250.1 (GCP)
    • ping 10.250.250.2 (AWS)
    • VPC 내부 IP 도 서로 ping
  3. 보안 그룹 / GCP 방화벽 → 포트 51820 UDP 열려 있는지 확인

  4. ip_forward = 1 / NAT (PostUp iptables) 적용 확인


이 구조대로 가면 현재 모든 VPC 대역과 완벽히 분리된 WireGuard 네트워크가 생겨서 충돌 걱정 없이 AWS–GCP 직접 연결까지 깔끔하게 완성돼!