Cloud NAT 개요
Cloud NAT는 프로젝트 기본 이그레스 구성의 발전된 형태입니다. Cloud NAT는 프로젝트 범위의 영역 서비스로 IPv4 트래픽으로 제한되며 다음과 같은 기능을 제공합니다.
- 서로 다른 엔드포인트 집합에서 트래픽을 이그레스할 수 있는 프로젝트당 여러 게이트웨이
- 게이트웨이당 구성 가능한 이그레스 IP가 여러 개입니다.
- 게이트웨이당 구성 가능한 엔드포인트 라벨 선택기가 여러 개 있습니다.
- 게이트웨이별로 구성 가능한 연결 제한 시간
- 출구 노드 장애 발생 시 안정성이 높고 장애 범위가 낮습니다.
다음 다이어그램은 Cloud NAT의 개요를 보여줍니다. 각 게이트웨이는 게이트웨이 라벨 선택기의 모든 라벨이 있는 (AND 일치) 포드 또는 VM (게이트웨이와 동일한 프로젝트에 있음)의 엔드포인트에서 내부 IP가 아닌 IP로 전송되는 모든 트래픽을 송신합니다. 다른 프로젝트에 있거나 라벨 선택기와 완전히 일치하지 않는 엔드포인트는 게이트웨이를 통해 트래픽을 내보낼 수 없습니다. 게이트웨이는 게이트웨이를 통해 트래픽이 나가는 각 엔드포인트에 이그레스 IP 중 하나를 정적으로 할당합니다. 리프 서브넷의 IP는 각 Cloud NAT 게이트웨이가 사용할 수 있는 이그레스 IP 집합을 지정하는 데 사용됩니다.

예를 들어 라벨이 app:aa이고 IP가 192.168.0.1인 project-1의 포드가 대상 IP가 22.22.22.22인 패킷을 발행하면 Cloud NAT 게이트웨이로 전달됩니다. 게이트웨이는 포드의 엔드포인트 (34.1.22.1)에 할당된 이그레스 IP의 소스 IP를 스왑하고 데이터 VRF로 전달합니다. 해당 VRF에서 답장이 돌아오면 역 작업을 실행하고 결과 패킷을 포드의 엔드포인트로 전달합니다. 동일한 메커니즘이 해당 프로젝트 및 라벨의 VM에 적용됩니다.

기본적으로 Cloud NAT 게이트웨이를 통해 생성된 이그레스 연결에는 다음 시간 제한이 적용됩니다. 필요한 경우 수동으로 구성할 수 있습니다.
제한 시간 |
기본값 (초) |
TCP 외 연결 |
60 |
유휴 TCP 연결 |
8000 |
TCP 연결 해체 |
10 |
TCP 연결 설정 |
60 |
제한사항
- 각 엔드포인트는 단일 이그레스 IP 주소를 사용하여 단일 Cloud NAT 게이트웨이를 통해서만 이그레스할 수 있습니다. 이 IP 주소는 게이트웨이에서 각 엔드포인트에 자동으로 할당합니다. 엔드포인트 또는 게이트웨이의 구성이 변경되지 않는 한 이 할당은 변경되지 않습니다.
- 엔드포인트와 게이트웨이 간 라우팅이 결정적이어야 하므로 Cloud NAT 게이트웨이의 라벨 선택기가 중복되어서는 안 되며 엔드포인트에 여러 게이트웨이와 일치하는 라벨이 있어서는 안 됩니다.
- 엔드포인트에 VPN 게이트웨이의 경로도 있는 경우 Cloud NAT 게이트웨이의 경로보다 우선합니다.
규모 제한
- 프로젝트당 최대 이그레스 IP 주소 수는 100개입니다. Cloud NAT 게이트웨이에 할당된 서브넷이 100개를 초과하는 경우 게이트웨이에서 처음 100개의 IP만 사용됩니다.
- 특정 대상 IP 및 포트에 대한 프로토콜별 이그레스 IP당 병렬 연결 수는 최대 32k로 제한됩니다. 이 한도를 초과하면 연결이 실패합니다.
- NAT 매핑의 최대 수는 영역당 VPC당 1,000개입니다. 각 Cloud NAT 게이트웨이에 할당된 각 엔드포인트에 대해 하나의 매핑이 생성됩니다. 엔드포인트 하나는 NAT 게이트웨이 하나에만 할당할 수 있으므로 영역에서 Cloud NAT를 사용할 수 있는 엔드포인트의 최대 수는 1, 000개입니다. NAT 매핑은 연결 수에 따라 확장되지 않습니다(DO NOT).
장애 조치 동작
이그레스 노드를 사용할 수 없게 되면 해당 이그레스 노드를 사용하는 Cloud NAT 게이트웨이가 사용할 수 없는 노드에서 다른 사용 가능한 이그레스 노드로 외부 IP를 자동으로 이전합니다. 그러면 게이트웨이가 다른 사용 가능한 노드를 사용하여 트래픽을 이그레스하도록 시스템을 재구성합니다. 재구성이 완료되면 사용할 수 없는 노드를 사용하던 엔드포인트가 이그레스 연결을 다시 설정할 수 있습니다.