이 페이지에서는 Cloud Logging의 VPC 방화벽 규칙 로깅 구조를 설명합니다. 로깅이 사용 설정된 Virtual Private Cloud (VPC) 규칙이 가상 머신 (VM) 인스턴스로 또는 VM 인스턴스에서 발생하는 트래픽에 적용되면 Cloud Logging은 로그 항목을 만듭니다. 로그 기록은 Logging LogEntry의 JSON 페이로드 필드에 표시됩니다.
방화벽 로그 기록은 모든 로그 기록의 핵심 필드인 기본 필드와 선택적 메타데이터 필드로 구성됩니다. 스토리지 비용을 줄이려면 메타데이터 필드를 제외하면 됩니다.
일부 로그 필드는 다른 필드를 값으로 포함할 수 있습니다. 예를 들어 connection 필드는 소스 및 대상 IP 주소와 포트, 프로토콜을 단일 필드에 포함하는 IpConnection 형식을 사용합니다.
다음 표에서는 VPC 방화벽 규칙에 지원되는 로그 필드를 설명합니다.
| 필드 이름 | 필드 유형: 기본 또는 선택적 메타데이터 | 설명 |
|---|---|---|
connection |
IpConnection | 이 연결의 소스 및 대상 IP 주소, 소스 및 대상 포트, IP 프로토콜을 설명하는 5-튜플입니다. |
disposition |
기본 | 연결이 ALLOWED인지
DENIED인지 나타냅니다. |
rule_details.reference |
기본 | 방화벽 규칙에 대한 참조입니다. VPC 방화벽
규칙의 형식은 network:{network name}/firewall:{firewall_name}입니다. |
rule_details.priority |
기본 | VPC 방화벽 규칙에 정의된 우선순위입니다. |
rule_details.action |
기본 | 연결이 ALLOWED인지
DENIED인지 나타냅니다. |
rule_details.direction |
기본 | 방화벽 규칙이 적용되는 방향입니다(ingress 또는 egress). |
rule_details.ip_port_info[ ] |
IpPortDetails | IP 프로토콜 및 적용 가능한 포트 범위 목록입니다. VPC 방화벽 규칙의 경우
ip_protocol 하위 필드는 ALL일 수 있습니다. |
rule_details.source_range[ ]rule_details.destination_range[ ] |
메타데이터 | VPC 방화벽 규칙이 적용되는 소스 또는 대상 IP 범위 목록입니다. |
rule_details.source_tag[ ]rule_details.target_tag[ ] |
메타데이터 | VPC 방화벽 규칙이 적용되는 모든 소스 또는 대상 네트워크 태그 목록입니다. |
rule_details.source_service_account[ ]rule_details.target_service_account[ ] |
메타데이터 | VPC 방화벽 규칙이 적용되는 모든 소스 또는 대상 서비스 계정 목록입니다. |
instance |
메타데이터 | InstanceDetails VM 인스턴스 세부정보입니다. 공유 VPC 구성에서 project_id는 서비스 프로젝트의 프로젝트 ID에 해당합니다. |
load_balancer_details |
메타데이터 | LoadBalancingDetails 방화벽 규칙이 적용되는 내부 애플리케이션 부하 분산기 또는 리전 내부 프록시 네트워크 부하 분산기의 세부정보입니다. 방화벽 규칙의 대상이 이러한 부하 분산기 중 하나인 경우 instance 필드는 생략됩니다. |
vpc |
메타데이터 | VpcDetails VPC 네트워크 세부정보입니다. 공유 VPC 구성에서 project_id는 호스트 프로젝트의 프로젝트 ID에 해당합니다. |
remote_instance |
메타데이터 | InstanceDetails 연결의 원격 엔드포인트가 Compute Engine에 위치한 VM인 경우 VM 인스턴스 세부정보가 이 필드에 입력됩니다. |
remote_vpc |
메타데이터 | VpcDetails 연결의 원격 엔드포인트가 VPC 네트워크에 있는 VM인 경우 이 필드는 네트워크 세부정보로 채워집니다. |
remote_location |
메타데이터 | GeographicDetails 연결의 원격 엔드포인트가 VPC 네트워크 외부에 있는 경우 사용 가능한 위치 메타데이터가 이 필드에 입력됩니다. |
IpConnection
| 필드 | 유형 | 설명 |
|---|---|---|
src_ip |
문자열 | 소스 IP 주소입니다. 소스가 Compute Engine VM인 경우
src_ip는 기본 내부 IP 주소이거나 VM 네트워크 인터페이스의 별칭 IP 범위에 있는 주소입니다. 외부 IP
주소는 표시되지 않습니다. 로깅은 VM에서 tcpdump를 실행한 것과 마찬가지로 패킷 헤더에서 VM이 보는 대로 VM의 IP 주소를 표시합니다. |
src_port |
정수 | 소스 포트입니다. |
dest_ip |
문자열 | 대상 IP 주소입니다. 대상이 Google Cloud VM인 경우
dest_ip는 기본 내부 IP 주소이거나 VM 네트워크 인터페이스의 별칭 IP 범위에 있는 주소입니다. 외부 IP
주소는 연결에 사용된 경우에도 표시되지 않습니다. |
dest_port |
정수 | 대상 포트입니다. |
protocol |
정수 | 연결의 IP 프로토콜입니다. |
RuleDetails
| 필드 | 유형 | 설명 |
|---|---|---|
reference |
문자열 | VPC 방화벽 규칙에 대한 참조입니다. 형식:network:{network name}/firewall:{VPC firewall rule name}. |
priority |
정수 | VPC 방화벽 규칙의 우선순위입니다. |
action |
문자열 | 연결에 적용된 작업입니다. 지원되는 값은 ALLOW
또는 DENY입니다. |
direction |
문자열 | VPC 방화벽 규칙이 적용되는 방향입니다
(ingress 또는 egress). |
source_range[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 소스 범위 목록입니다. |
destination_range[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 대상 범위 목록입니다. |
source_tag[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 소스 네트워크 태그 목록입니다. |
target_tag[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 대상 네트워크 태그 목록입니다. |
source_service_account[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 모든 소스 서비스 계정 목록입니다. |
target_service_account[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 모든 대상 서비스 계정 목록입니다. |
IpPortDetails
| 필드 | 유형 | 설명 |
|---|---|---|
ip_protocol |
문자열 | VPC 방화벽 규칙이 적용되는 IP 프로토콜입니다. 규칙이 모든 IP 프로토콜에 적용되는 경우
`ALL`로 설정할 수 있습니다.ALL |
port_range[ ] |
문자열 | VPC 방화벽 규칙에 적용 가능한 포트 범위 목록입니다.
예를 들어 8080-9090입니다. |
InstanceDetails
| 필드 | 유형 | 설명 |
|---|---|---|
project_id |
문자열 | VM이 포함된 프로젝트의 ID입니다. |
vm_name |
문자열 | VM의 인스턴스 이름입니다. |
region |
문자열 | VM의 리전입니다. |
zone |
문자열 | VM의 영역입니다. |
LoadBalancingDetails
| 필드 | 유형 | 설명 |
|---|---|---|
forwarding_rule_project_id |
문자열 | Google Cloud 전달 규칙이 포함된 프로젝트 ID입니다. 부하 분산기가 VM 대신 대상일 때 전송됩니다. |
type |
문자열 | 부하 분산기 유형입니다. APPLICATION_LOAD_BALANCER는
내부 애플리케이션 부하 분산기를 나타냅니다. PROXY_NETWORK_LOAD_BALANCER는 리전 내부 프록시 네트워크 부하 분산기를 나타냅니다. 부하 분산기가 VM 대신 대상일 때 전송됩니다. |
scheme |
문자열 | 부하 분산기 스키마 INTERNAL_MANAGED입니다. 부하 분산기가 VM 대신 대상일 때 전송됩니다. |
url_map_name |
문자열 | URL 맵의 이름입니다. type
이 APPLICATION_LOAD_BALANCER인 경우에만 채워집니다. 부하 분산기가 VM 대신 대상일 때 전송됩니다. |
forwarding_rule_name |
문자열 | 전달 규칙의 이름입니다. 부하 분산기가 VM 대신 대상일 때 전송됩니다. |
VpcDetails
| 필드 | 유형 | 설명 |
|---|---|---|
project_id |
문자열 | 네트워크가 포함된 프로젝트의 ID입니다. |
vpc_name |
문자열 | VM이 작동하는 네트워크입니다. |
subnetwork_name |
문자열 | VM이 작동하는 서브넷입니다. |
GeographicDetails
| 필드 | 유형 | 설명 |
|---|---|---|
continent |
문자열 | 대륙 이름입니다. 연결의 원격 엔드포인트가 VPC 외부에 있는 경우에 적용됩니다. |
country |
문자열 | 국가 이름입니다. 연결의 원격 엔드포인트가 VPC 외부에 있는 경우에 적용됩니다. |
region |
문자열 | 지역 이름입니다. 연결의 원격 엔드포인트가 VPC 외부에 있는 경우에 적용됩니다. |
city |
문자열 | 도시 이름입니다. 연결의 원격 엔드포인트가 VPC 외부에 있는 경우에 적용됩니다. |