Hybrid NAT

Private NAT 제품인 Hybrid NAT를 사용하면 가상 프라이빗 클라우드(VPC) 네트워크와 온프레미스 네트워크 또는 기타 클라우드 제공업체 네트워크 간에 IP 주소의 네트워크 주소 변환 (NAT)을 수행할 수 있습니다. 이러한 네트워크는 Cloud VPN과 같은 Google Cloud의 엔터프라이즈 하이브리드 연결 제품을 사용하여 VPC 네트워크에 연결되어야 합니다.

사양

일반 Private NAT 사양 외에도 Hybrid NAT에 대한 다음 사양을 고려하세요.

  • Hybrid NAT를 사용하면 VPC 네트워크가 통신 네트워크의 서브넷 IP 주소 범위가 겹치더라도 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크와 통신할 수 있습니다. type=PRIVATE의 NAT 구성을 사용하면 VPC 네트워크의 리소스(겹치는 서브넷과 겹치지 않는 서브넷에 있는 리소스 모두)가 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크의 겹치지 않는 서브넷에 있는 리소스에만 연결할 수 있습니다.
  • Hybrid NAT를 사용 설정하려면 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크가 VPC 네트워크가 이를 학습하고 사용할 수 있도록 동적 경로를 공지해야 합니다. Cloud Router는 동적 라우팅이 구성된 HA VPN 또는 기본 VPN과 같은 Google Cloud의 하이브리드 연결 솔루션에서 이러한 동적 경로를 학습합니다. 이러한 동적 경로의 목적지는 VPC 네트워크 외부의 IP 주소 범위입니다.

    마찬가지로 반환 트래픽의 경우 VPC 네트워크가 Cloud Router를 사용하여 Private NAT 서브넷 경로를 공지해야 합니다.

  • Hybrid NAT는 VPC 네트워크에서 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크로의 트래픽에 NAT를 수행합니다. 네트워크는 동적 경로를 통해 Cloud VPN으로 연결되어야 합니다.

  • Hybrid NAT는 동적 라우팅이 사용 설정된 경우에만 기존의 기본 VPN 터널을 지원합니다.

  • 일치 표현식이 nexthop.is_hybrid인 커스텀 NAT 규칙을 만들어야 합니다. NAT 규칙은 VPC 네트워크의 리소스가 다른 네트워크와 통신하는 데 사용할 수 있는 PRIVATE_NAT 용도의 서브넷에서 NAT IP 주소 범위를 지정합니다.

  • Hybrid NAT는 us-central1us-east4를 제외한 모든 Google Cloud 리전에서 지원됩니다.

  • Hybrid NAT를 구성하는 Cloud Router는 VPC 네트워크와 동일한 리전에 있어야 합니다.

  • Hybrid NAT를 구성하는 Cloud Router는 다른 NAT 구성을 포함할 수 없습니다.

  • Cloud Interconnect 연결이 있는 VPC 네트워크에서는 Hybrid NAT를 구성해서는 안 됩니다.

기본 Hybrid NAT 구성 및 워크플로

다음 다이어그램은 기본 Hybrid NAT 구성을 보여줍니다.

Hybrid NAT 변환 예시
Hybrid NAT 변환 예시(확대하려면 클릭)

이 예시에서 Hybrid NAT는 다음과 같이 설정됩니다.

  • us-east1 리전에서 subnet-a의 모든 IP 주소 범위에 적용되도록 pvt-nat-gw 게이트웨이가 vpc-a에 구성되었습니다.
  • vpc-asubnet-a가 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크의 다른 서브넷과 겹치더라도 vpc-asubnet-a에 있는 가상 머신(VM) 인스턴스는 pvt-nat-gw의 NAT IP 주소 범위를 사용하여 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크의 subnet-b에 있는 VM으로 트래픽을 전송할 수 있습니다.

Hybrid NAT 워크플로 예시

