본문 바로가기
카테고리 없음

Google Cloud Private NAT 구성 가이드

by 나의공간만들기 2026. 1. 2.

    [ 목차 ]

Google Cloud 환경에서 중첩 IP 공간(overlapping IP range)을 가진 네트워크 간에 프라이빗 통신을 구현하려면 Private NAT를 활용하는 것이 효과적인 솔루션입니다. 전통적인 라우팅으로는 서로 충돌하는 프라이빗 IP 대역을 가진 VPC 또는 온프레미스 네트워크를 연결하기 어렵기 때문에 NAT을 통해 주소를 변환하고 통신을 가능하게 합니다.

이 가이드는 실제 설정에 필요한 단계별 명령과 고려사항을 중심으로 다룹니다.

Google Cloud Private NAT 구성 가이드
Google Cloud Private NAT 구성 가이드

Private NAT 소개

Private NAT는 Google Cloud의 Cloud NAT 서비스 기능 중 하나로, 네트워크 간 프라이빗-프라이빗(P2P) 통신 시 NAT 처리를 자동으로 수행하는 완전관리형 서비스입니다. 일반 NAT과 달리 퍼블릭 인터넷 접속이 아닌 VPC-to-VPC / VPC-to-OnPrem 통신을 위해 사용합니다.

  • 운영 부담 최소화: Google Cloud가 인프라 관리를 담당하며 별도의 VM NAT 장비가 필요 없습니다.
  • 고가용성 / 자동 확장: 분산 구조로 서비스 장애 지점을 최소화하고 트래픽 변화에 자동 대응합니다.
  • 적용 범위: VPC끼리, VPC ↔ 온프레미스 또는 기타 클라우드 네트워크 간 통신시 IP 충돌 문제를 해결합니다.

사용할 시나리오

아래와 같은 경우에 Private NAT 구성이 필요합니다.

  • 스포크 간 통신: Network Connectivity Center 허브에 연결된 여러 VPC가 서로 다른 IP 대역은 같지만 통신이 필요한 경우.
  • 하이브리드 환경: 온프레미스 네트워크와 Cloud VPN/Interconnect로 연결하면서 IP가 겹치는 경우.
  • Kubernetes/Cloud Run: 동적 IP 또는 Non-RFC 1918 범위를 사용하는 워크로드가 온프레미스 리소스에 접근해야 하는 경우.

사전 준비

  1. 권한 확인
    Cloud NAT 및 라우터 생성에는 roles/compute.networkAdmin 등 네트워크 관리자 권한이 필요합니다.
  2. IP 설계 검토
    중첩되지 않는 Private NAT용 NAT IP 대역은 Source/Destination과 겹치지 않아야 합니다. 실제 사용할 NAT IP 범위를 미리 설계해야 합니다.

구성 단계

아래 예시는 production-vpc 네트워크에서 partner 네트워크로 중첩 IP 대역이 있는 경우를 가정합니다.

1. NAT 사용자 서브넷 생성

Private NAT에서 사용할 NAT IP 주소 대역을 위한 서브넷을 만듭니다.

gcloud compute networks subnets create pnat-subnet-prod \
  --network=production-vpc \
  --range=192.168.1.0/24 \
  --region=us-central1 \
  --purpose=PRIVATE_NAT
  • 이 서브넷 대역은 소스/대상 네트워크와 겹쳐서는 안됩니다.

2. Cloud Router 생성

NAT 처리를 위한 Cloud Router를 생성합니다.

gcloud compute routers create prod-router \
  --network=production-vpc \
  --region=us-central1

Cloud Router는 NAT 게이트웨이 설정과 라우팅 광고 등에 사용됩니다.

3. Private NAT 게이트웨이 생성

다음 명령으로 프라이빗 NAT 인스턴스를 만듭니다.

gcloud compute routers nats create pnat-to-partner \
  --router=prod-router \
  --region=us-central1 \
  --type=PRIVATE \
  --nat-custom-subnet-ip-ranges=app-subnet-prod:ALL \
  --nat-external-subnets-to-reroute=pnat-subnet-prod
  • --type=PRIVATE: Private NAT임을 명시합니다.
  • --nat-custom-subnet-ip-ranges: NAT을 적용할 워크로드 서브넷 범위입니다.
  • app-subnet-prod:ALL: 해당 서브넷의 모든 IP를 NAT 대상으로 지정합니다.

4. NAT 룰 설정

Private NAT은 기본적으로 프라이빗 통신에만 NAT을 적용합니다. Cloud VPN 또는 Interconnect와 연결된 경우에는 NAT 룰을 정의해야 합니다.

gcloud compute routers nats rules create 1 \
  --router=prod-router \
  --region=us-central1 \
  --nat=pnat-to-partner \
  --match="nexthop.is_hybrid" \
  --source-nat-active-ranges=pnat-subnet-prod
  • "nexthop.is_hybrid": Cloud VPN/Interconnect를 통해 연결된 대상에만 NAT을 적용합니다.
  • --source-nat-active-ranges: 앞에서 만든 NAT 서브넷 범위로 NAT 소스 IP를 지정합니다.

검증 및 테스트

  1. 테스트 VM 배포
    NAT을 적용할 서브넷(app-subnet-prod)에 테스트용 VM을 배포합니다.
  2. 대상 네트워크로 연결 확인
    SSH로 접속 후, 파트너 네트워크의 리소스로 ping 또는 telnet 등으로 접근이 가능한지 확인합니다.
  3. 패킷 소스 확인
    패킷 로그를 확인해 NAT된 IP로 접속이 이루어지는지 검증합니다. 이 단계에서 NAT IP 대역이 정상 적용되었는지 확인할 수 있습니다.

구성 후 고려사항

  • 서브넷 확장시 NAT 대역 증가
    Private NAT은 NAT IP 대역 서브넷에서 할당된 IP로 NAT을 수행합니다. 더 많은 트래픽/세션이 필요하면 NAT IP 범위를 넉넉하게 확보해야 합니다.
  • NAT 구성 수정
    필요에 따라 Cloud NAT 게이트웨이 구성을 업데이트할 수 있습니다. 이 때 기존 연결에 영향이 있을 수 있으므로 주의해서 적용해야 합니다.

마무리

이 가이드는 Private NAT를 통해 중첩 IP 범위가 있는 네트워크를 안전하고 효율적으로 연결하는 구체적인 단계를 제공합니다. 테스트 환경에서 먼저 구성해보고 실제 운영 환경에 적용하는 것을 권장합니다.