개요

NAT Gateway는 비공인 IP를 가진 다수의 서버들이 대표 공인 IP를 이용해 외부와 통신을 할 수 있도록 도와주는 네트워킹 서비스입니다.
그리고, 일반적으로 서버에 직접 공인 IP를 부여하는 것과 달리 외부에서 서버로의 직접 접근은 허용하지 않기 때문에 높은 수준의 보안을 유지할 수 있는 것이 특징입니다.
여기서는 VPC 환경에서 NAT Gateway를 어떻게 구성하고, NAT Gateway를 적용하기 전과 후의 외부와 통신 상태에 대해 확인해보도록 하겠습니다.

NAT Gateway 특징

[NAT Gateway]는 생성 시 [공인 NAT Gateway]와 [사설 NAT Gateway]를 선택할 수 있습니다. 존당 5개까지 생성이 가능하며, 각 NAT Gateway의 특징은 다음과 같습니다.

공인 NAT Gateway

  • 사설 IP와 공인 IP를 둘 다 가지고 있습니다.
  • 인터넷 outbound 통신을 할 때 Public IP에서 할당된 공인 IP를 사용합니다.
  • VPC 내부에서 NAT Gateway를 통해 통신할 경우 할당된 사설 IP를 사용합니다.
  • 할당된 공인 IP는 NAT Gateway를 삭제 시 재사용이 가능합니다.

사설 NAT Gateway

  • 사설 IP만 가지고 있습니다.
  • VPC 내부에서 NAT Gateway를 통해 통신할 경우 할당된 사설 IP를 사용합니다.

VPC 서비스 위치

[VPC] 서비스는 [Console] - [Networking]에 위치해 있습니다.

그리고, 아래 스샷에서 확인할 수 있듯이 [VPC]에는 [VPC], [Subnet], [Network ACL], [NAT Gateway], [Route Table], [VPC Peering], [Virtual Private Gateway] 등의 하부 서비스 메뉴가 있습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

VPC 생성

먼저 VPC를 생성합니다. IP주소 범위는 10.0.0.0/16으로 정하겠습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Subnet 생성

Subnet은 아래와 같이 총 3가지를 준비하겠습니다.

  • NAT Gateway 동작 테스트를 위해 서버용 Public, Private Subnet
  • NAT Gateway를 배치할 NAT Gateway 전용 Subnet

Public Subnet 생성

Public Subnet의 IP 범위는 10.0.0.0/24로 설정하겠습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Private Subnet 생성

Private Subnet의 IP 범위는 10.0.1.0/24로 설정하겠습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

NAT Gateway 전용 Subnet

NAT Gateway 전용 Subnet은 Subnet 생성 화면에서 아래쪽 용도 설정에서 [NatGateway]를 선택합니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

ACG 설정

테스트를 위한 ACG (Access Control Group)를 생성하고 설정합니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Inbound 설정

Inbound 규칙에는 Public, Private Subnet과 SSH 접속을 위한 로컬PC IP를 허용하고, Ping 테스트를 위한 ICMP도 허용합니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Outbound 설정

Outbound 규칙은 TCP, UDP, ICMP 모두 전체 허용으로 추가합니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

서버 생성

테스트를 위해 Public, Private 각각의 Subnet에 1대씩 서버를 설정하고 Public 서버에는 공인 IP도 할당합니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Public -> Private 서버 접속 확인

Public Subnet에 있는 서버에서 Private Subnet에 있는 서버로 통신이 가능한 것을 확인할 수 있습니다.
다음 단계에서 Private 서버로 SSH로 접속하기 위한 사전 확인 단계입니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Private 서버 외부 접속 여부 확인

Public 서버에서 Private 서버로 SSH로 접속한 후에 Private 서버에서 외부로 통신이 되는 것을 확인해보면 불가능한 것을 확인할 수 있습니다.
이후 단계에서 NAT Gateway를 설정하고 Private 서버에서 외부와 통신이 가능한지 확인해보겠습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Route Table 설정 확인

NAT Gateway를 위한 Route Table 설정을 추가하기 전에 현재 상태의 Route Table 설정을 확인해보겠습니다.

Public Subnet의 Route Table 설정 확인

위에서 Public Subnet의 서버와 Private Subnet의 서버가 통신이 가능했던 것은 VPC와 Subnet이 생성될때 Route Table이 생성되면서 VPC 내부 통신을 위한 규칙 (10.0.0.0/16 LOCAL)이 기본으로 설정되기 때문입니다.
그리고 Public의 경우 외부 통신을 위한 INTERNET GATEWAY가 추가되어 있는 것을 확인할 수 있습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Private Subnet의 Route Table 설정 확인

반면에 Private의 경우는 VPC 내부 통신을 위한 LOCAL만 설정된 것을 확인 할 수 있습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Route Table 설정 화면에 들어가도 Target Type에 LOCAL만 선택할 수 있는 것을 확인할 수 있습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

NAT Gateway 생성

[NAT Gateway]는 별도의 메뉴가 있지 않고, [Networking] - [VPC] 서비스 내에 하부 서비스로 존재합니다. 그러면 이제 [NAT Gateway 생성] 버튼을 클릭합니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

이름을 입력하고 서비스 상황에 따라 유형을 [공인] 또는 [사설]을 선택한 후, VPC와 위에서 생성했던 전용 Subnet을 선택하고, NAT Gateway를 생성합니다. 그리고 마지막으로 Route Table에 NATGW 설정을 추가해야 완료되는데, 관련 설정은 아래에서 확인 가능합니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

Route Table 설정

앞에서 LOCAL 항목만 존재했던 Private Subnet의 Route Table 설정 화면에 가보면 Target Type에 NATGW가 추가된 것을 확인할 수 있습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

목적지(Destination)에 0.0.0.0/0을 입력하고, Target Type을 NATGW를 선택하고 생성 버튼을 클릭합니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

외부 접속 테스트

마지막으로 다시 한번 Private 서버에서 외부 통신이 가능한지 ping 테스트를 해보면, 아래 화면과 같이 정상적으로 통신이 되는 것을 확인할 수 있습니다.

Ncloud VPC 환경에서 NAT Gateway 설정하기 가이드

고려사항

생성 후 보유 시간에 따라 요금이 부과되는데 1개당 56원/시간 입니다. 그러므로 1달간 보유하고만 있다고 가정할 때 비용을 계산해보면 24시간 * 30일 * 56원 = 40,320원 그러므로 사용하지 않는 NAT Gatway는 반드시 삭제하기를 추천드립니다.

참고 URL

  1. NAT Gateway 가이드
    https://guide.ncloud-docs.com/docs/networking-vpc-vpcdetailenatgw

  2. NAT Gateway 특징과 비교
    https://m.blog.naver.com/n_cloudplatform/221173116642

문서 업데이트 내역

날짜 내용
2021-07-13 문서 최초 생성
2023-05-16 NAT Gateway 전용 Subnet 업데이트