Public NAT

Public NAT를 사용하면 인터넷에 대한 아웃바운드 연결을 생성하여 각 VM에 공유 외부 IPv4 주소 및 소스 포트 세트를 할당함으로써 Compute Engine 가상 머신(VM) 인스턴스가 인터넷과 통신할 수 있습니다.

Public NAT를 사용하면 외부 IPv4 주소가 없는 VM 인스턴스가 인터넷의 IPv4 목적지와 통신할 수 있습니다. 또한 Public NAT를 사용하면 외부 또는 내부 IPv6 주소가 있는 VM 인스턴스가 인터넷의 IPv4 목적지에 연결할 수 있습니다(프리뷰).

사양

Public NAT는 다음에 대한 네트워크 주소 변환(NAT)을 지원합니다.

  • IPv4에서 IPv4 또는 NAT44. 자세한 내용은 Public NAT의 NAT44를 참고하세요.

  • IPv6에서 IPv4 또는 NAT64(프리뷰). Compute Engine VM 인스턴스에 NAT64를 사용할 수 있습니다. Google Kubernetes Engine(GKE) 노드, 서버리스 엔드포인트, 리전별 인터넷 네트워크 엔드포인트 그룹의 경우 Public NAT는 IPv4 주소만 변환합니다. 자세한 내용은 Public NAT의 NAT64를 참고하세요.

일반 사양

  • Public NAT에서는 아웃바운드 연결과 해당 연결에 대한 인바운드 응답을 허용합니다. Public NAT용 각 Cloud NAT 게이트웨이는 이그레스에 소스 NAT를 수행하고 설정된 응답 패킷에 대해 목적지 NAT를 수행합니다.

  • Public NAT는 방화벽 규칙에서 허용되었더라도 인터넷에서 수신되는 요청하지 않은 인바운드 요청을 허용하지 않습니다. 자세한 내용은 관련 RFC를 참고하세요.

  • Public NAT용 각 Cloud NAT 게이트웨이는 단일 VPC 네트워크, 리전, Cloud Router와 연결됩니다. Cloud NAT 게이트웨이 및 Cloud Router는 컨트롤 플레인을 제공하며 데이터 플레인에 포함되지 않으므로 패킷이 Cloud NAT 게이트웨이 또는 Cloud Router를 통과하지 않습니다.

    Public NAT용 Cloud NAT 게이트웨이가 Cloud Router에서 관리되더라도 Public NAT는 경계 게이트웨이 프로토콜을 사용하지 않거나 의존하지 않습니다.

  • NAT44의 경우 Public NAT는 다음에서 전송되는 아웃바운드 패킷에 대해 NAT를 제공할 수 있습니다.

    • VM의 네트워크 인터페이스의 기본 내부 IP 주소(네트워크 인터페이스에 할당된 외부 IP 주소가 없는 경우): 네트워크 인터페이스에 할당된 외부 IP 주소가 있는 경우 네트워크 인터페이스가 Trusted Cloud 인터넷 액세스 요구사항을 충족하기 때문에 소스가 인터페이스의 기본 내부 IP 주소와 일치하는 패킷에 대해 Trusted Cloud 가 일대일 NAT를 자동으로 수행합니다. 인터페이스에 외부 IP 주소가 있으면 항상 우선 적용되며, Public NAT를 사용하지 않고 항상 일대일 NAT를 수행합니다.

    • VM 네트워크 인터페이스에 할당된 별칭 IP 범위: 네트워크 인터페이스에 할당된 외부 IP 주소가 있더라도 인터페이스의 별칭 IP 범위로부터 전송된 소스의 패킷에 대해 NAT를 제공하도록 Public NAT용 Cloud NAT 게이트웨이를 구성할 수 있습니다. 인터페이스에서 외부 IP 주소는 별칭 IP 주소로 일대일 NAT를 수행하지 않습니다.

    • GKE 클러스터: 특정 환경에서 클러스터에 외부 IP 주소가 포함되더라도 Public NAT가 서비스를 제공할 수 있습니다. 자세한 내용은 GKE 상호작용을 참고하세요.

  • NAT64(프리뷰)의 경우 Public NAT는 다음에서 전송된 아웃바운드 패킷에 대해 NAT를 제공할 수 있습니다.

    • VM의 IPv6 전용 네트워크 인터페이스의 내부 /96 주소 범위입니다.
    • VM의 IPv6 전용 네트워크 인터페이스의 외부 /96 주소 범위입니다.

경로 및 방화벽 규칙

