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

예를 들어 라벨 app:aa가 있고 IP가 192.168.0.1인 project-1의 포드가 대상 IP 22.22.22.22가 포함된 패킷을 발급하면 Cloud NAT 게이트웨이로 전달됩니다. 게이트웨이는 포드의 엔드포인트에 할당된 이그레스 IP (34.1.22.1)의 소스 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당 최대 동시 연결 수는 32,000 으로 제한됩니다. 이 한도를 초과하면 연결이 실패합니다.
- 최대 NAT 매핑 수는 영역당 VPC당 1,000 입니다. 각 Cloud NAT 게이트웨이에 할당된 각 엔드포인트에 대해 하나의 매핑이 생성됩니다. 하나의 엔드포인트는 하나의 NAT 게이트웨이에만 할당될 수 있으므로 영역에서 Cloud NAT를 사용할 수 있는 최대 엔드포인트 수는 1, 000개입니다. NAT 매핑은 연결 수에 따라 확장되지 않습니다.
장애 조치 동작
이그레스 노드를 사용할 수 없게 되면 해당 이그레스 노드를 사용하는 Cloud NAT 게이트웨이는 사용할 수 없는 노드의 외부 IP를 사용 가능한 다른 이그레스 노드로 자동 이전합니다. 그런 다음 게이트웨이는 사용 가능한 다른 노드를 사용하여 트래픽을 이그레스하도록 시스템을 재구성합니다. 재구성이 완료되면 사용할 수 없는 노드를 사용하던 엔드포인트가 이그레스 연결을 다시 설정할 수 있습니다.