1. 목표 네트워크 구성도
2. VPC 생성
리전 | VPC 이름 | IPv4 CIDR 블록 |
서울 | Ticket-VPC-Seoul | 10.0.0.0/16 |
버지니아 | Ticket-VPC-Virginia | 10.1.0.0/16 |
위 표를 참고하여 서울 리전과 버지니아 리전에 각각 VPC를 생성한다.
3. 서브넷 생성
AWS는 서브넷 생성에 따른 비용청구가 없기 때문에 CIDR 블록을 넉넉하게 설정해서 안 좋을 이유가 없다.
특히 Private Subnet에 인프라 자원들이 배치되기 때문에 추후 확장을 고려한다면 Public Subnet 보다 Private Subnet의 CIDR 블록을 더 크게 설정하는 것이 권장된다.
이번 설정에서는 Public Subnet의 Prefix는 24 Private Subnet의 Prefix는 23으로 설정했다.
서브넷 이름 | IPv4 CIDR 블록 | 가용 영역 |
Ticket-Public-Seoul-a | 10.0.0.0/24 | ap-northeast-2a |
Ticket-Public-Seoul-c | 10.0.1.0/24 | ap-northeast-2c |
Ticket-Private-Seoul-a | 10.0.2.0/23 | ap-northeast-2a |
Ticket-Private-Seoul-c | 10.0.4.0/23 | ap-northeast-2c |
Ticket-Public-Virginia-a | 10.1.0.0/24 | us-east-1a |
Ticket-Public-Virginia-c | 10.1.1.0/24 | us-east-1c |
Ticket-Private-Virginia-a | 10.1.2.0/23 | us-east-1a |
Ticket-Private-Virginia-c | 10.1.4.0/23 | us-east-1c |
위의 표를 토대로 각 VPC에 2개의 퍼블릿 서브넷과 2개의 프라이빗 서브넷을 생성한다.
4. NAT 게이트웨이 생성
NAT 게이트웨이는 Private Subnet에 존재하는 자원들이 외부 네트워크와 통신하기 위해 필요하다.
NAT 게이트웨이를 통해 외부에서 Private Subent에 존재하는 자원들에 직접 접근은 불가능하다.
하지만 ELB를 통해 Private Subnet 내부 자원에 접근할 때 반드시 NAT 게이트웨이가 필요하다.
주로 Private Subnet에 존재하는 인스턴스들의 yum install 이나 update를 하기 위해 필요하다.
NAT 게이트웨이는 Public Subnet에 생성하는 것이다. (구성도 참고)
5. 인터넷 게이트웨이 생성
인터넷 게이트웨이는 Public Subent에 존재하는 자원들이 외부와 통신하기 위한 게이트웨이다.
일반 네트워크 환경에서 존재하는 게이트웨이 역할은 한다고 생각하면 쉽다.
인터넷 게이트웨이는 생성하고 VPC에 연결하는 방식이다. (구성도 참고)
6. VPC Peering 연결
VPC Peering 연결은 멀티 리전에 존재하는 VPC간 AWS 백본망을 이용한 통신이 필요한 경우 설정한다.
7. 라우팅 테이블 생성
생성할 라우팅 테이블 명 | 연결할 서브넷 | 라우팅 경로 |
Ticket-PublicRT-a | Ticket-Public-Seoul-a | 10.0.0.0/16 - local |
10.1.0.0/16 - pcx(피어링 연결) | ||
0.0.0.0/0 - igw(인터넷 게이트웨이) | ||
Ticket-PrivateRT-a | Ticket-Private-Seoul-a | 10.0.0.0/16 - local |
10.1.0.0/16 - pcx(피어링 연결) | ||
0.0.0.0/0 - nat(NAT 게이트웨이) | ||
Ticket-PublicRT-c | Ticket-Public-Seoul-c | 10.0.0.0/16 - local |
10.1.0.0/16 - pcx(피어링 연결) | ||
0.0.0.0/0 - igw(인터넷 게이트웨이) | ||
Ticket-PrivateRT-c | Ticket-Private-Seoul-c | 10.0.0.0/16 - local |
10.1.0.0/16 - pcx(피어링 연결) | ||
0.0.0.0/0 - nat(NAT 게이트웨이) |
< 서울 리전 >
생성할 라우팅 테이블 명 | 연결할 서브넷 | 라우팅 경로 |
Ticket-PublicRT-a | Ticket-Private-Virginia-a | 10.1.0.0/16 - local |
10.0.0.0/16 - pcx(피어링 연결) | ||
0.0.0.0/0 - igw(인터넷 게이트웨이) | ||
Ticket-PrivateRT-a | Ticket-Private-Virginia-c | 10.1.0.0/16 - local |
10.0.0.0/16 - pcx(피어링 연결) | ||
0.0.0.0/0 - nat(NAT 게이트웨이) | ||
Ticket-PublicRT-c | Ticket-Private-Virginia-a | 10.1.0.0/16 - local |
10.0.0.0/16 - pcx(피어링 연결) | ||
0.0.0.0/0 - igw(인터넷 게이트웨이) | ||
Ticket-PrivateRT-c | Ticket-Private-Virginia-c | 10.1.0.0/16 - local |
10.0.0.0/16 - pcx(피어링 연결) | ||
0.0.0.0/0 - nat(NAT 게이트웨이) |
< 버지니아 리전 >
8. Bastion Host 생성
Bastion Host는 Private에 존재하는 EC2에 ssh터널링 접속하기 위해 생성한다.
즉, 관리자는 ssh를 통해 Bastion Host로 접속한 후 Bastion Host에서 ssh를 통해 Private에 존재하는 EC2에 접속할 수 있다.
관리자 ----> Bastion Host ----> Private Subnet에 존재하는 EC2
ssh ssh
9. Private Subnet의 인스턴스에 SSH 터널링 접속
'AWS' 카테고리의 다른 글
SNS와 Lambda를 이용한 AutoScaling Group 인스턴스 EBS 스냅샷 생성 (0) | 2021.07.04 |
---|---|
AWS Lambda + API GateWay를 활용한 REST API 사용하기 (0) | 2021.07.03 |
AWS Lambda 기초 개념 및 간단 사용 (0) | 2021.07.03 |
AWS CodeCommit 사용해보기 (0) | 2021.07.03 |
AWS Route53 Failover를 활용한 고가용성 웹 사이트 구축 (0) | 2021.06.29 |