Public NAT는 다음 홉이 기본 인터넷 게이트웨이인 로컬 정적 경로에 의존합니다. 기본 경로는 일반적으로 이 요구사항을 충족합니다. 자세한 내용은 경로 상호작용을 참고하세요.

Cloud NGFW 방화벽 규칙은 Public NAT용 Cloud NAT 게이트웨이가 아닌 Compute Engine VM의 네트워크 인터페이스에 직접 적용됩니다.

Public NAT용 Cloud NAT 게이트웨이가 VM의 네트워크 인터페이스에 대해 NAT를 제공할 때 관련 이그레스 방화벽 규칙은 NAT 전에 해당 네트워크 인터페이스의 패킷으로 평가됩니다. 인그레스 방화벽 규칙은 패킷이 NAT에 의해 처리된 후에 평가됩니다. 사용자는 NAT를 위해 특별히 방화벽 규칙을 만들 필요는 없습니다.

하지만 IPv4 목적지에 대한 이그레스 거부 방화벽 규칙이 있는 VPC 네트워크에서 NAT64를 사용 설정하려면 목적지의 IPv4 삽입 IPv6 주소에 대한 이그레스 거부 방화벽 규칙을 추가로 만드는 것이 좋습니다. 이렇게 하면 NAT64를 사용하는 VM의 트래픽이 IPv4 방화벽 규칙을 우회할 수 없습니다. 예를 들어 IPv4 규칙의 목적지가 1.2.3.4/32이면 IPv6 규칙의 목적지는 64:ff9b:0102:0304/128이어야 합니다. IPv4가 삽입된 IPv6 주소에 대해 자세히 알아보려면 NAT64를 참고하세요.

서브넷 IP 주소 범위 관련성

Public NAT는 IPv4 서브넷 범위, IPv6 서브넷 범위 또는 둘 다에 대해 NAT를 제공할 수 있습니다.

  • IPv4 서브넷 범위의 경우 다음 옵션을 사용하여 기본 IP 주소 범위, 별칭 IP 범위 또는 둘 다에 대해 NAT를 구성할 수 있습니다.

    • 리전의 모든 서브넷에 대한 기본 및 보조 IPv4 범위: 단일 Cloud NAT 게이트웨이가 기본 내부 IP 주소 및 네트워크 인터페이스가 해당 리전의 IPv4 서브넷을 사용하는 적격한 VM의 모든 별칭 IP 범위에 대해 NAT를 제공합니다.

    • 리전에 있는 모든 서브넷의 기본 IPv4 범위: 단일 Cloud NAT 게이트웨이가 기본 내부 IP 주소 및 네트워크 인터페이스가 해당 리전의 IPv4 서브넷을 사용하는 적격한 VM의 서브넷 기본 IP 주소 범위에 해당하는 별칭 IP 범위에 대해 NAT를 제공합니다. 리전에서 Public NAT용 추가 Cloud NAT 게이트웨이를 만들어 적격한 VM의 서브넷 보조 IP 주소 범위로부터 별칭 IP 범위에 대한 NAT를 제공할 수 있습니다.

    • 커스텀 서브넷 목록: 단일 Cloud NAT 게이트웨이는 네트워크 인터페이스가 지정된 서브넷 목록의 서브넷을 사용하는 적격한 VM의 기본 내부 IP 주소 및 모든 별칭 IP 범위에 대해 NAT를 제공합니다.

    • 커스텀 서브넷 IPv4 주소 범위: Public NAT 할당량 및 한도에 따라 Public NAT용 Cloud NAT 게이트웨이를 필요한 만큼 여러 개 만들 수 있습니다. 각 게이트웨이에서 제공할 서브넷 기본 또는 보조 IP 주소 범위를 선택합니다.

  • IPv6 서브넷 범위의 경우 다음 옵션을 사용하여 내부 IP 주소 범위, 외부 IP 주소 범위 또는 둘 다에 대해 NAT를 구성할 수 있습니다.

    • 리전의 모든 서브넷에 대한 내부 및 외부 IPv6 주소 범위: 단일 Cloud NAT 게이트웨이가 리전의 모든 내부 및 외부 IP 주소 범위에 대해 NAT를 제공합니다.
    • 커스텀 서브넷 목록: 단일 Cloud NAT 게이트웨이는 네트워크 인터페이스가 지정된 서브넷 목록의 서브넷을 사용하는 적격한 VM의 내부 및 외부 IP 주소 범위에 대해 NAT를 제공합니다.

여러 Cloud NAT 게이트웨이

