로그 및 측정항목
로깅
Cloud NAT 로깅을 사용하면 NAT 연결과 오류를 로깅할 수 있습니다. Cloud NAT 로깅을 사용 설정하면 다음과 같은 시나리오마다 로그 항목이 하나씩 생성될 수 있습니다.
- NAT를 사용하는 네트워크 연결이 생성된 경우
- NAT에 사용 가능한 포트가 없어 패킷이 삭제된 경우
두 종류의 이벤트를 모두 로깅하거나 둘 중 하나만 로깅할 수 있습니다.
생성된 로그는 Cloud Logging으로 전송됩니다.
사양
다음 사양은 Cloud NAT 로깅에 적용됩니다.
Cloud NAT 로깅은 TCP 및 UDP 트래픽만 처리합니다.
Cloud NAT 로깅은 패킷이 이그레스(아웃바운드) TCP 및 UDP 패킷인 경우에만 삭제된 패킷을 로깅합니다. 삭제된 수신 패킷을 로깅하지 않습니다. 예를 들어 어떤 이유로든 아웃바운드 요청에 대한 인바운드 응답이 삭제된 경우에는 오류가 로깅되지 않습니다.
각 VM 인스턴스는 로그 항목을 단위 시간별로 vCPU 수에 비례해서 특정 수 만큼만 생성할 수 있습니다. VM은 vCPU별로 로그 항목을 초당 50~100개까지 생성할 수 있습니다.
이러한 비율 기준점은 로깅 가능한 이벤트 수에 영향을 미칩니다. 일부 이벤트가 필터링된 경우에도 해당 이벤트가 발생하면 가능한 로그 항목 수에 포함되어 계산됩니다. 오류로만 또는 네트워크 주소 변환 연결로만 로그를 제한한다고 해서 본 로그 항목 수가 반드시 증가하지는 않습니다. 예를 들어 성공한 연결만 로깅한 경우에도 과도하게 실패한 연결 시도 및 NAT 오류 기간이 성공한 연결 로그 항목 수를 계속 제한할 수 있습니다.
Cloud NAT 로깅은 모든 단일 패킷을 로깅하지 않습니다. VM의 비율 기준점에 도달하지 않은 경우에도 일부 조건으로 인해 로그에서 이벤트가 생략될 수 있습니다. 정보에 입각한 결정을 내리기 위해서는 Cloud NAT 로깅에 있는 항목 정보를 사용해야 하지만 항목 부재가 이벤트가 발생하지 않았음을 의미한다고 가정해서는 안 됩니다.
로깅 구성
Cloud NAT 로깅을 구성하려면 다음 단계를 수행합니다.
로깅 사용 설정
로깅이 사용 설정되면 수집된 모든 로그가 기본적으로 Cloud Logging으로 전송됩니다. 필터링을 사용하여 특정 로그만 전송되게 할 수 있습니다.
또한 NAT 게이트웨이를 만들거나 수정할 때 이러한 값을 지정할 수 있습니다. 다음 안내에서는 기존 NAT 게이트웨이에 로깅을 사용 설정하는 방법을 보여줍니다.
콘솔
Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
고급 구성을 클릭합니다.
Logging 섹션에서 다음 중 하나를 선택합니다.
- 로깅 안 함: 로깅을 사용 중지합니다.
- 변환 및 오류: 모든 로그를 Logging으로 전송합니다.
- 변환만: 연결이 생성된 경우에만 로그를 전송하며 삭제된 패킷을 로깅하지 않습니다.
- 오류만: 사용할 수 있는 포트가 없어 패킷이 삭제될 때 로그를 전송하며 새 연결을 로깅하지 않습니다.
저장을 클릭합니다.
gcloud
gcloud compute routers nats update 명령어를 사용합니다.
다음 명령어는 기존 NAT 게이트웨이에 로깅을 사용 설정합니다.
각 명령어에서 다음을 바꿉니다.
NAT_GATEWAY: NAT 게이트웨이 이름ROUTER_NAME: NAT 게이트웨이를 호스팅하는 Cloud Router의 이름REGION: Cloud Router 리전
네트워크 주소 변환 이벤트와 오류를 로깅하려면 다음 명령어를 실행합니다.
gcloud compute routers nats update NAT_GATEWAY \
--router=ROUTER_NAME \
--region=REGION \
--enable-logging
네트워크 주소 변환 이벤트만 로깅하려면 다음 명령어를 실행합니다.
gcloud compute routers nats update NAT_GATEWAY \
--router=ROUTER_NAME \
--region=REGION \
--enable-logging \
--log-filter=TRANSLATIONS_ONLY
오류만 로깅하려면 다음 명령어를 실행합니다.
gcloud compute routers nats update NAT_GATEWAY \
--router=ROUTER_NAME \
--region=REGION \
--enable-logging \
--log-filter=ERRORS_ONLY
로그 필터 삭제
설정된 필터가 있으면 이 필터를 삭제할 수 있습니다. 로깅이 사용 설정된 경우 로그 필터를 삭제하면 네트워크 주소 변환 이벤트와 오류가 모두 로깅됩니다.
콘솔
Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
고급 구성을 클릭합니다.
Logging 섹션에서 변환 및 오류를 선택합니다.
저장을 클릭합니다.
gcloud
gcloud compute routers nats update 명령어를 사용합니다.
다음 명령어의 --log-filter=ALL 플래그는 모든 로그가 허용되도록 로그 필터를 설정합니다.
gcloud compute routers nats update NAT_GATEWAY \
--router=ROUTER_NAME \
--region=REGION \
--log-filter=ALL
다음을 바꿉니다.
NAT_GATEWAY: NAT 게이트웨이 이름ROUTER_NAME: NAT 게이트웨이를 호스팅하는 Cloud Router의 이름REGION: Cloud Router 리전
로깅 사용 중지
로깅을 사용 중지하려면 다음을 수행합니다.
콘솔
Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
고급 구성을 클릭합니다.
Logging 섹션에서 로깅 안 함을 선택합니다.
저장을 클릭합니다.
gcloud
gcloud compute routers nats update 명령어를 사용합니다.
gcloud compute routers nats update NAT_GATEWAY \
--router=ROUTER_NAME \
--region=REGION \
--no-enable-logging
다음을 바꿉니다.
NAT_GATEWAY: NAT 게이트웨이 이름ROUTER_NAME: NAT 게이트웨이를 호스팅하는 Cloud Router의 이름REGION: Cloud Router 리전
로깅 상태 확인
로깅 상태를 확인하려면 다음을 수행합니다.
콘솔
Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
NAT 게이트웨이를 클릭합니다.
수정을 클릭합니다.
고급 구성을 클릭합니다.
Logging 섹션에서 선택 항목을 검사합니다.
gcloud
gcloud compute routers nats describe NAT_GATEWAY \
--router=ROUTER_NAME \
--region=REGION
다음을 바꿉니다.
NAT_GATEWAY: NAT 게이트웨이 이름ROUTER_NAME: NAT 게이트웨이를 호스팅하는 Cloud Router의 이름REGION: Cloud Router 리전
로그 보기
NAT 로그를 보려면 다음을 수행합니다.
콘솔
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
- 모든 NAT 로그를 보려면 로그 이름 메뉴에서 Cloud NAT 게이트웨이를 선택합니다.
- 한 리전의 로그만 보려면 로그 이름 메뉴에서 Cloud NAT 게이트웨이를 선택한 후 커서를 오른쪽으로 밀어 리전을 선택합니다.
- 한 게이트웨이의 로그만 보려면 로그 이름 메뉴에서 Cloud NAT 게이트웨이를 선택한 후 커서를 오른쪽으로 밀어 리전을 선택합니다. 다시 커서를 왼쪽으로 밀어 단일 게이트웨이를 선택합니다.
또는 쿼리 편집기에 다음 표현식을 입력합니다.
resource.type="nat_gateway"
logName="projects/{#project_id}/logs/compute.googleapis.com%2Fnat_flows"
gcloud
gcloud logging read 'resource.type=nat_gateway' \
--limit=10 \
--format=json
각 항목의 의미는 다음과 같습니다.
resource.type=nat_gateway: 출력을 NAT 게이트웨이로 제한합니다.--limit=10: 출력을 항목 10개로 제한합니다. 다른 값을 입력하여 항목을 더 많이 또는 더 적게 확인하거나 값을 완전히 생략하여 로그를 연속된 스크롤로 확인할 수 있습니다.--format=json: 출력을 JSON 형식으로 표시합니다.
추가 옵션은 로그 항목 읽기를 참조하세요.
리소스 로그의 로그 기반 측정항목 내보내기를 구성할 수 있습니다.
로깅되는 내용
Cloud NAT 로그 항목에는 NAT 트래픽을 모니터링하고 디버깅하는 데 유용한 정보가 포함됩니다. 로그 항목에는 다음과 같은 유형의 정보가 포함되어 있습니다.
- 대부분의 Google Cloud 로그에 표시되는 일반 정보(예: 심각도, 프로젝트 ID, 프로젝트 번호, 타임스탬프)
- Cloud NAT와 관련된 특정 정보. 일부 로그 필드에는 자체적으로 필드가 여러 개인 항목이 포함됩니다. 다음 표에서는 이러한 항목과 필드를 설명합니다.
로그 필드
| 필드 | 값 | 의미 |
|---|---|---|
connection |
객체(NatIpConnection) | 이 연결의 소스 VM IP 주소 및 포트, NAT 소스 IP 주소 및 포트, 대상 IP 주소 및 포트, IP 주소 프로토콜을 설명하는 7-튜플입니다. |
allocation_status |
enum | 이 연결이 성공적으로 할당 또는 삭제되었는지 여부를 나타냅니다. OK 또는 DROPPED 중 하나입니다. |
gateway_identifiers |
객체(NatGateway) | 연결에 사용된 NAT 게이트웨이 구성입니다. |
endpoint |
객체(InstanceDetails) | VM 인스턴스 세부정보입니다. 공유 VPC 구성에서 project_id는 서비스 프로젝트에 해당합니다. |
vpc |
객체(VpcDetails) | 가상 프라이빗 클라우드(VPC) 네트워크 세부정보입니다. 공유 VPC 구성에서 project_id는 호스트 프로젝트의 프로젝트 ID에 해당합니다. |
destination |
객체(DestinationDetails) | 연결 대상의 세부정보입니다. |
NatIpConnection 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
src_ip |
문자열 | 소스 IP 주소 |
src_port |
int32 | 소스 포트 |
nat_ip |
문자열 | NAT IP 주소 |
nat_port |
int32 | NAT가 할당된 포트 |
dest_ip |
문자열 | 대상 IP 주소1 |
dest_port |
int32 | 목적지 포트 |
protocol |
int32 | IANA 프로토콜 번호 |
NatGateway 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
gateway_name |
문자열 | NAT 게이트웨이 이름 |
router_name |
문자열 | NAT 게이트웨이와 연결된 Cloud Router |
region |
문자열 | Cloud Router 리전 |
InstanceDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
project_id |
문자열 | VM이 포함된 프로젝트의 ID |
vm_name |
문자열 | VM 인스턴스 이름 |
region |
문자열 | VM 리전 |
zone |
문자열 | VM의 영역 |
VpcDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
project_id |
문자열 | 네트워크가 포함된 프로젝트의 ID |
vpc_name |
문자열 | VM이 작동 중인 네트워크 |
subnetwork_name |
문자열 | VM이 작동 중인 서브넷 |
DestinationDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
geo_location |
객체(GeographicDetails) | 연결 대상이 Google Cloud외부에 있는 경우 이 필드는 사용 가능한 위치 메타데이터로 채워집니다. |
instance |
객체(InstanceDetails) | 연결 대상이 소스와 동일한 프로젝트에 있는 인스턴스이면 이 필드는 VM 인스턴스 세부정보로 채워집니다. |
vpc |
객체(VpcDetails) | 연결 대상이 소스와 동일한 프로젝트에 있으면 이 필드는 대상 VPC 네트워크 세부정보로 채워집니다. 대상이 프로젝트 간 VPC 네트워크이면 이 필드는 공백으로 표시됩니다. |
GeographicDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
continent |
문자열 | 외부 엔드포인트 대륙 |
country |
문자열 | 외부 엔드포인트 국가 |
region |
문자열 | 외부 엔드포인트 리전 |
city |
문자열 | 외부 엔드포인트 도시 |
asn |
문자열 | 이 엔드포인트가 속한 외부 네트워크의 자율 시스템 번호(ASN) |
예시
예시 1: 공유 VPC 네트워크의 VM 인스턴스부터 프랑스의 외부 서버까지의 NAT된 TCP 연결 레코드
{
insertId: "1the8juf6vab1t"
jsonPayload: {
connection: {
Src_ip: "10.0.0.1"
Src_port: 45047
Nat_ip: "203.0.113.17"
Nat_port: 34889
dest_ip : "198.51.100.142"
Dest_port: 80
Protocol: "tcp"
}
allocation_status: "OK"
Gateway_identifiers: {
Gateway_name: "my-nat-1"
router_name: "my-router-1"
Region: "europe-west1"
}
Endpoint: {
Project_id: "service-project-1"
Vm_name: "vm-1"
Region: "europe-west1"
Zone: "europe-west1-b"
}
Vpc: {
Project_id: "host-project"
Vpc_name: "network-1"
Subnetwork_name: "subnetwork-1"
}
Destination: {
Geo_location: {
Continent: "Europe"
Country: "France"
Region: "Nouvelle-Aquitaine"
City: "Bordeaux"
}
}
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:08.123456789Z"
resource: {
labels: {
region: "europe-west1-d"
project_id: "host-project"
router_id: "987654321123456"
gateway_name: "my-nat-1"
}
type: "nat_gateway"
}
labels: {
nat.googleapis.com/instance_name: "vm-1"
nat.googleapis.com/instance_zone: "europe-west1-b"
nat.googleapis.com/nat_ip: "203.0.113.17"
nat.googleapis.com/network_name: "network-1"
nat.googleapis.com/router_name: "my-router-1"
nat.googleapis.com/subnetwork_name: "subnetwork-1"
}
timestamp: "2018-06-28T10:46:00.602240572Z"
}
예시 2: 사용 가능한 포트가 없어 삭제된 패킷의 레코드. VM을 전송하면 같은 프로젝트에서 다른 VM의 외부 IP 주소에 연결하려고 했습니다.
{
insertId: "1the8juf6vab1l"
jsonPayload: {
connection: {
Src_ip: "10.0.128.1"
Src_port: 45047
dest_ip : "192.0.2.87"
Dest_port: 80
Protocol: "tcp"
}
allocation_status: "DROPPED"
Gateway_identifiers: {
Gateway_name: "my-nat-2"
Cloud_router: "my-router-1"
Region: "europe-west1"
}
Endpoint: {
Project_id: "service-project-1"
Vm_name: "vm-1"
Region: "europe-west1"
Zone: "europe-west1-b"
}
Vpc: {
Project_id: "host-project"
Vpc_name: "network-1"
Subnetwork_name: "subnetwork-1"
}
Destination: {
Instance: {
Project_id: "service-project-1"
Vm_name: "vm-2"
Region: "asia-east1"
Zone: "asia-east1-b"
}
}
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:09.123456789Z"
resource: {
labels: {
region: "europe-west1-d"
project_id: "host-project"
router_id: "987654321123456"
gateway_name: "my-nat-2"
}
type: "nat_gateway"
}
timestamp: "2018-06-28T10:46:01.602240572Z"
}
Cloud NAT 로깅 가격 책정
Logging 가격 책정을 참조하세요.
모니터링
Cloud NAT는 Fleet의 NAT 게이트웨이 사용량에 대한 통계를 제공하는 주요 측정항목을 Cloud Monitoring에 제공합니다.
측정항목은 Cloud Monitoring으로 자동 전송됩니다. 여기에서 커스텀 대시보드를 만들고 알림을 설정하며 측정항목을 쿼리할 수 있습니다.
다음은 필수 Identity and Access Management(IAM) 역할입니다.
VM 및 NAT 게이트웨이가 서로 다른 프로젝트에 정의된 공유 VPC 사용자의 경우 VM 수준 측정항목에 액세스하려면 각 VM 프로젝트에 대한
roles/monitoring.viewerIAM 역할이 필요합니다.NAT 게이트웨이 리소스의 경우 게이트웨이 측정항목에 액세스하려면 게이트웨이가 포함된 프로젝트에 대한
roles/monitoring.viewerIAM 역할이 필요합니다.
사전 정의된 대시보드 보기
Cloud NAT는 게이트웨이 전체 활동을 표시하는 사전 정의된 대시보드 집합을 제공합니다.
- 열려 있는 연결
- NAT에서 처리한 이그레스 데이터(비율)
- NAT에서 처리한 인그레스 데이터(비율)
- 포트 사용량
- NAT 할당 오류
- 삭제된 전송 패킷 비율
- 삭제된 수신 패킷 비율
특정 게이트웨이의 세부정보 페이지에서 사전 정의된 대시보드를 보려면 다음 단계를 수행합니다.
콘솔
Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.
기존 게이트웨이를 클릭합니다.
모니터링 탭을 클릭합니다.
스크롤하여 모든 대시보드를 확인합니다. 페이지 상단에 있는 컨트롤을 사용하여 뷰를 1시간~30일로 변경할 수 있습니다. 그래프의 특정 지점에 마우스를 가져가면 해당 특정 시간의 세부정보가 표시됩니다.
커스텀 대시보드 정의
VM 인스턴스 측정항목 또는 NAT 게이트웨이 측정항목을 보기 위해 커스텀 대시보드를 만들려면 다음 단계를 수행합니다.
콘솔
-
Google Cloud 콘솔에서
대시보드 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.
- 대시보드 만들기를 클릭합니다.
- 선택사항: 대시보드를 설명하는 이름으로 대시보드 제목을 업데이트합니다.
- 위젯 추가를 클릭한 후 측정항목을 선택합니다.
- 측정항목 메뉴를 펼치고 필터 표시줄에
Cloud NAT Gateway또는VM Instance를 입력한 후 하위 메뉴를 사용하여 특정 리소스 유형과 측정항목을 선택합니다.- 활성 리소스 메뉴에서 Cloud NAT 게이트웨이 또는 VM 인스턴스를 선택합니다.
- 활성 측정항목 카테고리 메뉴에서 NAT를 선택합니다.
- 활성 측정항목 메뉴에서 보려는 측정항목을 선택합니다.
- 적용을 클릭합니다.
- 시계열을 결합합니다.
- 모든 시계열을 표시하려면 집계 요소에서 첫 번째 메뉴가 집계되지 않음으로, 두 번째 메뉴는 없음으로 설정되었는지 확인합니다.
시계열을 조합하려면 집계 요소에서 첫 번째 메뉴를 사용하여 함수를 선택하고 두 번째 메뉴를 사용하여 라벨을 선택합니다. 두 번째 메뉴가 없음으로 설정된 경우에는 차트에 시계열 하나가 표시됩니다.
예를 들어 영역별로 그룹화한 후 시계열의 평균값을 표시하려면 첫 번째 메뉴를 평균으로, 두 번째 메뉴를 영역으로 설정합니다.
시계열 결합 방법에 대한 자세한 내용은 차트 데이터를 표시하는 방법 선택을 참조하세요.
대시보드에 추가하려는 위젯마다 위젯 추가를 클릭하고 대화상자를 완료한 후 적용을 선택합니다.
위젯 추가 방법에 대한 자세한 내용은 다음 페이지를 참조하세요.
알림 정책 정의
측정항목 기반 알림 정책을 만들려면 다음 단계를 수행합니다.
콘솔
알림 정책을 만들어 측정항목 값을 모니터링하고 측정항목이 조건을 위반하면 이에 대한 알림을 수신할 수 있습니다.
-
Google Cloud 콘솔에서 notifications 알림 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.
- 알림 채널을 만들지 않고 알림을 받으려면 알림 채널 수정을 클릭하고 알림 채널을 추가합니다. 채널을 추가한 후 알림 페이지로 돌아갑니다.
- 알림 페이지에서 정책 만들기를 클릭합니다.
- 측정항목을 선택하려면 측정항목 선택 메뉴를 펼친 후 다음을 수행합니다.
- 메뉴를 관련 항목으로 제한하려면 필터 표시줄에
Cloud NAT gateway또는VM Instance를 입력합니다. 메뉴를 필터링한 후 결과가 없으면 활성 리소스 및 측정항목만 표시 전환 버튼을 사용 중지합니다. - 리소스 유형으로 Cloud NAT 게이트웨이 또는 VM 인스턴스를 선택합니다.
- 측정항목 카테고리와 측정항목을 선택한 후 적용을 선택합니다.
- 메뉴를 관련 항목으로 제한하려면 필터 표시줄에
- 다음을 클릭합니다.
- 알림 트리거 구성 페이지의 설정에 따라 알림이 트리거되는 시점이 결정됩니다. 조건 유형을 선택하고 필요한 경우 기준점을 지정합니다. 자세한 내용은 측정항목 기준점 알림 정책 만들기를 참고하세요.
- 다음을 클릭합니다.
- (선택사항) 알림 정책에 알림을 추가하려면 알림 채널을 클릭합니다. 대화상자의 메뉴에서 하나 이상의 알림 채널을 선택한 다음 확인을 클릭합니다.
- (선택사항) 사고 자동 종료 기간을 업데이트합니다. 이 필드는 측정항목 데이터가 없어 Monitoring에서 사고를 닫을 시간을 결정합니다.
- (선택사항) 문서를 클릭하고 알림 메시지에 포함할 정보를 추가합니다.
- 알림 이름을 클릭하고 알림 정책 이름을 입력합니다.
- 정책 만들기를 클릭합니다.
측정항목 보고 빈도 및 보관
Cloud NAT 측정항목을 일괄 처리하고 1분마다 Monitoring으로 내보냅니다. 모니터링 데이터는 6주 동안 보관됩니다.
기본적으로 대시보드는 지난 1시간(1h) 동안의 데이터 분석을 제공합니다. 메뉴에서 사전 구성된 간격 중 하나를 선택하거나 원하는 시간 간격을 수동으로 입력하여 다른 시간 간격의 분석을 요청할 수 있습니다. 예를 들면 3h(3시간), 4d(4일) 또는 6w(6주)입니다.
VM 인스턴스 측정항목
이 테이블의 '측정항목 유형' 문자열 앞에 compute.googleapis.com/이 포함된 프리픽스를 추가해야 합니다. 테이블의 항목에서는 이 프리픽스가 생략되었습니다.
| 측정항목 유형 출시 단계 표시 이름 |
|
|---|---|
| 종류, 유형, 단위 모니터링 리소스 |
설명 라벨 |
nat/allocated_ports
GA
할당된 포트 |
|
GAUGE, INT64, {port}gce_instance |
NAT 게이트웨이에서 VM에 할당한 포트 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
nat_ip: NAT 게이트웨이에 할당된 NAT IP입니다.
|
nat/closed_connections_count
GA
닫힌 연결 수 |
|
DELTA, INT64, {connection}gce_instance |
NAT 게이트웨이에서 닫힌 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/dropped_received_packets_count
GA
수신된 패킷 삭제 수 |
|
DELTA, INT64, {packet}gce_instance |
NAT 게이트웨이에서 삭제한 수신된 패킷 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/dropped_sent_packets_count
GA
전송된 패킷 삭제 수 |
|
DELTA, INT64, {packet}gce_instance |
NAT 게이트웨이에서 삭제한 전송된 패킷 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
reason: 패킷이 삭제된 이유입니다. 값은 OUT_OF_RESOURCES, ENDPOINT_INDEPENDENCE_CONFLICT일 수 있습니다.
|
nat/new_connections_count
GA
새 연결 수 |
|
DELTA, INT64, {connection}gce_instance |
NAT 게이트웨이에서 생성된 새 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/open_connections
GA
열린 연결 수 |
|
GAUGE, INT64, {connection}gce_instance |
NAT 게이트웨이에 열려 있는 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/port_usage
GA
포트 사용량 |
|
GAUGE, INT64, {port}gce_instance |
VM부터 단일 대상 엔드포인트까지의 최대 연결 수입니다(IP:port). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/received_bytes_count
GA
수신된 바이트 수 |
|
DELTA, INT64, Bygce_instance |
NAT 게이트웨이를 통해 수신된 바이트 수입니다(대상 -> 소스). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/received_packets_count
GA
수신된 패킷 수 |
|
DELTA, INT64, {packet}gce_instance |
NAT 게이트웨이를 통해 수신된 패킷 수입니다(대상 -> 소스). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/sent_bytes_count
GA
전송된 바이트 수 |
|
DELTA, INT64, Bygce_instance |
NAT 게이트웨이를 통해 전송된 바이트 수입니다(소스 -> 대상). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/sent_packets_count
GA
전송된 패킷 수 |
|
DELTA, INT64, {packet}gce_instance |
NAT 게이트웨이를 통해 전송된 패킷 수입니다(소스 -> 대상). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 165초 동안 표시되지 않습니다.
nat_project_number: NAT 게이트웨이가 속한 프로젝트 번호입니다.
router_id: NAT 게이트웨이가 속한 Cloud Router ID입니다.
nat_gateway_name: NAT 게이트웨이 이름입니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
VM 인스턴스 필터링 측정기준
| label_key | 유형 | 설명 |
|---|---|---|
project_id |
문자열 | VM 인스턴스의 프로젝트 ID입니다. |
instance_id |
문자열 | VM 인스턴스 ID입니다. |
zone |
문자열 | VM 인스턴스 영역입니다. |
nat_project_number |
문자열 | NAT 게이트웨이가 속한 프로젝트 번호입니다. |
router_id |
문자열 | NAT 게이트웨이가 속한 Cloud Router ID입니다. |
nat_gateway_name |
문자열 | NAT 게이트웨이 이름입니다. |
nat_ip |
문자열 | NAT 게이트웨이에 할당된 NAT IP 주소입니다. 측정항목 allocated_ports에 적합합니다. |
ip_protocol |
문자열 | 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다. allocated_ports를 제외한 모든 측정항목에 적합합니다. |
reason |
문자열 | 패킷이 삭제된 이유입니다. 가능한 값은 다음과 같습니다.
|
NAT 게이트웨이 측정항목
이 테이블의 '측정항목 유형' 문자열 앞에 router.googleapis.com/이 포함된 프리픽스를 추가해야 합니다. 테이블의 항목에서는 이 프리픽스가 생략되었습니다.
| 측정항목 유형 출시 단계 표시 이름 |
|
|---|---|
| 종류, 유형, 단위 모니터링 리소스 |
설명 라벨 |
nat/allocated_ports
GA
할당된 포트 |
|
GAUGE, INT64, {port}nat_gateway |
NAT 게이트웨이에서 모든 VM에 할당한 포트 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
nat_ip: 포트의 NAT IP입니다.
|
nat/closed_connections_count
GA
닫힌 연결 수 |
|
DELTA, INT64, {connection}nat_gateway |
NAT 게이트웨이에서 닫힌 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/dropped_received_packets_count
GA
수신된 패킷 삭제 수 |
|
DELTA, INT64, {packet}nat_gateway |
NAT 게이트웨이에서 삭제한 수신된 패킷 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/dropped_sent_packets_count
GA
전송된 패킷 삭제 수 |
|
DELTA, INT64, {packet}nat_gateway |
NAT 게이트웨이에서 삭제한 전송된 패킷 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
reason: 패킷이 삭제된 이유입니다. 값은 OUT_OF_RESOURCES, ENDPOINT_INDEPENDENCE_CONFLICT일 수 있습니다.
|
nat/nat_allocation_failed
GA
NAT 할당 실패 |
|
GAUGE, BOOL, nat_gateway |
NAT 게이트웨이의 VM에 NAT IP를 할당할 때 오류가 있는지 여부를 나타냅니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 120초 동안 표시되지 않습니다. |
nat/new_connections_count
GA
새 연결 수 |
|
DELTA, INT64, {connection}nat_gateway |
NAT 게이트웨이에서 생성된 새 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/open_connections
GA
열린 연결 수 |
|
GAUGE, INT64, {connection}nat_gateway |
NAT 게이트웨이에 열려 있는 연결 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/port_usage
GA
포트 사용량 |
|
GAUGE, INT64, {port}nat_gateway |
VM부터 단일 대상 엔드포인트까지의 최대 연결 수입니다(IP:port). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/received_bytes_count
GA
수신된 바이트 수 |
|
DELTA, INT64, Bynat_gateway |
NAT 게이트웨이를 통해 수신된 바이트 수입니다(대상 -> 소스). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/received_packets_count
GA
수신된 패킷 수 |
|
DELTA, INT64, {packet}nat_gateway |
NAT 게이트웨이를 통해 수신된 패킷 수입니다(대상 -> 소스). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/sent_bytes_count
GA
전송된 바이트 수 |
|
DELTA, INT64, Bynat_gateway |
NAT 게이트웨이를 통해 전송된 바이트 수입니다(소스 -> 대상). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
nat/sent_packets_count
GA
전송된 패킷 수 |
|
DELTA, INT64, {packet}nat_gateway |
NAT 게이트웨이를 통해 전송된 패킷 수입니다(소스 -> 대상). 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 225초 동안 표시되지 않습니다.
ip_protocol: 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다.
|
게이트웨이 필터링 측정기준
| label_key | 유형 | 설명 |
|---|---|---|
project_id |
문자열 | 게이트웨이의 프로젝트 ID입니다. |
region |
문자열 | 게이트웨이 리전입니다. |
router_id |
문자열 | NAT 게이트웨이가 속한 Cloud Router ID입니다. |
gateway_name |
문자열 | NAT 게이트웨이 이름입니다. |
ip_protocol |
문자열 | 연결 프로토콜입니다. TCP, UDP 또는 ICMP일 수 있습니다. allocated_ports를 제외한 모든 측정항목에 적합합니다. |
nat_ip |
문자열 | NAT 게이트웨이에 할당된 NAT IP 주소입니다. 측정항목 allocated_ports에 적합합니다. |
reason |
문자열 | 패킷이 삭제된 이유입니다. 가능한 값은 다음과 같습니다.
|
Monitoring API를 사용한 측정항목 쿼리
Monitoring API의 v3 projects.timeSeries.list 요청을 사용하여 Cloud NAT 측정항목으로 임의 쿼리를 생성할 수 있습니다.
API 예시
1m 집계, timeSeries.list 파라미터로 VM의 할당된 포트를 가져옵니다.
- name: projects/PROJECT_ID
- Filter:
resource.type = "gce_instance" AND metric.name="compute.googleapis.com/nat/allocated_ports" AND metric.labels.nat_gateway_name="nat-1-237227-1569344091-5" - interval.start_time:
2019-09-24T16:58:53Z - interval.end_time:
2019-09-24T16:58:53Z - aggregation.alignmentPeriod:
60s - aggregation.crossSeriesReducer:
REDUCE_SUM - aggregation.perSeriesAligner:
ALIGN_SUM
"timeSeries": [
{
"resource": {
"labels": {
"instance_id": "1406292833167995938",
"project_id": "PROJECT_ID",
"zone": "us-west1-c"
},
"type": "gce_instance"
},
"metric": {
"labels": {
"nat_ip": "70.32.157.11",
"nat_gateway_name": "nat-1-237227-1569344091-5",
"nat_project_number": "PROJECT_NUMBER",
"router_id": "1380055590921303155"
},
"type": "compute.googleapis.com/nat/allocated_ports"
},
"metricKind": "GAUGE",
"points": [
{
"interval": {
"endTime": "2019-09-24T16:58:53.699Z",
"startTime": "2019-09-24T16:58:53.699Z"
},
"value": {
"int64Value": "64"
}
}
],
"valueType": "INT64"
},Cloud NAT 모니터링 가격 책정
Cloud NAT 모니터링은 무료로 제공됩니다.