기타/Redmine on AWS

[Redmine on AWS] NAT Gateway 생성

비번변경 2022. 2. 17. 19:55

NAT Gateway

NAT(Network Address Translation)은 패킷의 IP, Port 등을 변환하는 기술을 뜻하며, 주로 Private Network가 외부의 Public Network와 통신하기 위해 사용된다.

인스턴스의 펌웨어나 업데이트를 위한 outbound 트래픽을 허용하기 위함으로, NAT 게이트웨이는 Private Subnet에서 외부로 요청하는 아웃바운드 트래픽을 받아 인터넷 게이트웨이로 연결한다.

 

AWS에서 NAT를 사용하는 방법에는 두 가지가 존재한다.

  1. NAT Gateway : AWS VPC 내 NAT Gateway 사용
  2. NAT Instance : EC2 인스턴스를 NAT용으로 생성하여 사용

NAT Gateway가 NAT Instance보다 고가용성을 보장하기 때문에 NAT Gateway 사용을 권장한다. 다만 비용이 조금 더 부과된다.

 

이 글에서는 아래 구조와 같이 NAT Gateway를 생성하는 방법에 대해 정리한다.

NAT 포함 구조

 

NAT Gateway 생성

1. VPC 서비스의 왼쪽 메뉴바에서 NAT 게이트웨이 선택 후, NAT 게이트웨이 생성 버튼 클릭

NAT 게이트웨이 생성 버튼 클릭

 

2. NAT 게이트웨이가 위치할 Public Subnet을 지정하고, 고정 Public IP 주소를 사용하기 위해 탄력적 IP(Elastic IP) 할당 버튼을 클릭한다.

NAT 게이트웨이 설정

NAT 게이트웨이를 이중화할 수 있도록 Public Subnet 각각에 NAT 게이트웨이를 생성해주도록 한다.

이중화가 필요하지 않다면 한 개만 생성해도 된다.

 

Routing Table

Private Subnet 내에 위치한 인스턴스가 외부로 트래픽을 보내는 경우, NAT 게이트웨이로 라우팅 될 수 있도록 설정해야 한다.

생성하는 방법은 2022.02.13 - [Redmine on AWS] Internet GW/Routing Table 생성 내의 내용과 동일하기 때문에 생략한다.

 

- NAT 게이트웨이 이중화 구성인 경우

  RT_Private_01 RT_Private_02
Routes Destination : 10.0.0.0/16
Target: Local

Destination : 0.0.0.0/
Target: NAT_01
Destination : 10.0.0.0/16
Target: Local

Destination : 0.0.0.0/
Target: NAT_02
Subnets 10.0.12.0/24
10.0.13.0/24
10.0.14.0/24
10.0.22.0/24
10.0.23.0/24
10.0.24.0/24

 

- NAT 게이트웨이 이중화 구성이 아닌 경우

  RT_Private
Routes Destination : 10.0.0.0/16    Target: Local
Destination : 0.0.0.0/    Target: NAT_01
Subnets 10.0.12.0/24
10.0.13.0/24
10.0.14.0/24
10.0.22.0/24
10.0.23.0/24
10.0.24.0/24