다음 조건 중 하나가 참이면 VPC 네트워크의 동일한 리전에 Public NAT용 Cloud NAT 게이트웨이가 여러 개 있을 수 있습니다.

  • 각 게이트웨이는 서로 다른 서브넷에 구성됩니다.

  • 단일 서브넷 내에서 각 게이트웨이는 서로 다른 IP 주소 범위에 구성됩니다. 커스텀 Cloud NAT 매핑을 사용하여 Public NAT용 Cloud NAT 게이트웨이를 특정 서브넷 또는 IP 주소 범위에 매핑할 수 있습니다.

매핑된 NAT 게이트웨이가 겹치지 않는 한 Public NAT 할당량 및 한도에 따라 필요한 만큼 Public NAT용 Cloud NAT 게이트웨이를 만들 수 있습니다. 자세한 내용은 Cloud NAT 게이트웨이 제한사항을 참고하세요.

대역폭

Public NAT용 Cloud NAT 게이트웨이를 사용해도 VM이 사용할 수 있는 아웃바운드 또는 인바운드 대역폭 양이 변경되지 않습니다. 머신 유형별로 달라지는 대역폭 사양은 Compute Engine 문서의 네트워크 대역폭을 참고하세요.

여러 네트워크 인터페이스가 있는 VM

여러 네트워크 인터페이스가 포함된 VM을 구성할 때 각 인터페이스는 개별 VPC 네트워크에 있어야 합니다. 따라서 다음 사항이 참입니다.

  • Public NAT용 Cloud NAT 게이트웨이는 VM의 단일 네트워크 인터페이스에만 적용될 수 있습니다. Public NAT용 개별 Cloud NAT 게이트웨이는 각 게이트웨이가 개별 인터페이스에 적용되는 동일 VM에 NAT를 제공할 수 있습니다.
  • 여러 네트워크 인터페이스 VM의 인터페이스 중 하나가 외부 IPv4 주소를 가져 해당 인터페이스가 Public NAT에 적격하지 않게 되어도 또 다른 한 인터페이스에 외부 IPv4 주소가 없고 적절한 서브넷 IP 주소 범위에 적용되도록 Public NAT용 Cloud NAT 게이트웨이를 구성했다면 이 인터페이스가 NAT에 적격할 수 있습니다. IPv6의 경우 내부 및 외부 IPv6 주소가 모두 지원됩니다.

NAT IP 주소 및 포트

Public NAT용 Cloud NAT 게이트웨이를 만들 때는 게이트웨이가 리전 외부 IP 주소를 자동으로 할당하도록 선택할 수 있습니다. 또는 게이트웨이에 고정된 개수의 리전 외부 IP 주소를 수동으로 할당할 수 있습니다.

자동 NAT IP 주소 할당이 포함된 Public NAT용 Cloud NAT 게이트웨이의 경우 다음을 고려하세요.

  • Cloud NAT 게이트웨이가 IP 주소를 할당할 네트워크 서비스 등급(프리미엄 등급 또는 표준 등급)을 선택할 수 있습니다.
  • 자동으로 NAT IP 주소가 할당된 Public NAT용 Cloud NAT 게이트웨이의 등급을 변경하면 Trusted Cloud 에서 해당 게이트웨이에 할당된 모든 IP 주소를 해제하고 모든 포트 할당을 사용 중지합니다.

    새로 선택한 등급의 새 IP 주소 집합이 자동으로 할당되고 모든 엔드포인트에 새 포트 할당이 제공됩니다.

Public NAT용 특정 Cloud NAT 게이트웨이의 경우 특정 조건에 따라 프리미엄 등급이나 표준 등급 또는 둘 다에서 IP 주소를 수동으로 할당할 수도 있습니다.

NAT IP 주소 할당에 대한 자세한 내용은 Public NAT IP 주소를 참고하세요.

Public NAT용 각 Cloud NAT 게이트웨이가 NAT 서비스를 제공할 VM마다 예약하는 소스 포트 수를 구성할 수 있습니다. 각 VM에 대해 동일 개수의 포트가 예약되는 정적 포트 할당 또는 지정한 최소 및 최대 한도 사이에 예약된 포트 수가 변동될 수 있는 동적 포트 할당을 구성할 수 있습니다.

NAT가 제공할 VM은 게이트웨이가 제공하도록 구성된 서브넷 IP 주소 범위에 의해 결정됩니다.

포트에 관한 자세한 내용은 포트를 참고하세요.

관련 RFC

