IT/AWS

[AWS] VPC 피어링(VPC Peering) 설정

binary? 2025. 6. 16. 20:41

[AWS] VPC 피어링(VPC Peering) 설정

 

안녕하세요. 오랜만에 글 써보네요.

기존에 자바 프로젝트를 1개의 AWS EC2 인스턴스에서 1개의 컨테이너를 띄우고 있었는데요. 이번에 컨테이너를 6개로 분리하면서 EC2 인스턴스도 두 개(A 인스턴스, B 인스턴스)로 나누게 되었습니다.

A인스턴스와 B인스턴스를 생성하였는데, DB는 A인스턴스에서 1개를 공통으로 사용하려고 했습니다. B인스턴스에서 A인스턴스의 DB에 접속하려면 퍼블릭액세스를 허용해야하는데, 이 때 유료비용이 발생하는걸로 알고있어 다른방법을 알아보다가 VPC Peering을 접하게 되었습니다.

VPC (Virtual Private Cloud) 는 AWS에서 제공하는 가상의 독립 네트워크

예를 들어

AWS라는 아파트에 여러 세대(회사나 사용자)가 살고 있다고 하면,

VPC는 내 집(네트워크)을 따로 구분해서 사용하는 것

내 집 안에서 방(서브넷), 문(보안 그룹), 우편함(IP주소) 등을 원하는 대로 설정

 

 

아래에 서로 다른 AWS 계정 간 VPC 피어링 (VPC Peering)을 정리해보겠습니다.

 

2개의 계정에서 진행하다보니 A계정, B계정으로 표현하겠습니다.

  • A계정: DB가 존재
  • B계쩡: A계정의 DB에 연결

1. A계정 피어링 연결 메뉴로 이동

  • [Virtual Private Cloud] → [피어링 연결]
  • [피어링 연결 생성] 버튼을 클릭

2. 피어링 연결 설정

  • 이름: 임의로 작성 (예: binary2024)
  • VPC 선택: A 계정의 VPC 선택

  • 피어링할 다른 VPC 선택
  • 계정 ID: B 계정의 AWS 계정 ID
  • 피어 VPC ID: B 계정의 대상 VPC ID

B계정 ID확인하는방법은 2-1, 2-2에 적어놨습니다.

피어링 연결 생성 클릭

 

2-1 B계정 ID 확인

  • 2번에서 다른 계정(B 계정)의 ID를 입력해야 하므로
  • B 계정에서 우측 상단 계정 ID 복사해서 사용합니다.

2.2 peer 대상 VPC ID 확인

  • B 계정에서 콘솔 접속
  • [VPC] → [VPC] 항목으로 들어가
  • 연결할 VPC의 ID를 확인합니다.

3. 피어링 요청 상태 확인

  • 요청을 완료하면 아래처럼 "피어링 요청됨" 상태가 표시됩니다.
  • 이제 B계정으로 가서 수락하면 됩니다.

4. 수락 대기 중 → 요청 수락

  • B 계정으로 로그인해서
  • [피어링 연결] 항목에 들어가면
  • "수락 대기 중" 상태가 보입니다.
 

  • 해당 항목 클릭 → 우측 상단 [작업] → [요청 수락]

5. 피어링 연결 활성화 확인

  • 요청 수락 후 상태가 "활성" 으로 변경됩니다.
  • 이제 두 VPC 간 트래픽 전송이 가능해집니다.

  • 5번까지 하면 피어링은 완료
  • 라우팅 테이블 추가하면 최종완료

6. 라우팅 테이블 설정

  • 라우팅 테이블 설정 -> 서로의 네트워를 연결
  • A계정, B계정 모두 작업해야함
  • 각 계정에서 VPC의 라우팅 테이블 클릭

  • [라우팅 편집] 클릭

  • [라우팅 추가] 클릭
  • A계정에서는 B계정의 VPC CIDR과 피어링 연결 ID을 입력
  • B계정에서는 A계정의 VPC CIDR과 피어링 연결 ID을 입력
  • 각 계정에서 서로를 연결해줘야함.

  • CIDR과 피어링 연결 ID는 VPC메뉴에서 확인 가능

  • 이렇게 VPC peering 설정하면 A 계정과 B 계정의 VPC가 서로 통신 가능한 상태가 됩니다.
  • 퍼블릭 액세스 허용을 하지 않더라도 B계정의 인스턴스에서 A인스턴스의 DB로 접속할 수 있어 비용 절약했네요 ㅎㅎ
  • 감사합니다~