이 페이지에서는 Cloud Logging의 VPC 방화벽 규칙 로깅 구조를 설명합니다. 로깅이 사용 설정된 Virtual Private Cloud (VPC) 규칙이 가상 머신 (VM) 인스턴스를 오가는 트래픽에 적용되면 Cloud Logging에서 로그 항목을 만듭니다. 로그 기록은 Logging LogEntry의 JSON 페이로드 필드에 표시됩니다.
방화벽 로그 레코드는 모든 로그 레코드의 핵심 필드인 기본 필드와 선택적 메타데이터 필드로 구성됩니다. 스토리지 비용을 줄이려면 메타데이터 필드를 제외하면 됩니다.
일부 로그 필드는 다른 필드를 값으로 포함할 수 있습니다. 예를 들어 connection 필드는 IpConnection 형식을 사용하며, 여기에는 소스 및 대상 IP 주소와 포트, 프로토콜이 단일 필드에 포함됩니다.
다음 표에서는 VPC 방화벽 규칙에 지원되는 로그 필드를 설명합니다.
| 필드 이름 | 필드 유형: 기본 또는 선택적 메타데이터 | 설명 |
|---|---|---|
connection |
기본 | IpConnection 이 연결의 소스 및 대상 IP 주소, 소스 및 대상 포트, IP 프로토콜을 설명하는 5-튜플입니다. |
disposition |
기본 | 연결이 ALLOWED인지 DENIED인지를 나타냅니다. |
rule_details |
기본 | RuleDetails VPC 방화벽 규칙 세부정보입니다. VPC 방화벽 규칙의 경우 형식은 network:{network name}/firewall:{firewall_name}입니다. |
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이 패킷 헤더에서 확인하는 VM의 IP 주소가 표시됩니다. 이는 VM에서 tcpdump를 실행한 것과 동일합니다. |
src_port |
정수 | 소스 포트입니다. |
dest_ip |
문자열 | 대상 IP 주소입니다. 대상이 Google Cloud VM인 경우 dest_ip는 기본 내부 IP 주소이거나 VM 네트워크 인터페이스의 별칭 IP 범위에 있는 주소입니다. 외부 IP 주소는 연결에 사용된 경우에도 표시되지 않습니다. |
dest_port |
정수 | 대상 포트입니다. |
protocol |
정수 | 연결의 IP 프로토콜입니다. |
RuleDetails
| 필드 | 유형 | 설명 |
|---|---|---|
reference |
문자열 | 단일 VPC 네트워크에 바인딩된 리소스 이름이 지정된 방화벽 규칙을 참조하는 고유 식별자 문자열입니다. VPC 방화벽 규칙의 형식은 network:{network name}/firewall:{VPC firewall rule name}입니다. |
priority |
정수 | VPC 방화벽 규칙의 우선순위입니다. |
action |
문자열 | 연결에 적용된 작업입니다. 지원되는 값은 ALLOW 또는 DENY입니다. |
direction |
문자열 | VPC 방화벽 규칙이 적용되는 방향입니다.
INGRESS 또는 EGRESS일 수 있습니다.
|
source_range[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 소스 범위 목록입니다. |
destination_range[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 대상 범위 목록입니다. |
ip_port_info[ ] |
문자열 | 규칙의 IP 프로토콜 및 적용 가능한 포트 범위 목록입니다. |
source_tag[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 소스 네트워크 태그 목록입니다. |
target_tag[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 대상 네트워크 태그 목록입니다. |
source_service_account[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 모든 소스 서비스 계정 목록입니다. |
target_service_account[ ] |
문자열 | VPC 방화벽 규칙이 적용되는 모든 대상 서비스 계정 목록입니다. |
IpPortDetails
| 필드 | 유형 | 설명 |
|---|---|---|
ip_protocol |
문자열 | VPC 방화벽 규칙이 적용되는 IP 프로토콜입니다. 규칙이 모든 IP 프로토콜에 적용되는 경우 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 외부에 있는 경우에 적용됩니다. |