Public NAT는 RFC 5128에서 정의된 엔드포인트 독립 매핑엔드포인트 종속 필터링을 지원합니다. 엔드포인트 독립 매핑을 사용 설정 또는 사용 중지할 수 있습니다. 기본적으로 엔드포인트 독립 매핑은 NAT 게이트웨이를 만들 때 사용 중지됩니다.

엔드포인트 독립 매핑은 VM이 지정된 내부 IP 주소 및 포트 쌍에서 여러 다른 목적지로 패킷을 전송하는 경우, 게이트웨이가 패킷의 목적지에 관계없이 이러한 모든 패킷을 동일한 NAT IP 주소 및 포트 쌍으로 매핑하는 것을 의미합니다. 엔드포인트 독립 매핑에 대한 자세한 내용 및 관련 영향은 동시 포트 재사용 및 엔드포인트 독립 매핑을 참고하세요.

엔드포인트 종속 필터링은 인터넷의 응답 패킷이 VM에서 이미 패킷을 전송한 IP 주소 및 포트에서 온 경우에만 입력할 수 있다는 것을 의미합니다. 필터링은 엔드포인트 매핑 유형에 관계없이 엔드포인트에 종속됩니다. 이 기능은 항상 사용 설정되어 있으며 사용자가 구성할 수 없습니다.

포트와 연결 간의 관계에 대한 자세한 내용은 포트 및 연결NAT 흐름 예시를 참고하세요.

Public NAT는 RFC 3489에 정의된 포트 제한 Cone NAT입니다.

NAT 순회

엔드포인트 독립 매핑이 사용 설정된 경우 고유 STUN 또는 TURN 서버를 배포하면 Public NAT는 STUN 및 TURN과 같은 일반적인 NAT 순회 프로토콜과 호환됩니다.

  • STUN(Session Traversal Utilities for NAT, RFC 5389)은 통신 채널이 설정된 다음 NAT 뒤의 VM 간 직접 통신을 허용합니다.
  • TURN(Traversal Using Relays around NAT, RFC 5766)은 서버에 외부 IP 주소가 포함된 타사 서버를 통해 NAT뒤의 VM 간 통신을 허용합니다. 각 VM이 서버의 외부 IP 주소에 연결되고, 해당 서버가 두 VM 사이의 통신을 릴레이합니다. TURN이 더 강력하지만 대역폭과 리소스 소비량이 더 많습니다.

NAT 제한 시간

Public NAT는 프로토콜 연결에 대한 제한 시간을 설정합니다. 이러한 제한 시간 및 기본값에 관한 자세한 내용은 NAT 제한 시간을 참고하세요.

Public NAT의 NAT44

다음 다이어그램은 IPv4 트래픽에 대한 기본 Public NAT 구성을 보여줍니다.

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

이 예에서는 다음과 같이 정의됩니다.

  • nat-gw-us-east 게이트웨이가 us-east1 리전에서 subnet-1의 기본 IP 주소 범위에 적용되도록 구성되었습니다. 네트워크 인터페이스에 외부 IP 주소가 없는 VM은 기본 내부 IP 주소 또는 subnet-1의 기본 IP 주소 범위 10.240.0.0/16에서 별칭 IP 범위를 사용하여 트래픽을 인터넷에 전송할 수 있습니다.

  • 네트워크 인터페이스에 외부 IP 주소가 없고 기본 내부 IP 주소가 subnet-2에 있는 VM은 해당 서브넷의 IP 주소 범위에 적용되는 Cloud NAT 게이트웨이가 없기 때문에 인터넷에 액세스할 수 없습니다.

  • nat-gw-eu 게이트웨이가 europe-west1 리전에서 subnet-3의 기본 IP 주소 범위에 적용되도록 구성되었습니다. 네트워크 인터페이스에 외부 IP 주소가 없는 VM은 기본 내부 IP 주소 또는 subnet-3의 기본 IP 주소 범위 192.168.1.0/24에서 별칭 IP 범위를 사용하여 트래픽을 인터넷에 전송할 수 있습니다.

워크플로 예시

이전 다이어그램에서 외부 IP 주소가 없는 기본 내부 IP 주소가 10.240.0.4인 VM은 외부 IP 주소 203.0.113.1에서 업데이트를 다운로드해야 합니다. 다이어그램에서 nat-gw-us-east 게이트웨이는 다음과 같이 구성됩니다.

  • 인스턴스당 최소 포트 수: 64
  • 수동으로 할당한 두 NAT IP 주소: 192.0.2.50 및 192.0.2.60
  • subnet-1의 기본 IP 주소 범위에 NAT가 제공됨

