Cloud NAT 규칙 설정 및 관리
이 페이지에서는 Public NAT용 Cloud NAT 규칙을 구성하는 방법을 설명합니다. Cloud NAT 규칙을 구성하기 전에 Cloud NAT 규칙 개요를 참고하세요.
NAT 규칙 만들기
NAT 규칙을 만들기 위해 Cloud NAT는 규칙 표현식 언어에 설명된 대로 Common Expression Language (CEL)를 사용합니다. NAT 규칙에 사용할 수 있는 표현식의 예는 표현식 예를 참고하세요.
NAT 규칙을 만들려면 NAT 게이트웨이에서 엔드포인트 독립 매핑이 사용 중지되어 있는지 확인하세요.
소스 기반 규칙 만들기
이 섹션의 단계에서는 다음 조건에 따라 소스 기반 NAT 규칙을 만드는 방법을 설명합니다.
- 소스 IP 범위
10.10.1.0/24
의 패킷은IP_ADDRESS_1
를 사용해야 합니다. - 소스 IP 범위
10.10.2.0/24
의 패킷은IP_ADDRESS_2
를 사용해야 합니다. - 다른 모든 패킷은
IP_ADDRESS_3
를 사용해야 합니다.
조건 1과 2의 경우 NAT 규칙을 두 개 만듭니다. 조건 3은 소스 주소 일치를 위한 기본 NAT 규칙에 의해 충족됩니다.
IP_ADDRESS_1
, IP_ADDRESS_2
, IP_ADDRESS_3
는 NAT에 사용할 외부 IP 주소입니다.
콘솔
기존 NAT 게이트웨이에 NAT 규칙 추가
10.10.1.0/24
의 트래픽과 일치하고 소스 IP를IP_ADDRESS_1
로 변환하는 NAT 규칙을 추가합니다.Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
Cloud NAT IP 주소에서 수동을 선택합니다.
Cloud NAT 규칙 섹션에서 규칙 추가를 클릭합니다.
규칙 우선순위 필드에
0
(가장 높은 우선순위)에서65000
(가장 낮은 우선순위)까지의 숫자를 입력합니다. 예를 들면100
입니다.IP 범위 일치에서 소스를 선택합니다.
소스 IP 범위 필드에
10.10.1.0/24
을 입력합니다.IP 주소 섹션에서
IP_ADDRESS_1
에 사용할 IP 주소를 선택합니다.완료를 클릭합니다.
10.10.2.0/24
의 트래픽과 일치하고 이를IP_ADDRESS_2
로 변환하는 NAT 규칙을 추가합니다.- Cloud NAT 규칙 섹션에서 규칙 추가를 클릭합니다.
- 규칙 우선순위 필드에
0
(가장 높은 우선순위)에서65000
(가장 낮은 우선순위)까지의 숫자를 입력합니다. 예를 들면200
입니다. - IP 범위 일치에서 소스를 선택합니다.
- 소스 IP 범위 필드에
10.10.2.0/24
을 입력합니다. - IP 주소 섹션에서
IP_ADDRESS_2
에 사용할 IP 주소를 선택합니다. - 완료를 클릭합니다.
- 저장을 클릭하여 두 규칙을 모두 저장합니다.
gcloud
다음 섹션의 단계를 수행하여 규칙 파일을 만들고, 규칙 파일의 규칙을 사용하는 Cloud NAT 게이트웨이를 만들고, 규칙을 기존 NAT 게이트웨이에 추가할 수 있습니다.
기존 NAT 게이트웨이에 NAT 규칙 추가
gcloud beta compute routers nats rules create
명령어를 사용하여 새 NAT 규칙을 추가할 수 있습니다.
10.10.1.0/24
의 트래픽에IP_ADDRESS_1
를 사용하는 NAT 규칙을 추가합니다.gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \ --router=NAT_ROUTER \ --region=REGION \ --nat=NAT_CONFIG \ --match="inIpRange(source.ip, '10.10.1.0/24')" \ --source-nat-active-ips=IP_ADDRESS_1
다음을 바꿉니다.
NAT_RULE_PRIORITY
: NAT 규칙을 고유하게 식별하는 규칙 번호입니다(0
(가장 높은 우선순위)에서65000
(가장 낮은 우선순위)까지). 예를 들어100
입니다.NAT_ROUTER
: NAT 게이트웨이에 사용하는 Cloud Router의 이름REGION
: NAT 게이트웨이의 리전NAT_CONFIG
: NAT 구성 이름IP_ADDRESS_1
: 규칙과 일치하는 패킷에 사용할 수동으로 할당된 외부 IP 주소
10.10.2.0/24
의 트래픽에IP_ADDRESS_2
를 사용하는 NAT 규칙을 추가합니다.gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \ --router=NAT_ROUTER \ --region=REGION \ --nat=NAT_CONFIG \ --match="inIpRange(source.ip, '10.10.2.0/24')" \ --source-nat-active-ips=IP_ADDRESS_2
다음을 바꿉니다.
NAT_RULE_PRIORITY
: NAT 규칙을 고유하게 식별하는 규칙 번호입니다(0
(가장 높은 우선순위)에서65000
(가장 낮은 우선순위)까지). 예를 들어200
입니다.NAT_ROUTER
: NAT 게이트웨이에 사용하는 Cloud Router의 이름REGION
: NAT 게이트웨이의 리전NAT_CONFIG
: NAT 구성 이름IP_ADDRESS_2
: 규칙과 일치하는 패킷에 사용할 수동으로 할당된 외부 IP 주소
NAT 규칙 파일을 사용하여 NAT 게이트웨이 만들기
다음 코드 샘플은 규칙 파일의 예시입니다. 이 규칙 파일을 사용 사례에 맞게 수정하거나 이미 규칙 파일이 있으면 이 단계를 건너뛸 수 있습니다.
규칙 파일 만들기
rules: - ruleNumber: 100 match: inIpRange(source.ip, '10.10.1.0/24') action: sourceNatActiveIps: - /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_1 - ruleNumber: 200 match: inIpRange(source.ip, '10.10.2.0/24') action: sourceNatActiveIps: - /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_2
위의 예에서 IP_ADDRESS_1
및 IP_ADDRESS_2
은 규칙과 일치하는 패킷에 사용하려는 수동으로 할당된 외부 IP 주소입니다. 각 IP 주소에 대해 다음을 바꿉니다.
PROJECT_ID
: IP 주소의 프로젝트REGION
: IP 주소가 예약된 리전
NAT 규칙 파일을 사용하여 NAT 게이트웨이 만들기
다음 명령어는 NAT 게이트웨이를 만들고 NAT 규칙 파일의 규칙으로 이를 구성합니다. 이미 NAT 게이트웨이를 구성한 경우 기존 NAT 게이트웨이에 NAT 규칙 추가를 참고하세요.
gcloud beta compute routers nats create NAT_CONFIG \ --router=NAT_ROUTER \ --region=REGION \ --nat-all-subnet-ip-ranges \ --nat-external-ip-pool=IP_ADDRESS_3,[IP_ADDRESS_4] \ --rules=PATH_TO_NAT_RULE_FILE
다음을 바꿉니다.
NAT_CONFIG
: NAT 구성의 이름NAT_ROUTER
: NAT 게이트웨이에 사용할 Cloud Router의 이름REGION
: Cloud NAT 게이트웨이를 만들 리전IP_ADDRESS_3
및IP_ADDRESS_4
: 기본 NAT 규칙에 사용할 외부 IP 주소PATH_TO_NAT_RULE_FILE
: NAT 규칙 파일의 경로
대상 기반 규칙 만들기
다음 구성 단계 예시에서는 다음 조건을 충족합니다.
- 대상 주소가
198.51.100.10
인 패킷은 NAT IP 주소IP_ADDRESS_1
을 사용해야 합니다. - 대상 주소가
198.51.100.20/30
인 패킷은 NAT IP 주소IP_ADDRESS_2
또는IP_ADDRESS_3
을 사용해야 합니다.
NAT 규칙 하나를 만들어 이러한 각 조건을 충족할 수 있습니다.
콘솔
기존 NAT 게이트웨이에 NAT 규칙 추가
IP_ADDRESS_1
를 사용하여 트래픽을198.51.100.10
으로 전송하는 NAT 규칙을 추가합니다.Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
수정을 클릭합니다.
Cloud NAT IP 주소에서 수동을 선택합니다.
Cloud NAT 규칙 섹션에서 규칙 추가를 클릭합니다.
규칙 우선순위 필드에
0
(가장 높은 우선순위)에서65000
(가장 낮은 우선순위)까지의 숫자를 입력합니다. 예를 들면100
입니다.일치 IP 범위에서 대상을 선택합니다.
대상 IP 범위 필드에
198.51.100.10
를 입력합니다.IP 주소 섹션에서
IP_ADDRESS_1
에 사용할 IP 주소를 선택합니다.완료를 클릭합니다.
IP_ADDRESS_2
또는IP_ADDRESS_3
을 사용하여 트래픽을198.51.100.20/30
으로 전송하는 NAT 규칙을 추가합니다.- Cloud NAT 규칙 섹션에서 규칙 추가를 클릭합니다.
- 규칙 우선순위 필드에
0
(가장 높은 우선순위)에서65000
(가장 낮은 우선순위)까지의 숫자를 입력합니다. 예를 들면200
입니다. - 일치 IP 범위에서 대상을 선택합니다.
- 대상 IP 범위 필드에
198.51.100.20/30
를 입력합니다. - IP 주소 섹션에서
IP_ADDRESS_2
에 사용할 IP 주소를 선택합니다. - IP 주소 추가를 클릭하고
IP_ADDRESS_3
에 사용할 IP 주소를 선택합니다. - 완료를 클릭합니다.
- 저장을 클릭하여 두 규칙을 모두 저장합니다.
gcloud
다음 섹션의 단계를 수행하여 규칙 파일을 만들고 규칙 파일의 규칙을 사용하는 NAT 게이트웨이를 만들고 규칙을 기존 NAT 게이트웨이에 추가할 수 있습니다.
기존 NAT 게이트웨이에 NAT 규칙 추가
NAT 규칙 명령어를 사용하여 새 NAT 규칙을 추가할 수 있습니다.
NAT_RULE_PRIORITY
를 규칙에 할당할 NAT 규칙 우선순위(0
(가장 높음)에서 65000
(가장 낮음)까지)로 바꾸고 다른 변수는 해당 구성과 일치하는 정보로 바꿉니다.
먼저 트래픽을 IP_ADDRESS1
에서 198.51.100.10
으로 전송하는 NAT 규칙을 추가합니다.
gcloud compute routers nats rules create NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ --match='destination.ip == "198.51.100.10"' \ --source-nat-active-ips=IP_ADDRESS1 \ [--region=REGION] [GLOBAL-FLAG ...]
그런 다음 트래픽을 IP_ADDRESS2
또는 IP_ADDRESS3
에서 198.51.100.20/30
으로 전송하는 NAT 규칙을 추가합니다.
gcloud compute routers nats rules create NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ --match='inIpRange(destination.ip, "198.51.100.20/30")' \ --source-nat-active-ips=IP_ADDRESS2,IP_ADDRESS3 \ [--region=REGION] [GLOBAL-FLAG ...]
규칙 파일 만들기
다음 코드 샘플은 규칙 파일의 예시입니다. 이 규칙 파일을 사용 사례에 맞게 수정하거나 이미 규칙 파일이 있으면 이 단계를 건너뛸 수 있습니다.
rules: - ruleNumber: 100 match: destination.ip == '198.51.100.10' action: sourceNatActiveIps: - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1 - ruleNumber: 200 match: inIpRange(destination.ip, '198.51.100.20/30') action: sourceNatActiveIps: - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2 - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS3
NAT 규칙 파일을 사용하여 NAT 게이트웨이 만들기
다음 명령어는 NAT 게이트웨이를 만들고 NAT 규칙 파일의 규칙으로 이를 구성합니다. 이미 NAT 게이트웨이를 구성한 경우 기존 NAT 게이트웨이에 NAT 규칙 추가를 참고하세요. 변수를 구성과 일치하는 정보로 바꿉니다.
gcloud compute routers nats create NAT_NAME \ --router=ROUTER_NAME \ --nat-external-ip-pool=IP_ADDRESS4,[IP_ADDRESS5] \ --nat-all-subnet-ip-ranges \ --rules=PATH_TO_NAT_RULE_FILE \ [--region=REGION] [GLOBAL-FLAG ...]
NAT 규칙 업데이트
NAT 규칙을 업데이트하려면 다음 섹션의 단계를 수행합니다. gcloud
명령줄 도구를 통해서만 규칙 파일을 사용할 수 있습니다.
콘솔
- Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
- NAT 게이트웨이를 클릭합니다.
- 수정을 클릭합니다.
- 맞춤설정된 규칙에서 업데이트할 규칙을 클릭합니다.
- 확장된 필드에서 변경하려는 정보를 수정할 수 있습니다.
- 완료를 클릭합니다.
- 저장을 클릭합니다.
gcloud
NAT 규칙 파일을 사용하여 업데이트
NAT 규칙 파일을 사용하여 NAT 게이트웨이를 업데이트하려면 gcloud compute routers nats update
명령어를 사용합니다.
변수를 해당 구성과 일치하는 정보로 바꿉니다.
gcloud compute routers nats update NAT_NAME \ --router=ROUTER_NAME \ --rules=PATH_TO_NAT_RULE_FILE \ [--region=REGION] [GLOBAL-FLAG ...]
다음 코드 샘플은 규칙 파일의 예시입니다. sourceNatDrainIps
작업을 확인합니다. 이 작업은 IP_ADDRESS1
을 사용하여 대상에 대한 새 연결을 방지하지만 기존 연결은 유지합니다.
rules: - ruleNumber: 100 match: destination.ip == '198.51.100.10' action: sourceNatActiveIps: - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2 sourceNatDrainIps: - /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1
NAT 규칙 명령어를 사용하여 업데이트
단일 NAT 규칙을 업데이트하려면 다음 명령어를 사용합니다. NAT_RULE_PRIORITY
를 NAT 규칙 우선순위 번호로 바꾸고 다른 변수는 해당 구성과 일치하는 정보로 바꿉니다. source-nat-drain-ips
옵션은 IP_ADDRESS3
및 IP_ADDRESS4
를 사용하여 대상에 대한 새 연결을 방지하지만 기존 연결을 유지합니다.
gcloud compute routers nats rules update NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ --match=Match conditions (expressed in CEL) \ --source-nat-active-ips=[IP_ADDRESS1],[IP_ADDRESS2] \ --source-nat-drain-ips=[IP_ADDRESS3],[IP_ADDRESS4] \ [--region=REGION] [GLOBAL-FLAG ...]
NAT 규칙 삭제
콘솔
- Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
- NAT 게이트웨이를 클릭합니다.
- 수정을 클릭합니다.
- 맞춤설정된 규칙에서 마우스 포인터를 삭제할 규칙에 올려놓습니다. 을 클릭합니다.
- 저장을 클릭합니다.
gcloud
게이트웨이에서 NAT 규칙을 삭제하려면 게이트웨이에서 직접 제거하거나 규칙 파일에서 삭제하고 게이트웨이를 업데이트하면 됩니다.
NAT 규칙 파일을 사용하여 삭제
규칙 파일에서 NAT 파일을 직접 삭제한 후 NAT 게이트웨이를 업데이트할 수 있습니다. 여기에서 NAT 게이트웨이 업데이트 명령어는 편의를 위해 반복되었습니다.
변수를 해당 구성과 일치하는 정보로 바꿉니다.
gcloud compute routers nats update NAT_NAME \ --router=ROUTER_NAME \ --rules=PATH_TO_NAT_RULE_FILE \ [--region=REGION] [GLOBAL-FLAG ...]
NAT 규칙 명령어를 사용하여 삭제
또는 NAT 규칙 delete
명령어를 사용하여 게이트웨이에서 NAT 규칙을 삭제할 수 있습니다. NAT_RULE_PRIORITY
를 NAT 규칙 우선순위 번호로 바꾸고 다른 변수는 해당 구성과 일치하는 정보로 바꿉니다.
gcloud compute routers nats rules delete NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]
NAT 규칙 설명
콘솔
Cloud NAT 페이지에서 NAT 규칙에 대한 정보를 볼 수 있습니다.
- Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
- NAT 게이트웨이를 클릭합니다.
- NAT 규칙을 봅니다.
개별 NAT 규칙에 대한 자세한 내용을 보려면 다음을 수행하면 됩니다.
- 수정을 클릭합니다.
- 맞춤설정된 규칙 제목에서 NAT 규칙을 선택합니다.
- 추가 정보를 봅니다.
- 취소를 클릭합니다.
gcloud
NAT 규칙을 설명하려면 다음 명령어를 사용합니다. NAT_RULE_PRIORITY
를 NAT 규칙 우선순위 번호로 바꾸고 다른 변수는 해당 구성과 일치하는 정보로 바꿉니다.
gcloud compute routers nats rules describe NAT_RULE_PRIORITY \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]
NAT 게이트웨이의 모든 NAT 규칙 나열
콘솔
Cloud NAT 페이지에서 NAT 규칙을 볼 수 있습니다.
- Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
- NAT 게이트웨이를 클릭합니다.
- NAT 규칙을 봅니다.
gcloud
NAT 게이트웨이의 모든 NAT 규칙을 나열하기 위해 다음 명령어를 사용합니다. 그러면 기본 규칙을 포함하여 NAT 규칙에 있는 모든 NAT IP 주소도 표시됩니다. 변수를 해당 구성과 일치하는 정보로 바꿉니다.
gcloud compute routers nats rules list \ --router=ROUTER_NAME \ --nat=NAT_NAME \ [--region=REGION] [GLOBAL-FLAG ...]