Project/reciping

[reciping] VPC 생성하기

S_N_Y 2025. 11. 5. 05:40

※ 기존에 기록해둔 노션 글을 옮겨적은 것으로, 노션 템플릿에 맞게 적게된 글이라 해당 링크를 통해 더 가독성있게 보실 수 있습니다.

https://www.notion.so/VPC-2690661ce6288087b29de4bc3f9b4d2b

 

VPC 생성하기 | Notion

1. VPC 만들기

pleasant-sand-55a.notion.site


- 3-tier-architecture를 기준으로 토대가 되는 VPC를 생성하는 과정을 담았습니다.
- 모든 과정을 담았으니, 나머지 부가적으로 딸려오는 개념들은 따로 찾아보고 정리해보시는게 더 도움이 되실 겁니다!

 

1. VPC 만들기

VPC 생성 클릭
VPC만 으로 만들고, IPv4 CIDR는 쉽게 AWS default VPC 범위 그대로 가져가도록 합니다. 나머지는 IPv6은 필요없고 테넌시도 그대로 가져가도록 합니다. ( VPC등 은 자동으로 나머지것들까지 만들어주는데 세부적인 서브넷팅이 불가능합니다.)
태그를 작성하는 이유는 분간하기 쉽게 하기 위함입니다. 보통 하나만 설정하는 VPC 말고 서브넷같이 양이 많은 걸 분류할 때 보통 태그를 안 해두면 subnet3239141784120..이런 식으로 떠서 구분하기 쉽게 보기 위함도 있습니다.
VPC 생성 완료


 

2. 서브넷 만들기

서브넷 생성 클릭

2-1) application layer 서브넷 생성

아까 만든 reciping-vpc 선택 후, 가용영역 a 에 10.0.0.0/20 으로 퍼블릭 서브넷 01 생성
가용영역 c 에 10.0.16.0/20 으로 퍼블릭 서브넷 02 생성
가용영역 a 에 10.0.64.0/20 으로 프라이빗 서브넷 01 생성
가용영역 c 에 10.0.80.0/20 으로 프라이빗 서브넷 02 생성
application level 서브넷들 생성 완료

 

💥 지금까지 정리된 서브넷 결과 (application level만)


2-2) DB layer 서브넷 생성

가용영역 a 에 10.0.128.0/24 으로 db 프라이빗 서브넷 01 생성
가용영역 b 에 10.0.129.0/24 으로 db 프라이빗 서브넷 02 생성
가용영역 c 에 10.0.130.0/24 으로 db 프라이빗 서브넷 03 생성
data layer의 프라이빗 서브넷 생성 완료

 

💥 지금까지 정리된 서브넷 결과 (application layer + data layer)

reciping-db-private-subnet-01 → 10.0.128.0/24 reciping-db-private-subnet-02 → 10.0.129.0/24 reciping-db-private-subnet-03 → 10.0.130.0/24

 

💥 +) Public Subnet 추가 설정 (운영단계에서는 위험! 개발 환경에서만 해두기 → 지금 X)

⇒ Public Subnet에 새로 생성되는 EC2 인스턴스에 자동으로 퍼블릭 IPv4 주소가 할당하기 위한 설정

퍼블릭 서브넷 선택 후, 서브넷 설정 편집 클릭
퍼블릭 IPv4 주소 자동 할당 활성화 클릭 후 저장 (나머지 남은 퍼블릿 서브넷도 똑같이 저장해두기)


 

3. 라우팅 테이블 만들기

라우팅 테이블 생성 클릭
(1) Presentation Layer의 퍼블릭 라우팅 테이블 생성
(2) Applications Layer의 프라이빗 테이블-01-a 생성
(3) Applications Layer의 프라이빗 테이블-02-c 생성
(4) Data Layer의 프라이빗 라우팅 테이블 생성
아까 만든 서브넷들끼리 연결해주는 작업을 위해 하나 클릭 후, 서브넷 연결 편집 클릭
reciping-rt-public 선택 시, 퍼블릭 서브넷끼리 연결 후 연결 저장 클릭
reciping-rt-private-application-01-a 선택 시, 해당 프라이빗 서브넷끼리 연결 후 연결 저장 클릭
reciping-rt-private-application-02-b 선택 시, 해당 프라이빗 서브넷끼리 연결 후 연결 저장 클릭

 