이전 다이어그램에서 vpc-asubnet-a에 있는 내부 IP 주소 192.168.1.2가 있는 vm-a는 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크의 subnet-b에 있는 내부 IP 주소 192.168.2.2를 사용하는 vm-b에서 업데이트를 다운로드해야 합니다. Cloud VPN은 VPC 네트워크를 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크에 연결합니다. 온프레미스 네트워크 또는 다른 클라우드 제공업체 네트워크에 vpc-a의 서브넷과 겹치는 또 다른 서브넷 192.168.1.0/24가 포함되어 있다고 가정해 보겠습니다. vpc-asubnet-a에서 온프레미스 또는 다른 클라우드 제공업체 네트워크의 subnet-b와 통신하려면 다음과 같이 vpc-a에 Private NAT 게이트웨이, pvt-nat-gw를 구성해야 합니다.

  • Private NAT 서브넷: Private NAT 게이트웨이를 구성하기 전에 서브넷 IP 주소 범위가 10.1.2.0/29이고 용도가 PRIVATE_NAT인 이 서브넷을 만듭니다. 이 서브넷이 연결된 네트워크의 기존 서브넷과 겹치지 않는지 확인합니다.
  • match='nexthop.is_hybrid'를 사용하는 NAT 규칙.
  • subnet-a의 모든 주소 범위에 대한 NAT입니다.

Hybrid NAT는 네트워크의 각 VM에 다음 NAT 소스 IP 주소와 소스 포트 튜플을 예약하기 위해 포트 예약 절차를 따릅니다. 예를 들어 Private NAT 게이트웨이는 vm-a를 통해 64개의 소스 포트(10.1.2.2:34000~10.1.2.2:34063)를 예약합니다.

VM이 TCP 프로토콜을 사용하여 목적지 포트 80의 업데이트 서버 192.168.2.2에 패킷을 전송하면 다음과 같은 결과가 발생합니다.

  1. VM이 다음 속성으로 요청 패킷을 전송합니다.

    • 소스 IP 주소: 192.168.1.2, VM의 내부 IP 주소
    • 소스 포트: 24000, VM의 운영체제에서 선택한 임시 소스 포트
    • 대상 주소: 192.168.2.2, 업데이트 서버의 IP 주소
    • 대상 포트: 80, 업데이트 서버에 대한 HTTP 트래픽에 대한 대상 포트
    • 프로토콜: TCP
  2. pvt-nat-gw 게이트웨이는 이그레스에 소스 네트워크 주소 변환(SNAT 또는 소스 NAT)을 수행하여 요청 패킷의 NAT 소스 IP 주소와 소스 포트를 재작성합니다.

    • NAT 소스 IP 주소: 10.1.2.2, VM의 예약된 NAT 소스 IP 주소 및 소스 포트 튜플 중 하나
    • 소스 포트: 34022, VM의 예약된 소스 포트 튜플 중 하나에서 가져온 사용되지 않은 소스 포트
    • 대상 주소: 192.168.2.2, 변경되지 않음
    • 대상 포트: 80, 변경되지 않음
    • 프로토콜: TCP, 변경되지 않음
  3. 업데이트 서버가 다음 속성과 함께 pvt-nat-gw 게이트웨이에 도착하는 응답 패킷을 전송합니다.

    • 소스 IP 주소: 192.168.2.2, 업데이트 서버의 내부 IP 주소
    • 소스 포트: 80, 업데이트 서버의 HTTP 응답
    • 대상 주소: 10.1.2.2, 요청 패킷의 원래 NAT 소스 IP 주소와 일치
    • 대상 포트: 34022, 요청 패킷의 소스 포트와 일치
    • 프로토콜: TCP, 변경되지 않음
  4. pvt-nat-gw 게이트웨이는 응답 패킷에 목적지 네트워크 주소 변환(DNAT)을 수행하여 다음 속성의 업데이트를 요청하는 패킷이 VM에 전달되도록 응답 패킷의 목적지 주소와 목적지 포트를 재작성합니다.

    • 소스 IP 주소: 192.168.2.2, 변경되지 않음
    • 소스 포트: 80, 변경되지 않음
    • 대상 주소: 192.168.1.2, VM의 내부 IP 주소
    • 대상 포트: 24000, 요청 패킷의 기존 임시 소스 포트와 일치
    • 프로토콜: TCP, 변경되지 않음

다음 단계