Cloud NAT 제품 상호작용
이 페이지에서는 Cloud NAT와 다른 Google Cloud 제품 사이의 중요한 상호작용을 설명합니다.
경로 상호작용
Public NAT 게이트웨이는 다음 홉이 기본 인터넷 게이트웨이인 경로만 사용할 수 있습니다. 각 Virtual Private Cloud(VPC) 네트워크는 대상이 0.0.0.0/0
이고 다음 홉이 기본 인터넷 게이트웨이인 기본 경로로 시작됩니다. 중요한 배경 정보는 경로 개요를 참조하세요.
다음 예시는 Public NAT 게이트웨이가 작동하지 않게 될 수 있는 상황을 보여줍니다.
다음 홉이 다른 유형의 커스텀 정적 경로 다음 홉으로 설정된 커스텀 정적 경로를 만들면 해당 경로의 대상과 일치하는 대상 IP 주소가 포함된 패킷이 기본 인터넷 게이트웨이 대신 다음 홉으로 전송됩니다. 예를 들어 NAT, 방화벽, 프록시 소프트웨어를 실행하는 VM 인스턴스가 있을 때는 이러한 VM에 대한 트래픽을 다음 홉으로 전달하기 위해 커스텀 정적 경로를 만들 필요가 있습니다. 다음 홉 VM에는 외부 IP 주소가 필요합니다. 따라서 다음 홉 VM을 사용하는 VM이나 다음 홉 VM 자체의 트래픽에서는 Public NAT 게이트웨이를 사용할 수 없습니다.
다음 홉이 Cloud VPN 터널인 커스텀 정적 경로를 만들 경우 Public NAT가 이 경로를 사용할 수 없습니다. 예를 들어 대상이
0.0.0.0/0
이고 다음 홉 Cloud VPN 터널이 있는 커스텀 정적 경로는 기본 인터넷 게이트웨이가 아닌 해당 터널로 트래픽을 전달합니다. 따라서 Public NAT 게이트웨이는 이 경로를 사용할 수 없습니다. 마찬가지로 Public NAT 게이트웨이는0.0.0.0/1
및128.0.0.0/1
을 포함하여 보다 구체적인 대상이 포함된 커스텀 정적 경로를 사용할 수 없습니다.온프레미스 라우터가 Cloud VPN 터널 또는 VLAN 연결을 관리하는 Cloud Router에 커스텀 동적 경로를 공지하는 경우 Public NAT 게이트웨이가 이 경로를 사용할 수 없습니다. 예를 들어 온프레미스 라우터가 대상
0.0.0.0/0
을 포함하는 커스텀 동적 경로를 공지하면0.0.0.0/0
이 Cloud VPN 터널 또는 VLAN 연결로 전달됩니다.0.0.0.0/1
및128.0.0.0/1
을 포함한 보다 특정한 대상의 경우에도 이 동작이 적용됩니다.
Private NAT(미리보기) 게이트웨이는 Network Connectivity Center VPC 스포크에서 교환되는 경로만 사용합니다. Network Connectivity Center 연결된 VPC 스포크에 대한 자세한 내용은 VPC 스포크 개요(미리보기)를 참조하세요.
비공개 Google 액세스 상호작용
Public NAT 게이트웨이는 선택된 Google API 및 서비스에 대한 외부 IP 주소로 전송되는 트래픽에 대해 NAT를 수행하지 않습니다. 대신 Google Cloud는 사용자가 기본 또는 보조로 서브넷 범위에 적용하기 위해 Public NAT 게이트웨이를 구성할 때 서브넷 IP 주소 범위에 대해 비공개 Google 액세스를 자동으로 사용 설정합니다. 게이트웨이가 서브넷 범위로 NAT를 제공하는 한 해당 범위에 비공개 Google 액세스가 사용되며, 이를 수동으로 사용 중지할 수 없습니다.
Public NAT 게이트웨이는 비공개 Google 액세스가 작동하는 방법을 변경하지 않습니다. 자세한 내용은 비공개 Google 액세스를 참조하세요.
Private NAT 게이트웨이는 비공개 Google 액세스에 적용되지 않습니다.
공유 VPC 상호작용
공유 VPC는 단일 조직의 여러 서비스 프로젝트가 호스트 프로젝트에 있는 하나의 공통된 공유 VPC 네트워크를 사용할 수 있게 합니다. 공유 VPC 네트워크를 사용하는 서비스 프로젝트에서 VM에 대해 NAT를 제공하기 위해서는 호스트 프로젝트에 Cloud NAT 게이트웨이를 만들어야 합니다.
VPC 네트워크 피어링 상호작용
Cloud NAT 게이트웨이는 단일 리전 및 단일 VPC 네트워크에 있는 서브넷 IP 주소 범위와 연결됩니다. 하나의 VPC 네트워크에서 생성된 Cloud NAT 게이트웨이는 피어링된 네트워크의 VM이 게이트웨이와 동일한 리전에 있더라도 VPC 네트워크 피어링 또는 Network Connectivity Center VPC 스포크를 사용하여 연결된 다른 VPC 네트워크의 VM에 NAT를 제공할 수 없습니다.
GKE 상호작용
Public NAT 게이트웨이는 VPC 기반 클러스터 유형인 비공개 클러스터에서 노드 및 포드에 대해 NAT를 수행할 수 있습니다. Public NAT 게이트웨이는 클러스터가 사용하는 서브넷에 대해 최소한 다음 서브넷 IP 주소 범위에 적용되도록 구성되어야 합니다.
- 서브넷 기본 IP 주소 범위(노드에 사용됨)
- 클러스터의 pod에 사용되는 서브넷 보조 IP 주소 범위
- 클러스터의 서비스에 사용되는 서브넷 보조 IP 주소 범위
전체 비공개 클러스터에 대해 NAT를 제공하는 가장 쉬운 방법은 클러스터 서브넷의 모든 서브넷 IP 주소 범위에 적용되도록 Public NAT 게이트웨이를 구성하는 것입니다.
VPC 기반 클러스터가 서브넷 IP 주소 범위를 사용하는 방법에 대한 배경 정보는 VPC 기반 클러스터의 IP 범위를 참조하세요.
Public NAT 게이트웨이가 비공개 클러스터로 NAT를 제공하도록 구성된 경우 각 노드 VM에 대해 NAT 소스 IP 주소와 소스 포트를 예약합니다. 포드 IP 주소는 각 노드 VM에 할당된 별칭 IP 범위로 구현되기 때문에 이러한 NAT 소스 IP 주소와 소스 포트는 포드에서 사용될 수 있습니다.
Google Kubernetes Engine(GKE) VPC 기반 클러스터는 항상 각 노드에 IP 주소가 1개 넘게 포함된 별칭 IP 범위(/32
보다 작은 넷마스크)를 할당합니다.
정적 포트 할당이 구성된 경우 Public NAT 포트 예약 절차에 따라 노드당 최소 1,024개의 소스 포트가 예약됩니다. VM당 최소 포트에 지정된 값이 1.024를 초과하면 해당 값이 사용됩니다.
동적 포트 할당이 구성되면 VM당 최소 포트에 지정된 값이 처음에 노드별로 할당됩니다. 할당된 포트 수는 이후 요청에 따라 VM당 최소 및 최대 포트에 지정된 값 사이로 변경됩니다.
포드 IP 주소 범위 및 VPC 기반 클러스터에 대한 자세한 내용은 포드의 서브넷 보조 IP 주소 범위를 참조하세요.
Public NAT와 별개로, Google Kubernetes Engine은 사용자가 클러스터의 IP 매스커레이드 구성을 변경하지 않은 한, 포드가 패킷을 인터넷으로 전송할 때 각 노드에서 실행되는 소프트웨어를 사용하여 소스 네트워크 주소 변환(소스 NAT 또는 SNAT)을 수행합니다. pod의 이그레스 트래픽에 대해 세밀한 제어가 필요하면 네트워크 정책을 사용할 수 있습니다.
특정 상황에서 Public NAT는 비공개가 아닌 VPC 기반 클러스터에도 유용할 수 있습니다. 비공개가 아닌 클러스터의 노드에 외부 IP 주소가 있기 때문에 노드의 기본 내부 IP 주소에서 전송되는 패킷은 Cloud NAT에 의해 처리되지 않습니다. 그러나 다음 두 사항이 모두 충족되는 경우 비공개가 아닌 클러스터의 포드에서 전송된 패킷이 Public NAT 게이트웨이에서 처리될 수 있습니다.
VPC 기반 클러스터의 경우 클러스터 포드의 보조 IP 주소 범위에 적용되도록 Public NAT 게이트웨이가 구성됩니다.
클러스터의 IP 매스커레이드 구성은 pod에서 인터넷으로 전송되는 패킷에 대해 클러스터 내에서 SNAT를 수행하도록 구성되지 않습니다.
다음 예시는 Public NAT와 GKE의 상호작용을 보여줍니다.
이 예시에서는 컨테이너를 NAT로 변환합니다. 모든 컨테이너 및 GKE 노드에 NAT를 사용 설정하려면 Subnet 1
의 모든 IP 주소 범위를 NAT 후보로 선택해야 합니다.
- 서브넷 기본 IP 주소 범위:
10.240.0.0/24
- 포드에 사용되는 서브넷 보조 IP 주소 범위:
10.0.0.0/16
Pod1
또는 Pod2
에만 NAT를 사용 설정할 수는 없습니다.
Private NAT(미리보기) 게이트웨이는 비공개 클러스터 및 비공개가 아닌 클러스터의 노드 및 포드에 대해 NAT를 수행할 수 있습니다. Private NAT 게이트웨이는 클러스터에 사용되는 비공개 서브넷의 모든 서브넷 IP 주소 범위에 자동으로 적용됩니다.
Cloud Load Balancing 상호작용
Google Cloud 외부 부하 분산기 및 상태 확인 시스템은 특수 경로를 사용하여 VM과 통신합니다. 백엔드 VM은 외부 IP 주소가 필요하지 않으며, Cloud NAT 게이트웨이도 부하 분산기 및 상태 확인을 위해 통신을 관리하지 않습니다. 자세한 내용은 Cloud Load Balancing 개요 및 상태 확인 개요를 참조하세요.
다음 단계
- Cloud NAT 주소 및 포트 알아보기
- Public NAT 게이트웨이 설정
- Cloud NAT 규칙 구성
- Private NAT 게이트웨이 설정