- 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)
💥 +) 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 클릭 후 변경 사항 저장 클릭