Today I Lived/Humanscape - 2025

25.10 - VPC Peering

장 상 현 2025. 10. 20.

한국 리전에 있는 RDS(Aurora MySQL) 

 

글로벌 리전들의 ECS(애플리케이션 서버) 가 접근해야 하는 상황이 생겼다.

 

VPC 구성을 바닥부터 만들어본 경험이 있으니 이정도야~

 

라는 가벼운 마음으로 시작해 결과적으로 

 

VPC Peering → Route Table → Security Group →  NACL 

 

전부 수정한 삽질 박제

 


 

1️⃣ 목표

 

는 매우 단순하다. 미국, 인도네시아, 베트남 VPC 내 ECS → 한국 VPC 내 RDS 접속!

 

설명은 US <-> KR 을 기준으로, 차를 타고 친구 아파트에 찾아가는 상황으로 비유를 해보자

 

2️⃣ 시도와 삽질 과정

(1) VPC Peering 생성

  • US VPC ↔ KR VPC 피어링 생성
  • 상태: Active
  • 결과: 접속 불가

 

💡 Tip: Peering만으로는 통신되지 않는다. Route Table 수정이 필요하다.

🛣️ 비유: 도로만 깔았을 뿐이다. 아직 목적지 주소를 모른다.

 


 

(2) Route Table 수정 (미국 → 한국)

  • 미국 VPC의 모든 Private Subnet Route Table 6개에
  • Destination: 12.34.0.0/16, Target: Peering Connection 추가
  • 결과: 여전히 접속 불가

 

💡 Tip: Peering은 양방향 라우팅이 필요하다.

📍 비유: 도로를 연결했으니(피어링), 그 도로를 타고 어디로 가야 할지 주소를 등록(Routing table)해야 한다.

 


 

(3) Route Table 수정 (한국 → 미국)

  • 한국 DB VPC 라우팅 테이블에
  • Destination: 12.34.0.0/16, Target: Peering Connection 추가
  • 결과: 트래픽은 통과하나 여전히 접속 불가

 

💡 Tip: 라우팅이 되어도 SG/NACL 이 트래픽을 막을 수 있다.

🚧 비유: 이제 길이 뚫리고 목적지를 알았지만, 아파트 단지 차단기가 외부 차량을 막고 있다. 누가 방문하는지 등록해야만 차단기가 열린다.

 


 

(4) Security Group 수정

  • 한국 RDS 인스턴스 SG 인바운드 규칙에
  • Source: 12.34.0.0/16, Port: 3306 추가
  • 결과: 여전히 접속 불가

 

💡 Tip: SG만으론 부족하다. NACL 이 마지막 보루다.

👮 비유: 방문자 명단엔 올렸지만, 경비실에서 신원 확인이 끝나지 않았다. 출입증을 보여줘야 안으로 들어올 수 있다.

 


 

(5) Network ACL 확인

  • 미국 ECS 서브넷 NACL → 0.0.0.0/0 Allow, 문제 없음
  • 한국 RDS 서브넷 NACL → 미국 CIDR 누락
  • 인바운드/아웃바운드에 12.34.0.0/16 Allow 추가
  • 결과: ✅ 접속 성공

 

💡 Tip: NACL(Network ACL)은 서브넷 단위 방화벽이다. 트래픽이 네트워크 안에 들어오기도 전에 차단하거나 허용한다.

🏠 비유: 아예 단지 입구의 정문 보안 게이트 같은 존재다. 아무리 집 주소를 알고 있어도, 정문이 막혀 있으면 들어올 수 없다.

 


 

✅ 3️⃣ 최종 해결 요약

항목작업 내용위치

1 VPC Peering 생성 US ↔ KR
2 Route Table 수정 양쪽 VPC 모두
3 Security Group 인바운드 허용 한국 RDS
4 NACL 인바운드/아웃바운드 허용 한국 DB Subnet

 

[ECS 10.44.0.0/16] ⇄ (VPC Peering) ⇄ [RDS 10.41.0.0/16]

 

 결과: 미국 ECS → 한국 RDS 사설망 접속 성공

 


 

4️⃣ 배운 점

 

  1. VPC Peering은 단방향이 없다.
  2. 양쪽 Route Table 수정 없이는 트래픽이 흐르지 않는다.
  3. SG와 NACL은 별개다.
  4. NACL은 Subnet 단위로 적용되며, SG보다 먼저 트래픽을 필터링한다.
  5. CIDR 정확성 중요.
  6. /16, /20 등 범위가 어긋나면 일부 트래픽이 누락될 수 있다.
  7. 최소 권한 보안 모델은 옳다.
  8. 삽질이 길었지만, 덕분에 서비스가 안전하게 설계되어 있었다.

 


 

🧭 결론

 

AWS 네트워킹은 “한쪽만 열면 되겠지?” 라는 착각을 무너뜨린다.

 

Route Table + Security Group + NACL

 

이 세 가지가 완벽히 일치해야만 통신이 열린다.

 

운영 중에는 Peering의 라우트·NACL 수정이

 

배포 없이 즉시 반영된다는 점도 기억하자.

댓글