[AWS] VPC 구성하기
실습 시나리오는 다음과 같다.
ABC 회사에는
Web Server 1000대,
Web Application Server(WAS) 650대,
DataBase(DB) Server 10대가 있다.
3Tier 구조를 사용하며 Web Server에 Nginx, WAS에 Flask, DB Server에 MySQL을 사용한다.
다시 말해 사용자들이 서비스를 위해 인터넷을 통해 접속하는 Server가 Web 서버이며, 인터넷으로 접근하지 못하는 WAS와 DB Server를 구성할 예정이다.
AWS를 사용하기 전 다음과 같이 CIDR 문서를 만들어 정리하는 것이 좋다.
서브넷 계산기 사이트를 이용하면 빠르게 CIDR 문서를 작성할 수 있다.
https://www.subnet-calculator.com
빨간색으로 표시된 Web2 Server와 DB2 Server는 나중에 사용될 IP 주소이다.
1. VPC 생성
AWS에 접속하면 서비스 -> 네트워킹 및 콘텐츠 전송 -> VPC 항목이 있다.
자주 사용할 대시보드이므로 즐겨찾기를 해두는 것도 좋다.
VPC -> VPC 생성
2. 서브넷 생성
서브넷 -> 서브넷 생성
서브넷 생성은 Server의 IP를 할당하는 작업이다.
가용 영역은 Web Server와 | WAS, DB Server를 구분한다.
보통 목록의 가장 첫 번째의 가용 영역이 많은 것을 서비스할 수 있다.
가용 영역은 리전 별로 다르기 때문에 본인이 사용하는 리전의 가용 영역을 살펴보는 것이 좋다.
나는 1a, 1c, 1d의 가용 영역을 가지고 있고, Web Server에 1a, WAS와 DB Server에 1c를 선택했다. 아래와 같은 방식으로 총 3개의 서브넷을 생성한다.
3. 인터넷 게이트웨이 생성
인터넷 게이트웨이 -> 인터넷 게이트웨이 생성
생성 후 해당 인터넷 게이트웨이 작업 -> VPC에 연결 을 통해 VPC을 선택한다.
4. 라우팅 테이블
기본 값으로 만들어진 라우팅 테이블이 존재한다. 이 라우팅 테이블은 Public 으로 사용되며, 인터넷과 직접적으로 연결된다.
해당 기본 값 라우팅 테이블을 선택하고 -> 라우팅 -> 라우팅 편집을 통해 인터넷 게이트웨이를 추가한다.
라우팅 추가 -> 0.0.0.0/0 -> 인터넷 게이트웨이
서브넷 연결 -> 명시적 서브넷 연결 편집 을 통해 Public 라우팅 테이블에서 사용할 서브넷을 선택하는데, 시나리오에서는 Web Server가 해당한다.
라우팅 테이블 생성 -> Private 라우팅 테이블을 생성한다. 여기에는 WAS와 DB Server가 해당한다.
서브넷 연결 -> 명시적 서브넷 연결 편집 을 통해 WAS, DB 서브넷을 연결한다.
다음 글에서는 각 서버 별 네트워크 ACL과 보안 그룹 규칙을 지정해본다.