개발자의 길/Infra

[Network][AWS] AWS 네트워크 구성요소 - 2. 네트워킹 구성요소

토아드 2024. 2. 7. 00:08
반응형

AWS 환경에는 네트워크를 구성하고 보안이나 통신 설정들을 조절할 수 있도록 하는 구성요소들이 있다. 이 포스팅에서는 VPC, 서브넷, 인터넷 게이트웨이, NAT 게이트웨이에 대해 설명하고자 한다.

Availability zone (AZ)

 AWS 는 1차적으로 리전이라는 그룹으로 나누어 지고, 리전 내에는 AZ 라는 영역으로 나누어 진다.

 서울 리전을 예로 들어 보자면, 서울 리전 내에는 3개의 AZ 가 있는데, 이 AZ는 실제로 현실에 존재하는 데이터 센터 하나를 의미한다. AWS 가 인터넷 클라우드 서비스이긴 하나 실제로는 거대한 데이터 센터의 컴퓨팅 능력을 떼서 제공하는 것이기 때문에, 현실세계의 서버가 필요하다. 이 데이터 센터 하나가 하나의 AZ 에 대응하게 된다.

 이렇게 AZ 를 나누는 이유는 만약의 사고에 대비하기 위함이다. 하나의 데이터베이스 서버를 만든다 하면 다른 AZ 에 똑같은 복제본을 생성하고, 무중단으로 스위칭도 가능하게 되는데, 만약에 원본이 존재하는 데이터 센터에 불의의 사고가 발생하게 된다면 자동으로 복제본을 원본으로 승격시켜서 데이터를 안전하게 유지할 수 있다.

Region 선택 창

 한국에는 ap-northeast-2a  ap-northeast-2b  ap-northeast-2c 의 3가지 가용 영역이 존재한다. 네이밍에서 볼 수 있듯이 리전명의 뒤에 알파벳을 붙여서 표현한다.

VPC ( Virtual Private Cloud )

 VPC 는 하나의 Region 내에서 사용자가 정의할 수 있는 '가상의 네트워크' 이다. AWS 에서 제공되는 서비스들을 하나의 네트워크 라는 박스안에 그룹화 한다고 생각하면 된다. 하나의 AWS 리소스(EC2, RDS 등)을 생성하려면 무조건 하나의 VPC 내에 존재해야 한다(VPC 와 무관한 서비스도 있다. S3 나 Lambda 등..). VPC는 여러 AZ 에 거쳐서 존재할 수 있다.

 VPC 를 정하면 VPC 내에서의 IP 주소 범위, 서브넷, 라우팅 테이블, 네트워크 게이트웨이등을 제어 할 수 있다. 

자동으로 생성되는 default vpc 의 모습

서브넷

서브넷은 VPC 내에서 IP 주소 범위를 기반으로 한번 더 나눈 네트워크이다. 서브넷의 경우는 하나의 AZ 내에서만 정의될 수 있다. 퍼블릭 서브넷과 프라이빗 서브넷 등을 정의하여 실제 인터넷에 연결되어 서비스되어야할 서브넷(퍼블릭 서브넷)과 EC2, RDS 등의 AWS 요소와 개발자, 관리자 끼리만 접근 해야하는 서브넷(프라이빗 서브넷) 을 나눌 수 있다.

 

인터넷 게이트웨이 (IGW)

인터넷 게이트웨이는 VPC 내부에서 인터넷으로 연결될수있는 관문 같은 녀석이다. VPC 내부에 정의되어 있으면서 IGW 가 없다면 인터넷과 연결될 수가 없다. IGW 의 경우 인바운드와 아웃바운드(VPC 내부에서 인터넷으로의 요청, 인터넷에서의 VPC 로의 요청 등) 설정이 가능하다. 퍼블릭 IP 주소를 할당받은 리소스가 인터넷과 통신 가능하게 한다.

NAT 게이트웨이

NAT(Network Address Translation) 게이트웨이는 단방향 게이트웨이다. 아웃바운드만 존재하며(VPC 에서 외부 인터넷으로의 요청만 가능), 프라이빗 서브넷의 리소스가 인터넷에 연결하고자 할때 쓰인다. 인터넷에서 프라이빗 게이트웨이로의 차단은 막아주는 역할을 한다. 

 

두 게이트웨이의 특징을 간단하게 정리하자면 아래와 같다.

IGW : 양방향, VPC 의 관문, 퍼블릿 서브넷이 외부에 연결될 때 사용 가능

NAT : 단방향, 서브넷의 관문, 프라이빗 서브넷이 외부에 연결될 때 사용 가능

반응형