[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로 접속할 수 있어 비용 절약했네요 ㅎㅎ
- 감사합니다~
'IT > AWS' 카테고리의 다른 글
AWS 방화벽 포트 설정해도 접속 안될 때 (0) | 2024.10.31 |
---|---|
AWS EC2 MySQL 설치 (Amazon-Linux2023) (1) | 2024.10.24 |
AWS DB 덤프하는법 테이블, 데이터 추출하기 (2) | 2024.10.20 |
AWS 프리티어 만료 후 계속 사용하는 법 (1) | 2024.10.19 |
AWS 서버 중단 시 커스텀 화면 보여주기 (1) | 2024.10.18 |