VPC 흐름 로그 레코드 정보
이 페이지에서는 사용 가능한 기본 및 메타데이터 필드를 포함하여 VPC 흐름 로그 레코드 형식을 설명합니다. 또한 특정 기준과 일치하는 로그만 생성되도록 로그 필터링을 사용하는 방법을 설명합니다.
레코드 형식
로그 레코드에는 모든 로그 레코드의 핵심 필드인 기본 필드와 추가 정보를 추가하는 메타데이터 필드가 있습니다. 메타데이터 필드를 삭제하여 저장공간을 절약할 수 있습니다.
일부 로그 필드는 한 필드에 두 가지 이상의 데이터를 포함하는 다중 필드 형식입니다. 예를 들어 connection 필드는 IpConnection 형식이며 소스 및 대상 IP 주소, 포트, 프로토콜이 단일 필드에 포함됩니다. 이러한 다중 필드 형식의 필드는 레코드 형식 표 아래에 설명되어 있습니다.
metadata 필드의 값은 데이터 영역 경로를 기반으로 하지 않습니다. 값은 근사치이며 누락되거나 부정확할 수 있습니다. 메타데이터 필드와 달리 기본 필드의 값은 패킷 헤더에서 직접 가져옵니다.
| 필드 | 필드 형식 | 필드 유형: 기본 또는 선택적 메타데이터 |
|---|---|---|
| 연결 |
IpConnection
흐름을 설명하는 5-튜플입니다. |
기본 |
| reporter |
문자열
흐름을 보고한 측입니다.
|
기본 |
| round_trip_time |
지연 시간
집계 간격 동안 측정된 밀리초 미만의 정밀도를 갖는 RTT(밀리초)입니다. 이 필드는 TCP(VM 및 서버리스 엔드포인트의 경우) 및 Falcon 트래픽에 대해 채워집니다.
disposition=DROPPED)에는 채워지지 않습니다.
|
기본 |
| rtt_msec |
int64
집계 간격 동안 측정된 왕복 시간(RTT)(밀리초)입니다. 이 필드는 다음과 같이 채워집니다.
측정된 RTT는 SEQ를 보내고 해당하는 ACK를 받기까지 경과한 시간입니다. |
기본 |
| bytes_sent |
int64
소스에서 대상으로 전송된 사용자 페이로드 바이트의 예상 수입니다.1 사용자 페이로드가 없는 패킷의 값은 0입니다.2 삭제된 트래픽 ( disposition=DROPPED)의 경우 채워지지 않습니다.
|
기본 |
| packets_sent |
int64
소스에서 대상으로 전송된 패킷의 예상 수입니다.1 삭제된 트래픽( disposition=DROPPED)의 경우 채워지지 않습니다.
|
기본 |
| start_time |
문자열
집계된 시간 간격 동안 처음 관찰된 패킷의 타임스탬프(RFC 3339 날짜 문자열 형식) |
기본 |
| end_time |
문자열
집계된 시간 간격 동안 마지막으로 관찰된 패킷의 타임스탬프(RFC 3339 날짜 문자열 형식)입니다. |
기본 |
| disposition |
string
패킷 삭제를 캡처하는 로그 레코드에 대해서만 채워집니다. 이 필드는 DROPPED로 설정됩니다.
|
기본 |
| drop_reason |
문자열
disposition=DROPPED이 있는 로그 레코드에 대해서만 채워집니다.
자세한 내용은 패킷 손실 주석 및 패킷 손실 이유를 참고하세요.
|
기본 |
| bytes_dropped |
int64
소스에서 대상으로 삭제된 사용자 페이로드 바이트의 예상 수입니다. disposition=DROPPED가 있는 로그 레코드에 대해서만 채워집니다.
|
기본 |
| packets_dropped |
int64
소스에서 대상으로 손실된 패킷의 예상 수입니다. disposition=DROPPED가 있는 로그 레코드에 대해서만 채워집니다.
|
기본 |
| throughput_inclusion |
문자열
disposition=DROPPED이 있는 로그 레코드에 대해서만 채워집니다.
삭제된 트래픽이 동일한 리포터에 의해 흐름에 대해 보고되는 bytes_sent 및 packets_sent 필드에 포함(INCLUDED)되는지 또는 제외 (EXCLUDED)되는지를 나타냅니다.
|
기본 |
| 소스 및 대상 메타데이터 필드 | ||
| src_gateway |
GatewayDetails
흐름의 소스가 온프레미스 또는 기타 클라우드 엔드포인트이고 Cloud Interconnect의 VLAN 연결 또는 Cloud VPN 터널과 같은 게이트웨이를 통해 Google Cloud 에 연결되어 있으며 다음 조건 중 하나가 충족되면 이 필드는 게이트웨이 세부정보로 채워집니다.
|
메타데이터 |
| dest_gateway |
GatewayDetails
흐름의 대상이 Cloud Interconnect의 VLAN 연결 또는 Cloud VPN 터널과 같은 게이트웨이를 통해 Google Cloud 에 연결된 온프레미스 또는 기타 클라우드 엔드포인트이고 다음 조건 중 하나가 충족되면 이 필드에 게이트웨이 세부정보가 채워집니다.
|
메타데이터 |
| src_gke_details |
GkeDetails
흐름의 소스가 Google Kubernetes Engine(GKE) 엔드포인트인 경우 이 필드는 GKE 엔드포인트 세부정보로 채워집니다. |
메타데이터 |
| dest_gke_details |
GkeDetails
흐름의 대상이 GKE 엔드포인트인 경우 이 필드는 GKE 엔드포인트 세부정보로 채워집니다. |
메타데이터 |
| src_google_service |
GoogleServiceDetails
흐름의 소스가 Google 서비스인 경우 이 필드에는 서비스 세부정보가 채워집니다. |
메타데이터 |
| dest_google_service |
GoogleServiceDetails
흐름의 대상이 Google 서비스인 경우 이 필드에 서비스 세부정보가 입력됩니다. |
메타데이터 |
| src_instance |
InstanceDetails
흐름의 소스가 VPC 네트워크에 있는 VM이고 다음 조건 중 하나가 충족되면 이 필드는 VM 인스턴스 세부정보로 채워집니다.
|
메타데이터 |
| dest_instance |
InstanceDetails
흐름의 대상이 VPC 네트워크에 있는 VM이고 다음 조건 중 하나가 충족되는 경우 이 필드는 VM 인스턴스 세부정보로 채워집니다.
|
메타데이터 |
| src_location |
GeographicDetails
흐름의 소스가 VPC 네트워크 외부의 공개 IP 주소인 경우 사용 가능한 위치 메타데이터가 이 필드에 입력됩니다. |
메타데이터 |
| dest_location |
GeographicDetails
흐름의 대상이 VPC 네트워크 외부의 공개 IP 주소인 경우 사용 가능한 위치 메타데이터가 이 필드에 입력됩니다. |
메타데이터 |
| src_serverless_details |
ServerlessDetails
흐름의 소스가 직접 VPC 이그레스로 구성된 Cloud Run 리소스와 같은 서버리스 엔드포인트인 경우 이 필드에 서버리스 메타데이터가 입력됩니다. |
메타데이터 |
| dest_serverless_details |
ServerlessDetails
흐름의 대상이 직접 VPC 이그레스로 구성된 Cloud Run 리소스와 같은 서버리스 엔드포인트인 경우 이 필드에 서버리스 메타데이터가 입력됩니다. |
메타데이터 |
| src_vpc |
VpcDetails
흐름의 소스가 VPC 네트워크에 있는 VM 또는 서버리스 엔드포인트이고 다음 조건 중 하나가 충족되면 이 필드에는 VPC 네트워크 세부정보가 채워집니다.
|
메타데이터 |
| dest_vpc |
VpcDetails
흐름의 대상이 VPC 네트워크에 있는 VM 또는 서버리스 엔드포인트이고 다음 조건 중 하나가 충족되면 이 필드는 VPC 네트워크 세부정보로 채워집니다.
|
메타데이터 |
| 기타 메타데이터 필드 | ||
| internet_routing_details |
InternetRoutingDetails
흐름이 Google Cloud 와 인터넷 사이에 설정되었으면 라우팅 세부정보로 이 필드가 채워집니다. 이그레스 흐름에만 사용 가능합니다. |
메타데이터 |
| load_balancing |
LoadBalancingDetails
흐름이 다음 구성 중 하나에서 부하 분산기를 통과하는 경우 이 필드에는 Cloud Load Balancing 세부정보가 채워집니다.
|
메타데이터 |
| network_service |
NetworkServiceDetails
차등화 서비스 코드 포인트(DSCP) 헤더가 설정된 경우 이 필드에 네트워크 서비스 세부정보가 입력됩니다. |
메타데이터 |
| psc |
PrivateServiceConnectDetails
흐름이 Private Service Connect 연결(Network Connectivity Center를 통해 전파된 연결 포함)과 연결되어 있고 다음 조건 중 하나가 충족되면 이 필드는 Private Service Connect 세부정보로 채워집니다.
|
메타데이터 |
| rdma_traffic_type |
문자열
RDMA 트래픽 유형입니다. VM 간 GPU-GPU 트래픽에 대해 채워집니다. GPUDirect-TCPXO, Falcon, 또는 RoCE일 수 있습니다.
|
메타데이터 |
- 소스 VM이 리포터인 경우 보고된 바이트 값은 전송된 사용자 페이로드 바이트와 패킷 헤더 바이트의 합계입니다. 이 값은 사용자 페이로드가 포함되지 않은 패킷의 경우에도 항상 0보다 큽니다.
- 대상 VM이 리포터인 경우 보고된 바이트 값은 수신되어 애플리케이션 레이어로 전달된 사용자 페이로드 바이트입니다. 사용자 페이로드가 없는 패킷의 경우 바이트 값은 0입니다.
GatewayDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| project_id | 문자열 | 게이트웨이의Google Cloud 프로젝트 ID |
| 위치 | 문자열 | 게이트웨이의 리전 |
| name | 문자열 | 게이트웨이의 이름 |
| 유형 | 문자열 |
게이트웨이의 유형입니다. INTERCONNECT_ATTACHMENT 또는 VPN_TUNNEL일 수 있습니다.
|
| vpc | VpcDetails | 게이트웨이의 VPC 네트워크 세부정보 |
| interconnect_name | 문자열 |
게이트웨이의 유형이 INTERCONNECT_ATTACHMENT인 경우 이 필드에는 VLAN 연결이 구성된 Cloud Interconnect 연결의 이름이 입력됩니다.
|
| interconnect_project_number | int64 |
게이트웨이의 유형이 INTERCONNECT_ATTACHMENT인 경우 이 필드는 VLAN 연결이 구성된 Cloud Interconnect 연결의 Google Cloud 프로젝트 번호로 채워집니다.
|
GeographicDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| asn | int32 | 이 엔드포인트가 속한 외부 네트워크의 ASN입니다. |
| city | 문자열 | 외부 엔드포인트의 도시 |
| continent | 문자열 | 외부 엔드포인트의 대륙 |
| 국가 | 문자열 | ISO 3166-1 Alpha-3 국가 코드로 표시되는 외부 엔드포인트의 국가 |
| 지역 | 문자열 | 외부 엔드포인트의 리전 |
GkeDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| 클러스터 | ClusterDetails | GKE 클러스터 메타데이터 |
| 포드 | PodDetails | 트래픽의 소스나 대상이 포드일 때 채워지는 GKE 포드 메타데이터 |
| 서비스 | ServiceDetails |
서비스 엔드포인트에만 입력된 GKE 서비스 메타데이터. 레코드에는 서비스가 최대 2개까지 포함됩니다. 관련 서비스가 2개 넘게 있으면 이 필드에는 특별한 MANY_SERVICES 마커가 있는 단일 서비스가 포함됩니다.
|
ClusterDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| cluster_location | 문자열 | 클러스터의 위치입니다. 클러스터가 영역이나 리전인지 여부에 따라 영역이나 리전일 수 있습니다. |
| cluster_name | 문자열 | GKE 클러스터 이름 |
PodDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| pod_name | 문자열 | 포드 이름 |
| pod_namespace | 문자열 | 포드 네임스페이스 |
| 워크로드 | WorkloadDetails | 포드를 제어하는 최상위 워크로드 리소스에 관한 메타데이터 |
WorkloadDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| workload_name | 문자열 | 최상위 워크로드 컨트롤러의 이름 |
| workload_type | 문자열 |
최상위 워크로드 컨트롤러의 유형입니다. DEPLOYMENT, REPLICA_SET, STATEFUL_SET, DAEMON_SET, JOB, CRON_JOB 또는 REPLICATION_CONTROLLER일 수 있습니다.
|
ServiceDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| service_name | 문자열 |
서비스 이름. 관련 서비스가 2개 넘게 있으면 이 필드는 특별한 MANY_SERVICES 마커로 설정됩니다.
|
| service_namespace | 문자열 | 서비스의 네임스페이스 |
예시:
서비스가 2개 있는 경우 서비스 필드는 다음과 같습니다.
service: [
0: {
service_name: "my-lb-service"
service_namespace: "default"
}
1: {
service_name: "my-lb-service2"
service_namespace: "default"
}
]
서비스가 2개를 초과하는 경우 서비스 필드는 다음과 같습니다.
service: [
0: {
service_name: "MANY_SERVICES"
}
]
GoogleServiceDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| 유형 | 문자열 | 서비스 유형입니다(
|
| service_name | 문자열 | 서비스 이름. 예를 들면 제한사항:
|
| connectivity | 문자열 | 액세스 방법.
|
| private_domain | 문자열 | 비공개 도메인 또는 Private Service Connect API 번들입니다. private_domain 필드는 다음 중 하나일 수 있습니다.
|
InstanceDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| project_id | 문자열 | VM 리소스가 포함된 Google Cloud 프로젝트의 ID |
| 지역 | 문자열 | VM의 리전 |
| vm_name | 문자열 | VM의 인스턴스 이름 |
| 영역 | 문자열 | VM의 영역 |
| managed_instance_group | InstanceGroupDetails | VM이 관리형 인스턴스 그룹의 일부인 경우 이 필드는 인스턴스 그룹 세부정보로 채워집니다. |
InstanceGroupDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| name | 문자열 | 인스턴스 그룹의 이름 |
| 지역 | 문자열 | 인스턴스 그룹이 리전별인 경우 이 필드에는 인스턴스 그룹의 리전이 입력됩니다. |
| 영역 | 문자열 | 인스턴스 그룹이 영역별인 경우 이 필드는 인스턴스 그룹의 영역이 입력됩니다. |
InternetRoutingDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| egress_as_path | AsPath | 관련 AS 경로의 목록입니다. 흐름에 사용 가능한 AS 경로가 여러 개 있으면 필드에 AS 경로가 여러 개 포함될 수 있습니다. |
AsPath 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| as_details | AsDetails | AS 경로의 모든 시스템에 대한 AS 세부정보 목록입니다. 목록은 Google Cloud네트워크 외부에 있는 첫 번째 AS부터 시작하여 원격 IP 주소가 속하는 AS에서 종료됩니다. |
AsDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| asn | uint32 | AS의 자율 시스템 번호(ASN) |
IpConnection 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| src_ip | 문자열 | 소스 IP 주소입니다. 모든 흐름에 대해 채워집니다. |
| dest_ip | 문자열 | 대상 IP 주소입니다. 모든 흐름에 대해 채워집니다. |
| src_port | int32 | 소스 포트:
|
| dest_port | int32 | 대상 포트:
|
| 프로토콜 | int32 | IANA 프로토콜 번호:
|
지연 시간 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| median_msec | double | 집계 간격 동안 측정된 지연 시간의 중앙값(밀리초)입니다. |
LoadBalancingDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| forwarding_rule_project_id | 문자열 | 전달 규칙의Google Cloud 프로젝트 ID |
| reporter | 문자열 | Cloud Load Balancing 리포터입니다. CLIENT 또는 BACKEND일 수 있습니다.
|
| 유형 | 문자열 | 부하 분산기 유형입니다. APPLICATION_LOAD_BALANCER, PROXY_NETWORK_LOAD_BALANCER, PASSTHROUGH_NETWORK_LOAD_BALANCER 또는 PROTOCOL_FORWARDING일 수 있습니다. |
| scheme | 문자열 | 부하 분산기 스키마입니다. EXTERNAL_MANAGED, INTERNAL_MANAGED, EXTERNAL, INTERNAL 또는 INTERNAL_SELF_MANAGED일 수 있습니다. |
| url_map_name | 문자열 | URL 맵의 이름입니다. 부하 분산기 유형이 APPLICATION_LOAD_BALANCER인 경우 채워집니다. |
| forwarding_rule_name | 문자열 | 전달 규칙의 이름 |
| backend_service_name | 문자열 | 백엔드 서비스의 이름입니다. 리포터가 BACKEND이고 부하 분산기 유형이 PASSTHROUGH_NETWORK_LOAD_BALANCER인 경우 채워집니다. 백엔드 그룹 유형이 TARGET_POOL인 경우 이 필드는 채워지지 않습니다. |
| backend_service_project_id | 문자열 | 백엔드 서비스의 프로젝트 ID입니다.
리포터가 BACKEND이고 부하 분산기 유형이 PASSTHROUGH_NETWORK_LOAD_BALANCER인 경우 채워집니다. 백엔드 그룹 유형이 TARGET_POOL인 경우 이 필드는 채워지지 않습니다. |
| backend_group_name | 문자열 | 백엔드 그룹의 이름입니다. 리포터가 BACKEND이고 부하 분산기 유형이 PASSTHROUGH_NETWORK_LOAD_BALANCER인 경우 채워집니다. |
| backend_group_type | 문자열 | 백엔드 그룹의 유형입니다. INSTANCE_GROUP, NETWORK_ENDPOINT_GROUP 또는 TARGET_POOL일 수 있습니다.
리포터가 BACKEND이고 부하 분산기 유형이 PASSTHROUGH_NETWORK_LOAD_BALANCER인 경우 채워집니다. |
| backend_group_location | 문자열 | 백엔드 그룹의 위치입니다. 백엔드 그룹의 범위가 영역인지 리전인지에 따라 영역이나 리전일 수 있습니다.
리포터가 BACKEND이고 부하 분산기 유형이 PASSTHROUGH_NETWORK_LOAD_BALANCER인 경우 채워집니다. 백엔드 그룹 유형이 TARGET_POOL인 경우 이 필드는 채워지지 않습니다. |
| vpc | VpcDetails | 부하 분산기의 VPC 네트워크 세부정보 |
NetworkServiceDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| dscp | int32 | 패킷 헤더에 차등화 서비스 필드가 있으면 이 필드에 DSCP 값이 입력됩니다. |
패킷 삭제 이유
다음 표에서는 SRC 또는 SRC_GATEWAY에서 보고할 때 drop_reason 필드에 지원되는 값을 설명합니다.
| 삭제 이유 | 설명 |
|---|---|
FIREWALL_DENY |
이그레스 방화벽 규칙이 평가되었고 작업이 권장사항: 이 트래픽을 허용하려면 방화벽 규칙을 조정하세요. |
NO_MATCHING_ROUTE |
대상과 일치하는 경로가 없어 아웃바운드 트래픽이 삭제되었습니다. 권장사항: Google Cloud 콘솔의 효과적인 경로 섹션을 사용하여 VPC 네트워크의 경로를 검토하세요. 연결 테스트를 만들어 실행할 수도 있습니다. |
QUEUE_OVERFLOW |
호스트의 패킷 처리 소프트웨어가 CPU 용량을 초과하여 아웃바운드 트래픽이 삭제되었습니다. 권장사항: 드롭이 지속되면 대역폭이 더 높은(Tier_1) VM을 사용하거나 더 많은 VM에 트래픽을 분산하는 것이 좋습니다. |
SPOOFED_SOURCE |
패킷의 소스가 VM 네트워크 인터페이스와 연결되어 있지 않고 IP 전달이 사용 중지되어 아웃바운드 트래픽이 삭제되었습니다. 권장사항: VM 네트워크 인터페이스에서 VPC 네트워크 내에서 라우팅 가능한 대상으로 임의 소스가 있는 패킷을 전송하려면 VM에 대해 IP 전달을 사용 설정해야 합니다. |
TOO_MANY_CONNECTIONS |
호스트의 패킷 처리 소프트웨어가 흐름 속도를 수용할 수 없어 아웃바운드 트래픽이 삭제되었습니다. 권장사항: 더 많은 연결을 위해 설계된 다른 머신 시리즈를 사용하거나 워크로드를 더 많은 VM에 분산하는 것이 좋습니다. |
다음 표에서는 DEST 또는 DEST_GATEWAY에서 보고할 때 drop_reason 필드에 지원되는 값을 설명합니다.
| 삭제 이유 | 설명 |
|---|---|
EARLY_DROPS_FULL_FAIR_QUEUE |
호스트의 패킷 처리 소프트웨어에서 리소스 공정성을 적용했기 때문에 인바운드 트래픽이 삭제되었습니다. 이 동작은 일반적으로 1세대 머신 시리즈에만 영향을 미칩니다. 권장사항: 드롭이 지속되면 최신 또는 성능이 더 우수한 머신 시리즈로 이전하는 것이 좋습니다. |
FIREWALL_DENY |
인그레스 방화벽 규칙이 평가되었고 작업이 권장사항: 이 트래픽을 허용하려면 방화벽 규칙을 조정하세요. |
INVALID_L4_CHECKSUM_INTERNET |
체크섬 불일치가 감지되어 인바운드 트래픽이 삭제되었습니다. 패킷이 VPC 네트워크 외부의 소스에서 VM 보고자와 연결된 대상 외부 IP 주소로 전송되었습니다. 자세한 내용은 VPC 네트워크 외부의 대상으로 인그레스를 참고하세요. 권장사항: 드롭이 지속되면 소스 또는 네트워크 경로의 상태를 조사하세요. |
INVALID_L4_CHECKSUM_INTERNAL |
체크섬 불일치가 감지되어 인바운드 트래픽이 삭제되었습니다. 패킷이 VPC 네트워크 내에서 VM 보고자와 연결된 대상 IP 주소로 라우팅되었습니다. 자세한 내용은 VPC 네트워크 내에서 라우팅할 수 있는 대상으로 인그레스를 참고하세요. 권장사항: 드롭이 지속되면 소스 또는 네트워크 경로의 상태를 조사하세요. |
PSC_NAT_OUT_OF_CONNECTIONS |
Private Service Connect 엔드포인트가 소비자의 최대 동시 연결 수에 도달하여 인바운드 트래픽이 삭제되었습니다. 권장사항: 소비자에게 이 Private Service Connect 엔드포인트에 대한 새 연결 비율을 줄이거나 더 많은 클라이언트 VM을 사용하여 이 Private Service Connect 엔드포인트에 대한 연결을 분산하도록 요청하세요. |
PSC_NAT_OUT_OF_PORTS |
Private Service Connect NAT 포트가 소진되어 Private Service Connect 소비자의 인바운드 트래픽이 삭제되었습니다. 권장사항: NAT 서브넷 크기 조정을 검토하세요. |
QUEUE_OVERFLOW |
호스트의 패킷 처리 소프트웨어가 CPU 용량을 초과하여 인바운드 트래픽이 삭제되었습니다. 권장사항: 드롭이 지속되면 대역폭이 더 높은(Tier_1) VM을 사용하거나 더 많은 VM에 트래픽을 분산하는 것이 좋습니다. |
TOO_MANY_CONNECTIONS |
호스트의 패킷 처리 소프트웨어에서 흐름 속도를 수용할 수 없어 인바운드 트래픽이 삭제되었습니다. 권장사항: 높은 흐름 비율이 VM 수준에서 높은 연결 동시 실행 또는 전환으로 인한 경우 VM에 대한 새 연결 비율을 줄이는 것이 좋습니다. |
PrivateServiceConnectDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| reporter | 문자열 | Private Service Connect 리포터
CONSUMER 또는 PRODUCER일 수 있습니다. |
| psc_endpoint | PrivateServiceConnectEndpointDetails |
엔드포인트 세부정보입니다. 리포터가 CONSUMER인 경우 채워집니다.
|
| psc_attachment | PrivateServiceConnectAttachmentDetails | 서비스 연결 세부정보입니다. 트래픽 흐름에 Private Service Connect 프로듀서가 포함된 경우 채워집니다. |
PrivateServiceConnectEndpointDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| project_id | 문자열 | Private Service Connect 엔드포인트의Google Cloud 프로젝트 ID |
| 지역 | 문자열 | 엔드포인트의 리전입니다. 대상 서비스 유형이 GLOBAL_GOOGLE_APIS인 경우 채워지지 않습니다. |
| psc_connection_id | 문자열 | Private Service Connect 연결 ID |
| target_service_type | 문자열 | 타겟 서비스 유형입니다. GLOBAL_GOOGLE_APIS 또는 PUBLISHED_SERVICE일 수 있습니다. |
| vpc | VpcDetails | Private Service Connect 엔드포인트의 VPC 네트워크 세부정보 |
PrivateServiceConnectAttachmentDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| project_id | 문자열 | 서비스 연결의Google Cloud 프로젝트 ID |
| 지역 | 문자열 | 서비스 연결의 리전 |
| vpc | VpcDetails | 서비스 연결의 VPC 네트워크 세부정보 |
ServerlessDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| project_id | 문자열 | Cloud Run 리소스가 포함된 Google Cloud 프로젝트의 ID입니다. 공유 VPC 구성에서 프로젝트 ID는 일반적으로 서비스 프로젝트의 ID입니다. |
| 리전 | 문자열 | Cloud Run 리소스의 리전입니다. |
다음 중 하나입니다.
|
다음 중 하나입니다. |
Cloud Run 리소스의 이름입니다. |
CloudRunServiceDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| service_name | 문자열 | Cloud Run 서비스의 이름 |
CloudRunJobDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| job_name | 문자열 | Cloud Run 작업의 이름입니다. |
CloudRunWorkerPoolDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| worker_pool_name | 문자열 | Cloud Run 작업자 풀의 이름입니다. |
VpcDetails 필드 형식
| 필드 | 유형 | 설명 |
|---|---|---|
| project_id | 문자열 | VPC가 포함된 Google Cloud 프로젝트의 ID. 공유 VPC 구성에서 프로젝트 ID는 호스트 프로젝트의 ID입니다. |
| subnetwork_name | 문자열 | 서브넷의 이름(해당하는 경우) |
| subnetwork_region | 문자열 | 서브넷의 리전(해당하는 경우) |
| vpc_name | 문자열 | 네트워크의 이름 |
메타데이터 주석
로그 레코드에는 기본 필드와 메타데이터 필드가 포함되어 있습니다. 레코드 형식 섹션에는 유형 메타데이터와 기본 유형인 필드가 나열되어 있습니다. 모든 기본 필드는 항상 포함됩니다. 유지할 메타데이터 필드를 맞춤설정할 수 있습니다.
모든 메타데이터를 선택하면 VPC 흐름 로그 레코드 형식의 모든 메타데이터 필드가 흐름 로그에 포함됩니다. 새 메타데이터 필드가 레코드 형식에 추가되면 흐름 로그에 새 필드가 자동으로 포함됩니다.
메타데이터를 선택하지 않으면 모든 메타데이터 입력란이 생략됩니다.
커스텀 메타데이터를 선택하는 경우
src_vpc와 같은 상위 필드 또는src_vpc.project_id와 같은 전체 이름으로 포함할 메타데이터 필드를 지정할 수 있습니다.새 메타데이터 필드가 레코드 형식에 추가되면 포함하도록 지정한 상위 필드 내에 있지 않은 한 흐름 로그에서 제외됩니다.
상위 필드를 사용하여 커스텀 메타데이터를 지정하는 경우 해당 상위 필드 내의 레코드 형식에 새 메타데이터 필드가 추가되면 흐름 로그에 새 필드가 자동으로 포함됩니다.
필드의 전체 이름을 사용하여 커스텀 메타데이터를 지정하는 경우 상위 필드에 추가되는 새 메타데이터 필드는 흐름 로그에서 제외됩니다.
메타데이터 필드를 맞춤설정하는 방법에 대한 자세한 내용은 VPC 흐름 로그 사용 설정 또는 VPC 흐름 로그 구성 업데이트를 참조하세요.
프로젝트 간 주석
VPC 흐름 로그가 조직 수준에서 사용 설정된 경우 공유 VPC, VPC 네트워크 피어링, Network Connectivity Center를 통한 흐름에는 교차 프로젝트 주석이 추가됩니다. 프로젝트 간 주석은 기본적으로 사용 설정되어 있습니다. 원하는 경우 이러한 주석을 사용 중지할 수 있습니다.
- 프로젝트 간 주석이 사용 설정된 경우 서로 다른 프로젝트의 리소스 간 흐름에 대한 로그 레코드에는 흐름의 양쪽에 관한 정보가 포함됩니다.
- 프로젝트 간 주석이 사용 중지된 경우 로그 기록에는 흐름 신고자에 관한 정보만 포함됩니다.
프로젝트 수준에서 VPC 흐름 로그가 사용 설정된 경우 서로 다른 프로젝트의 리소스 간 흐름에는 프로젝트 간 주석이 추가되지 않습니다.
GKE 주석
GKE 클러스터의 엔드포인트가 있는 흐름은 엔드포인트의 클러스터, 포드, 서비스 세부정보를 포함할 수 있는 GKE 메타데이터 주석으로 주석 처리할 수 있습니다.
GKE 서비스 주석
ClusterIP, NodePort 또는 LoadBalancer로 전송된 트래픽은 서비스 주석을 수신할 수 있습니다. NodePort 또는 LoadBalancer로 전송되면 흐름은 연결의 두 홉에서 서비스 주석을 수신합니다.
포드의 서비스 포트로 직접 전송된 트래픽은 대상 엔드포인트에 서비스 주석으로 주석 처리됩니다.
동일한 서비스 포트에서 포드가 2개 이상의 서비스를 백업하고 있는 포드의 서비스 포트로 전송된 트래픽은 대상 엔드포인트에 여러 서비스로 주석 처리됩니다. 서비스는 2개로 제한됩니다. 2개를 초과하면 엔드포인트는 특별한 MANY_SERVICES 마커로 주석 처리됩니다.
인터넷 트래픽의 포드 주석
포드와 인터넷 간의 트래픽은 기본적으로 포드 주석을 받지 않습니다. VPC 흐름 로그는 포드 주석을 추가할 수 없습니다. 인터넷으로 전송되는 패킷의 경우 매스커레이드 에이전트가 VPC 흐름 로그가 패킷을 보기 전에 포드 IP 주소를 노드 IP 주소로 변환하기 때문입니다.
매스커레이드로 인해 포드 주석은 대상이 기본 비매스커레이드 대상 또는 커스텀 nonMasqueradeCIDRs 목록에 있는 경우에만 표시됩니다.
커스텀 nonMasqueradeCIDRs 목록에 인터넷 대상을 포함하는 경우 내부 포드 IP 주소가 인터넷에 전송되기 전에 변환할 방법을 제공해야 합니다. 비공개 및 비공개 클러스터 모두에 대해 Cloud NAT를 사용할 수 있습니다. 자세한 내용은 GKE 상호작용을 참조하세요.
중단된 트래픽의 레코드
VPC 흐름 로그는 삭제된 트래픽의 로그 레코드를 생성합니다. 삭제된 트래픽의 로그 레코드는 표준 로그 레코드와 별도로 생성됩니다. 패킷 삭제는 흐름 및 삭제 이유별로 집계됩니다. 집계 간격 내에서 이유가 동일한 패킷 삭제는 단일 로그 레코드로 통합됩니다. 고유한 삭제 이유마다 별도의 로그 레코드가 생성됩니다.
이그레스 삭제는 소스 (SRC 또는 SRC_GATEWAY)에서 보고하고 인그레스 삭제는 대상 (DEST 또는 DEST_GATEWAY)에서 보고합니다. 소스와 대상 모두에 대해 VPC 흐름 로그가 사용 설정된 경우 다음 동작이 적용됩니다.
- 이그레스 드롭. 소스 측에서 삭제가 발생하면 소스에 대해 표준 로그 레코드와 삭제 이유가 포함된 로그 레코드가 모두 생성됩니다. 트래픽이 대상에 전달되지 않았으므로 대상에 대한 로그 레코드가 생성되지 않습니다.
- 인그레스 드롭. 대상 측에서 드롭이 발생하면 소스와 대상 모두에 대해 로그 레코드가 생성됩니다. 소스의 경우 VPC Flow Logs는 표준 로그 레코드를 생성하고 대상의 경우 삭제 이유가 포함된 로그 레코드만 생성합니다.
삭제된 트래픽의 로그 레코드에는 disposition, drop_reason, bytes_dropped, packets_dropped, throughput_inclusion 필드가 포함됩니다.
추적된 패킷 삭제 이유 목록은 패킷 삭제 이유를 참고하세요.
로그 필터링
VPC 흐름 로그를 사용 설정하면 필터와 일치하는 로그만 보존하는 기본 필드와 메타데이터 필드를 기반으로 필터를 설정할 수 있습니다. 다른 모든 로그는 Logging에 기록되기 전에 삭제됩니다.
다음 필드를 제외하고 레코드 형식에 나열된 필드 하위 집합으로만 필터링할 수 있습니다.
rtt_msecbytes_sentpackets_sentstart_timeend_time
VPC 흐름 로그 필터링은 속성 기반 논리 표현식을 위한 임베디드 표현식 언어인 CEL을 사용합니다. VPC 흐름 로그의 필터 표현식은 2,048자로 제한됩니다. 자세한 내용은 지원되는 CEL 논리 연산자를 참조하세요.
CEL에 대한 자세한 내용은 CEL 소개 및 언어 정의를 참조하세요. 생성 필터 기능은 CEL 문법의 제한된 일부 하위 집합을 지원합니다.
로그 필터링을 사용하는 VPC 흐름 로그 구성을 만들려면 VPC 흐름 로그 사용 설정을 참조하세요. 기존 VPC 흐름 로그 구성의 로그 필터링을 구성하려면 VPC 흐름 로그 구성 업데이트를 참조하세요. 로그 필터의 예는 로그 필터의 예를 참고하세요.
지원되는 CEL 논리 연산자
| 표현식 | 지원되는 유형 | 설명 |
|---|---|---|
| true, false | 부울 | 부울 상수 |
x == y x != y |
boolean, int, string | 비교 연산자 예시: connection.protocol == 6 |
x && y x || y |
부울 | 불리언 논리 연산자 예시: connection.protocol == 6 && src_instance.vm_name == "vm_1" |
| !x | 부울 | 부정 |
| 1, 2.0, 0, ... | int | 상수 숫자 리터럴 |
| x + y | 문자열 | 문자열 연결 |
| "foo", 'foo', ... | 문자열 | 상수 문자열 리터럴 |
| x.lower() | 문자열 | 문자열의 소문자 값 반환 |
| x.upper() | 문자열 | 문자열의 대문자 값 반환 |
| x.contains(y) | 문자열 | 문자열에 지정된 하위 문자열이 포함된 경우 true 반환 |
| x.startsWith(y) | 문자열 | 문자열이 지정된 하위 문자열로 시작하면 true 반환 |
| x.endsWith(y) | 문자열 | 문자열이 지정된 하위 문자열로 끝나면 true 반환 |
| inIpRange(X, Y) | 문자열 | X가 IP이고 Y가 X를 포함하는 IP 범위인 경우 true 반환 예시: inIpRange("1.2.3.1", "1.2.3.0/24") |
| x.containsFieldValue(y) |
x: list y: map(string, string) |
목록에 지정된 키-값 쌍과 일치하는 필드가 있는 객체가 포함된 경우 true 반환 예시: dest_gke_details.service.containsFieldValue({'service_name': 'service1', 'service_namespace': 'namespace1'}) |
| has(x) | 문자열 | 필드가 있으면 true를 반환합니다. |
App Hub 라벨
App Hub 워크로드 또는 서비스로 등록된 Google Cloud 리소스의 경우 로그 레코드에는 애플리케이션별 라벨이 포함됩니다. VPC 흐름 로그에는 다음 리소스와 연결된 트래픽에 대한 이러한 라벨이 포함됩니다.
- Compute Engine 관리형 인스턴스 그룹
- GKE 포드 (
CRON_JOB,DAEMON_SET,DEPLOYMENT,STATEFUL_SET워크로드 유형) - VPC 직접 연결 이그레스로 구성된 Cloud Run 서비스 및 작업
- 전달 규칙
App Hub 라벨은 로그 레코드당 최대 하나의 소스 리소스와 하나의 대상 리소스에 연결됩니다(해당하는 경우). 전달 규칙의 경우 CLIENT 및 BACKEND 필드는 전달 규칙이 소스 리소스인지 대상 리소스인지 결정합니다.
App Hub 라벨은 VPC 흐름 로그 메타데이터 주석과 다릅니다. VPC 흐름 로그 메타데이터 및 로그 필터링 설정은 이러한 라벨에 적용되지 않습니다.