[AWS] VPC 설정하기

Jane·2021년 7월 22일
10

AWS

목록 보기
6/8
post-thumbnail

들어가기 전에...

우선 VPC, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, CIDR 블록에 대해 알아보자.

VPC

Amazon VPC는 Amazon Virtual Private Cloud의 약자로 Amazon EC2의 네트워킹 계층이고, 사용자의 AWS 계정 전용 가상 네트워크이다.
VPC는 리전 서비스이며, 별도 요금이 과금되지 않기 때문에 한 번 만들어두면 계속 사용할 수 있다.

서브넷

VPC의 IP 주소 범위이다.
AZ 서비스로 VPC를 더 작은 범위의 네트워크로 나눈 것이라고 볼 수 있다.

라우팅 테이블

네트워크 트래픽을 전달할 위치를 결정하는데 사용하는 규칙이 명시된 테이블이다.

CIDR 블록

사이더(Classless Inter-Domain Routing)는 클래스 없는 도메인 간 라우팅 기법으로, 네트워크 클래스에 비해 IP 주소의 영역을 여러 네트워크 영역으로 나누기 용이하다.
CIDR 블록은 CIDR 표기법을 통해 지정한 범위 안에 속하는 IP 주소들의 그룹이다.

인터넷 게이트웨이

VPC의 리소스와 인터넷 간 통신을 활성화하기 위해 VPC에 연결하는 게이트웨이다.


VPC 아키텍처

이제 기초적인 정의를 살펴보았으니, 이번 프로젝트에서는 어떻게 VPC 아키텍처를 설계했는지를 공유해보고자 한다. 기본 구조는 AWS의 VPC 시나리오 2을 따라해 보았다.

지금부터는 위의 그림의 구조대로 VPC, 서브넷, 인터넷 게이트웨이 등을 수동으로 생성하여 위의 그림의 구조와 똑같이 설정해볼건데, 이 모든 과정이 귀찮다면 VPC 마법사에서 2번째 옵션을 선택해주면 된다.

VPC 생성

먼저 10.0.0.0/16과 같이 CIDR의 prefix를 16으로 지정하여 VPC를 생성하자.
(CIDR 블록이 가지는 IP 주소의 수는 2^(32-prefix)이므로 prefix를 16으로 설정할 경우 VPC는 65536개의 IP 주소를 제공하게 된다.)

서브넷 생성

다음으로 서브넷을 생성할 것이다.

위에서 만들었던 jane-vpc 안에 public subnet과 private subnet을 생성해보자.

public subnet은 CIDR 블록을 10.0.0.0/24로, private subnet은 10.0.1.0/24로 설정해주었다.

인터넷 게이트웨이

VPC를 인터넷과 다른 AWS 서비스와 연결하려면, 인터넷 게이트웨이가 필요하다. 라우팅 테이블에서 규칙에 인터넷 게이트웨이로의 개방을 추가할 것이기 때문에 미리 만들어 놓자.

인터넷 게이트웨이 생성 후 jane-vpc에 연결해 주었다.

라우팅 테이블

다음으로 public subnet에 붙일 라우팅 테이블을 만들어보자.

라우팅 테이블을 생성하면 서브넷의 인스턴스가 IPv4를 통해 VPC의 CIDR 블록에 속한 다른 인스턴스와 통신할 수 있도록 허용해주는 규칙이 등록되어 있다.

public subnet에 인터넷을 허용하기 위해 모든 Destination에 대하여 Target을 위에서 생성한 인터넷 게이트웨이로 설정해주었다.

이제 라우팅 테이블에 public subnet을 연결해주면 된다.

private subnet에 붙일 라우팅 테이블도 동일한 방식으로 생성하여 서브넷을 연결해주면 된다. private subnet은 인터넷 게이트웨이로 연결하는 대신 NAT 게이트웨이를 통해 인터넷과 통신할 수 있도록 설정해주어야 하지만, 시간 당 $0.045의 비용이 발생하기 때문에 NAT 게이트웨이를 사용하지 않고, private subnet에서 통신이 필요할 때는 잠깐 라우팅 테이블을 수정해주는 꼼수를 쓸 것이다.


Source

0개의 댓글