Overview
1. VPC 생성하기
2. Subnet 생성하기
3. Internet Gateway 생성 및 연결하기
4. 라우팅 테이블 생성 및 설정하기
5. 보안 그룹 생성 및 설정하기
6. NAT Gateway 생성 및 연결하기
7. VPC Endpoint 구성하기
Step1. VPC 생성하기
- default VPC 외에 새로운 vpc를 생성해준다.
- VPC 이름과 사용할 IP 대역을 설정한 후 [VPC 생성]을 클릭한다.
- 서울 리전에 vpc를 생성했으므로 현재 아키텍처는 아래와 같다.
- "DNS 호스트 이름 편집" 이란 옵션을 통해 VPC 내 속한 리소스들이 DNS Name을 가지도록 설정한다.
해당 옵션을 활성화하면 AWS 리소스가 시작하는 경우 Public 혹은 Private DNS를 제공해준다.
일반적인 운영 환경에서 활성화 한 후 사용한다.
Step2. 서브넷 생성하기
이번 실습에선 퍼블릭 서브넷과 프라이빗 서브넷 각각 두 개씩 생성한다.
- default VPC에 속한 서브넷 외에 새로운 서브넷을 생성하기 위해 [서브넷 생성]을 클릭한다.
- 퍼블릭 서브넷을 각각 다른 가용영역에 배치하여 구성한다.
- 프라이빗도 동일하게 다른 가용영역에 한개씩 구성해준다.
- 생성된 서브넷을 확인한다.
- 현재의 아키텍처를 그려보자
Step3. Internet Gateway 생성 및 연결하기
이제 VPC와 외부와의 통신을 위한 Internet Gateway를 설정해야 한다.
- [인터넷 게이트웨이 생성]을 클릭한다.
- vpc의 이름을 설정하고 [인터넷 게이트웨이 생성]을 클릭한다.
- 생성한 Internet Gateway를 조금 전 만들었던 VPC와 연결한다.
- VPC에 Internet Gateway가 연결된 아키텍처이다.
Step4. 라우팅 테이블 생성 및 설정하기
private subnet은 보안상 외부에서 접근이 불가능하지만, 웹 서버 등이 설치돼있는 public subnet의 경우 외부와 통신이 가능해야 한다.
그러므로 public subnet과 Internet Gateway가 통신 가능하도록 라우팅 테이블을 설정해준다.
- [라우팅 테이블 생성] 탭을 클릭한다.
- 이름과 사용할 VPC를 설정하고 [라우팅 테이블 생성]을 클릭한다.
- [라우팅 편집]을 통해 0.0.0.0/0, 즉 모든 ip와의 통신은 igw를 거쳐 나가게 된다.
- 만들어진 라우팅 테이블과 연결할 서브넷을 선택하는 과정이다.
- public subnet 두 개를 선택해준다. (public subnet은 외부와 통신이 이루어져야 하기 때문에)
+ private subnet 또한 외부와 통신이 필요한 경우가 있는데(DB 업데이트 등), 이럴 때는 IGW가 아닌 NAT Gateway를 생성하여 연결해준다.
Step5. 보안 그룹 생성 및 설정하기
만들어진 VPC 내 서브넷들을 관리하기 위한 보안 그룹을 생성한다.
- 설정은 아래와 같으며, 소스 IP의 경우 "Anywhere" 대신 "내 IP"로 설정해도 무방하다.
Step6. NAT Gateway 생성 및 연결하기
퍼블릭 서브넷에 위치한 인스턴스가 외부와 통신하기 위해선 Internet Gateway를 사용한다.
그럼 보안을 위해 프라이빗 서브넷에 위치한 인스턴스가 외부와 통신하기 위해선 어떻게 해야할까?
이 때, 사용하는 것이 NAT Gateway이다.
- 아래와 같이 private subnet을 생성해준다.
- NAT Gateway를 생성해준다.
- NAT Gateway는 프라이빗 서브넷을 대신하여 외부와 통신하는 공인 IP이기 때문에 Elastic IP를 할당해준다.
+ NAT Gateway는 반드시 Public Zone에 위치한 서브넷에 존재해야 한다.(이 말은 곧 Internet Gateway가
할당된 VPC 내 서브넷에 존재해야 한다는 뜻이다.)
- 인터넷 게이트웨이가 할당되지 않은 서브넷에 NAT GW를 생성 시 아래와 같은 오류 메시지가 표시되며 failed가 뜬다.
- 이제 NAT Gateway로 라우팅 시키기 위한 라우팅 테이블을 생성한다.
- "외부로 향하는 모든 트래픽은 NAT Gateway로 향한다."를 설정하기 위해 아래와 같이 구성한다.
- 이제 서브넷 연결을 해주면 모든 VPC 구성이 완료된 것이다.
+ 가용영역이 두개라면 NAT Gateway도 두개를 만들어 사용하는 것을 권장한다.
AWS는 동일 리전, 동일 가용영역에 대해선 네트워크 통신이 무료이지만, 동일한 리전의 다른 가용영역에 대한
트래픽에 대해선 약간의 과금 요소이다.
서브넷의 목적지가 Internet GW인지, NAT Gateway인지에 따라 Public/Private으로 구분되니, 이를 유의하며
라우팅 테이블을 편집하길 바란다.
Step7. VPC Endpoint 구성하기
S3와 같은 서비스는 VPC 외부에서 실행되는 서비스이다.
VPC 내부에서 S3와 통신을 해야 할 경우에는 InternetGW 혹은 NatGW를 거쳐 인터넷을 통해 통신하기 때문에
네트워크 지연 + 트래픽 과금이 발생한다.
이 때, 사용하는 것이 VPC Endpoint이다.
- [엔드포인트 생성]을 통해 새 VPC 엔드포인트를 생성한다.
- 연결할 서비스를 추가하고 VPC를 선택한다.
- 아키텍처는 아래와 같다.
'AWS' 카테고리의 다른 글
VPC를 구성하고 Load Balancing과 Auto Scaling 적용하기 (0) | 2021.08.11 |
---|---|
AWS CLI를 통한 Amazon S3 데이터 업로드 (0) | 2021.08.11 |
S3_hands-on (0) | 2021.08.10 |
EC2_hands-on (0) | 2021.08.10 |
AWS CloudWatch를 통한 장애 탐지 및 모니터링 (0) | 2021.07.21 |