Public NAT는 네트워크의 각 VM에 다음 NAT 소스 IP 주소와 소스 포트 튜플을 예약하기 위해 포트 예약 절차를 따릅니다. 예를 들어 Public NAT용 Cloud NAT 게이트웨이는 내부 IP 주소 10.240.0.4로 VM에 64개의 소스 포트를 예약합니다. NAT IP 주소 192.0.2.50은 64개의 예약되지 않은 포트가 있으므로 게이트웨이는 VM에 대한 다음 64개의 NAT 소스 IP 주소 및 소스 포트 튜플 집합을 예약합니다.

  • 192.0.2.50:34000~192.0.2.50:34063

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

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

    • 소스 IP 주소: 10.240.0.4, VM의 기본 내부 IP 주소
    • 소스 포트: 24000, VM의 운영체제에서 선택한 임시 소스 포트
    • 목적지 주소: 203.0.113.1, 업데이트 서버의 외부 IP 주소
    • 목적지 포트: 80, 업데이트 서버에 대한 HTTP 트래픽에 대한 목적지 포트
    • 프로토콜: TCP
  • nat-gw-us-east 게이트웨이는 이그레스에 소스 네트워크 주소 변환(SNAT)을 수행하여 요청 패킷의 NAT 소스 IP 주소와 소스 포트를 재작성합니다. 수정한 패킷은 Virtual Private Cloud(VPC) 네트워크에 다음 홉이 기본 인터넷 게이트웨이인 203.0.113.1 목적지에 대한 경로가 있는 경우 인터넷으로 전송됩니다. 기본 경로는 일반적으로 이 요구사항을 충족합니다.

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

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

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

Public NAT의 NAT64

NAT64를 사용하면 IPv6 전용 네트워크 인터페이스가 있는 VM 인스턴스가 인터넷의 IPv4 목적지와 통신할 수 있습니다. Public NAT는 외부 및 내부 IPv6 주소 모두에 NAT64를 지원합니다. NAT64를 구성하려면 DNS64도 구성해야 합니다.

Cloud DNS에서 DNS64를 구성하면 다음과 같은 동작이 가능합니다.

  • IPv6 전용 VM 인스턴스가 IPv4 주소만 있는 인터넷 목적지의 이름을 변환하기 위한 요청을 시작하면 DNS64 서버는 A 레코드를 조회합니다.
  • A 레코드가 발견되면 DNS64 서버는 A 레코드에서 가져온 목적지 IPv4 주소 앞에 64:ff9b::/96 프리픽스를 추가하여 IPv4가 삽입된 IPv6 주소를 합성합니다. 예를 들어 목적지 IPv4 주소가 203.0.113.1인 경우 서버는 64:ff9b::cb00:7101을 반환하며 여기서 cb00:7101은 203.0.113.1의 16진수 표현입니다.

    자세한 내용은 DNS64를 참고하세요.

NAT64가 사용 설정된 요청이 Cloud NAT 게이트웨이에 도달하면 게이트웨이는 다음을 수행하여 SNAT를 실행합니다.

  • 소스 IPv6 주소와 포트를 게이트웨이에 할당된 외부 IPv4 주소와 포트 중 하나로 바꿉니다.
  • 합성된 목적지 IPv6 주소(예: 64:ff9b::cb00:7101)를 합성된 주소의 마지막 32비트를 사용하여 원래 IPv4 주소로 변환합니다.

    Cloud NAT 게이트웨이는 합성된 IPv6 주소의 마지막 32비트를 사용하여 요청 패킷이 인터넷으로 라우팅되는 방식을 결정합니다. IPv6 전용 VM 인스턴스가 64:ff9b::/96 프리픽스의 목적지에 패킷을 전송하면 게이트웨이는 VPC 네트워크의 IPv4 라우팅 테이블을 목적지 IPv4 주소에 적용합니다. IPv4 라우팅 테이블에 다음 홉이 기본 인터넷 게이트웨이인 목적지 IPv4 주소에 대한 경로가 있는 경우 수정된 패킷이 인터넷으로 전송됩니다.

응답이 수신되면 Cloud NAT 게이트웨이는 다음을 실행하여 DNAT를 수행합니다.

  • 응답 패킷의 소스 IP 주소에 64:ff9b::/96 프리픽스를 추가합니다.
  • 패킷이 VM에 전달되도록 응답 패킷의 목적지 주소와 목적지 포트를 다시 작성합니다.

NAT64를 구성하기 전에 경로 및 방화벽 규칙을 검토하세요.

다음 단계