AWS VPC는 Virtual Private Cloud의 약자로 가상 네트워크 환경이라고 볼 수 있습니다.
VPC에서 네트환경 구축하는 방법을 크게 4가지로 말하겠습니다.
- VPC 생성
- 서브넷 생성
- 인터넷 게이트웨이 / 라우팅 테이블 설정
- NAT 게이트웨이 생성 / 라우팅 테이블 설정
1. 여기서는 먼저 리전을 정해야 합니다. 저는 us-east-1(버지니아 북부)를 선택했습니다.
그리고 대규모 네트워크를 사용하기 위해 IPv4 CIDR은 A클래스 네트워크인 10.0.0.0/16을 선택했습니다.
2. 서브넷은 각 가용 영역 마다 1개의 퍼블릭 서브넷, 1개의 프라이빗 서브넷을 만들어 주었습니다.
us-east-1a > 퍼블릭: 10.0.0.0/24 프라이빗: 10.0.1.0/24
us-east-1b > 퍼블릭: 10.0.100.0/24 프라이빗: 10.0.101.0/24
- 퍼블릭 서브넷에는 퍼블릭 IPv4 주소 지정 할당을 활성화해야 합니다.
3. 인터넷 게이트웨이를 만들고 생성한 VPC에 연결하고, 라우팅테이블 생성한 뒤 각 퍼블릭 서브넷에 연결합니다.
- 이 과정을 해야지 NAT게이트웨이 생성이 가능합니다.
4. NAT게이트웨이를 만들고 라우팅테이블(총 2개)생성한 뒤 각 가용영역에 맞는 프라이빗 서브넷에 연결합니다.
- NAT 게이트웨이는 프라이빗 서브넷의 인터넷 접근을 가능하게 하지만, 퍼블릭 서브넷에 위치해야 합니다.
아래는 네트워크 리소스들을 정리한 것입니다.
미국 리전(us-east-1) 네트워크 리소스 정보
Region | VPC | CIDR | Subnet | CIDR | Routing Table |
us-east-1a | oliveyoung-vpc-us-01 | 10.0.0.0/16 | oliveyoung-1a-pub-01 | 10.0.0.0/24 | oliveyoung-1a-pub-rtb |
oliveyoung-1a-pri-eks-01 | 10.0.1.0/24 | oliveyoung-1a-pri-rtb-01 | |||
us-east-1b | oliveyoung-vpc-us-01 | 10.0.0.0/16 | oliveyoung-1b-pub-01 | 10.0.100.0/24 | oliveyoung-1b-pub-rtb |
oliveyoung-1b-pri-eks-01 | 10.0.101.0/24 | oliveyoung-1b-pri-rtb-01 |
라우팅 테이블 경로 명세서
Table | Destination | Target |
oliveyoung-1a-pub-rtb | 10.0.0.0/16 | Local |
0.0.0.0/0 | oliveyoung-igw-us | |
oliveyoung-1a-pri-rtb-01 | 10.0.0.0/16 | Local |
0.0.0.0/0 | oliveyoung-natgw-us-01 | |
oliveyoung-1b-pub-rtb | 10.0.0.0/16 | Local |
0.0.0.0/0 | oliveyoung-igw-us | |
oliveyoung-1b-pri-rtb-01 | 10.0.0.0/16 | Local |
0.0.0.0/0 | oliveyoung-natgw-us-02 |