+) 왜 프라이빗 서브넷은 각각 라우팅 테이블을 만드는가?

: 현업에서도 "고가용성(HA)"이 중요한 서비스라면 AZ별 프라이빗 서브넷에 대해 별도의 라우팅 테이블을 세팅합니다. 특히 애플리케이션 레이어에서는 NAT Gateway를 AZ별로 구성했을 경우, 라우팅 테이블을 각 서브넷마다 따로 구성하는 것입니다

reciping-rt-private-data 선택 시, 프라이빗 서브넷(db)끼리 연결 후 연결 저장 클릭

 

💥 최종 라우팅 테이블 정리

결과 화면

서브넷 라우팅 테이블 목적지 설명
퍼블릭 서브넷 reciping-rt-public 0.0.0.0/0 → IGW 인터넷과 직접 통신 가능
애플리케이션 프라이빗 서브넷-1 reciping-rt-private-application-01-a 0.0.0.0/0 → NAT Gateway 외부로 나갈 수 있지만, 외부에서 접근 불가
애플리케이션 프라이빗 서브넷-2 reciping-rt-private-application-02-b 0.0.0.0/0 → NAT Gateway 외부로 나갈 수 있지만, 외부에서 접근 불가
DB 프라이빗 서브넷 reciping-rt-private-data VPC 내부 전용 (NAT X, IGW X) 완전히 내부 전용 통신만 허용

 

4. 인터넷 게이트웨이 만들기

인터넷 게이트웨이 생성 클릭
인터넷 게이트웨이 생성 클릭
인터넷 게이트웨이 생성 완료
만들어준 인터넷게이트웨이를 VPC와 연결해주어야 합니다. reciping-igw 선택 후, VPC 연결 클릭
사용 가능한 VPC에서 recping-vpc 클릭 후, 인터넷 게이트웨이 연결 클릭
VPC와 인터넷게이트웨이가 연결된 모습

 

이제 Presentaion Layer의 퍼블릭 라우팅 테이블과 만든 인터넷게이트 웨이를 연결해야 합니다.

다시 라우팅 테이블에 들어가서 reciping-rt-public 선택 후, 라우팅 편집 클릭
라우팅 추가 선택 후, 인터넷 게이트웨이 선택, 만들어둔 reciping-igw 클릭 후 변경 사항 저장 클릭
최종 결과 화면


 

5. 나트 게이트웨이 만들기

NAT 게이트웨이 생성 클릭
1. reciping-ngw-01 는 reciping-public-subnet-01 과 연결 2. 탄력적 IP 할당 클릭하기 3. NAT 게이트웨이 생성 클릭
1. reciping-ngw-02 는 reciping-public-subnet-02 과 연결 2. 탄력적 IP 할당 클릭하기(더블 클릭해야 새거 발급 가능) 3. NAT 게이트웨이 생성 클릭

 

이제 Applications Layer의 프라이빗 라우팅 테이블들과 만든 나트 게이트 웨이들을 연결해야 합니다.

reciping-rt-private-application-01-a 선택 후, 라우팅 편집 클릭
라우팅 추가 선택 후, NAT 게이트웨이 선택, 만들어둔 reciping-ngw-01 클릭 후 변경 사항 저장 클릭
reciping-rt-private-application-02-c 선택 후, 라우팅 편집 클릭
라우팅 추가 선택 후, NAT 게이트웨이 선택, 만들어둔 reciping-ngw-02 클릭 후 변경 사항 저장 클릭


 

+) 최종 VPC 리소스 확인 방법

VPC 리소스 맵 클릭