구성 분석 상태

연결 테스트 구성 분석은 네트워크 경로에서 지정된 소스에서 지정된 대상으로의 각 Google Cloud 리소스의 구성을 확인하면서 일련의 테스트 상태를 거칩니다. 이 참조를 사용하여 이러한 상태를 해석하세요.

실시간 데이터 영역 분석에 대한 세부정보를 포함하여 연결 테스트에 대한 자세한 내용은 개요를 참조하세요.

테스트 상태

연결 테스트 구성 분석은 다음 테스트 상태의 데이터를 나열된 순서대로 제공합니다.

  • 초기 상태
  • 구성 확인 상태
  • 전달 상태
  • 전환 상태
  • 특수 상태
  • 최종 상태
  • 전체적인 연결 가능성 결과

이러한 상태 중 일부는 모든 trace에 표시되지만 일부는 특정 Google Cloud 리소스의 구성을 테스트하거나 특정 태스크를 수행하는 경우에만 나타납니다.

최종 상태와 전체적인 연결 가능성 결과는 가장 중요한 테스트 출력을 제공합니다.

또한 테스트 출력에는 상태 한 개 이상과 연결된 Google Cloud 리소스의 메타데이터(예: 가상 머신(VM) 인스턴스 이름 및 IP 주소에 대한 정보)가 포함될 수 있습니다.

구성 분석에서 연결 가능성을 평가하는 방법

구성 분석은 네트워크 경로의 Google Cloud 리소스 구성을 확인하여 이 경로를 통해 테스트 패킷을 시뮬레이션합니다. 잘못된 네트워크 구성의 예시로는 백엔드가 없는 Cloud Load Balancing 전달 규칙이나 존재하지 않는 네트워크 경로가 있습니다.

구성 확인 상태 중에 연결 테스트는 사용자 구성 경로, BGP 공지를 기반으로 하는 동적 경로 또는 정책 기반 경로와 같은 네트워크 경로에 대한 정보를 수집합니다. 그런 다음 구성 분석은 적용 여부 및 순서에 따라 네트워크 경로를 선택합니다.

구성 확인 상태에서 verified는 테스트된 Google Cloud 리소스의 구성이 유효하다는 것을 연결 테스트에서 확인했음을 의미합니다. 이 구성을 통해 시뮬레이션된 테스트 패킷이 네트워크 경로 테스트를 계속할 수 있습니다.

인그레스 및 이그레스 방화벽 규칙의 경우 verified는 구성 분석에서 방화벽 규칙의 유효성을 확인했음을 의미합니다. 방화벽 규칙은 시뮬레이션된 테스트 패킷 통과를 허용합니다.

연결 테스트에서 구성이 잘못되었다고 판단하면 패킷의 최종 상태는 Drop입니다.

전체적인 연결 가능성 결과

구성 분석에서는 연결 가능성 상태의 전반적인 요약(결과라고도 함)을 제공합니다. 결과는 Reachable, Unreachable, Ambiguous, Undetermined의 네 가지 값 중 하나일 수 있습니다.

값 테이블

다음 표에서는 유형별 전체 연결 가능성 결과 값을 설명합니다.

전체적인 연결 가능성 결과 설명
Reachable 다음과 같은 두 가지 시나리오가 있습니다. 두 시나리오 모두에서 연결 테스트는 구성 문제를 발견하지 못했습니다. 따라서 두 시나리오 모두 Reachable로 간주됩니다.
  • 첫 번째 시나리오에서 소스에서 시작된 패킷은 대상에 도달할 것으로 예상됩니다. trace 한 개 이상의 최종 상태는 Deliver입니다.
  • 두 번째 시나리오에서 분석은 사용자가 권한을 가지고 있는 구성에 따라 부분적으로 완료됩니다. trace 한 개 이상의 최종 상태는 Forward입니다.
Unreachable 소스에서 시작된 패킷은 대상에 도달하기 전에 중단될 것으로 예상됩니다. 모든 trace의 최종 상태는 Drop입니다.
Ambiguous

소스 및 대상 엔드포인트가 네트워크에서 테스트 위치를 고유하게 식별하지 못하고 전체 연결 가능성 결과에 Reachable 상태와 Unreachable 상태가 혼합된 trace 여러 개가 포함된 경우에 이 결과가 반환됩니다.

이 경우 여러 trace 중 최종 상태가 다른 최종 상태를 반환합니다. Ambiguous 결과는 trace가 하나만 포함된 테스트에 적용되지 않습니다.

Undetermined

연결 가능성을 확인할 수 없습니다. 하나의 trace에 대한 최종 상태는 Forward 또는 Abort입니다. 여러 trace의 경우 최종 상태는 Forward 또는 Abort의 조합입니다.

다음과 같은 이유로 소스에서 대상까지의 연결 가능성을 확인할 수 없습니다.

  • 권한 오류로 인해 분석이 취소되었습니다. 테스트에 나열된 프로젝트에 대한 읽기 권한이 사용자에게 없습니다.
  • 내부 오류로 인해 분석이 취소되었습니다.

여러 trace

각 구성 분석에는 trace가 여러 개 포함될 수 있으며 이러한 trace의 최종 상태는 동일하지 않을 수 있습니다. 예를 들어 부하 분산기에 구성된 n 백엔드 VM 인스턴스가 있는 경우 Google Cloud 부하 분산기의 VIP에 대한 패킷에는 n trace가 있을 수 있습니다. 이 n trace의 최종 상태는 동일하지 않을 수 있습니다.

분석 하나에서 가능한 trace를 여러 개 생성할 수 있으므로 다음 사항이 적용됩니다.

  • trace 결과가 하나만 있는 경우 전체 연결 가능성 결과는 trace의 최종 상태와 같습니다.
  • trace 결과가 여러 개 있는 경우 전체 연결 가능성 결과는 모든 trace에 포함된 최종 상태의 분포를 기준으로 계산됩니다.

결과 메타데이터

trace의 전체 연결 가능성 결과 외에도 모든 테스트 결과에는 다음 메타데이터가 포함됩니다.

  • 테스트의 테스트 상태가 확인된 시간
  • 테스트 실패 또는 취소에 대한 오류 세부정보
  • 각 trace에 대한 trace 세부정보

테스트 실패 또는 취소에 대한 오류 세부정보는 전체 연결 가능성 결과에 코드와 메시지로 표시됩니다. 예를 들어 최종 상태가 Abort인 테스트는 Failed to pull initial config. An internal error occurred.와 같은 오류 메시지를 표시할 수 있습니다.

초기 상태

초기 상태에서 구성 분석은 네트워크 엔드포인트에서 시작을 시뮬레이션합니다.

메시지 설명
START_FROM_INSTANCE 패킷이 Compute Engine 인스턴스에서 시작되었습니다. 연결 테스트에 의해 InstanceInfo 메타데이터가 채워졌습니다.
START_FROM_INTERNET 패킷이 인터넷에서 시작되었습니다. 연결 테스트에 의해 EndpointInfo 메타데이터가 채워졌습니다.
START_FROM_PRIVATE_NETWORK 패킷이 VPC 네트워크 또는 내부 소스 IP 주소가 있는 온프레미스 네트워크에서 시작되었습니다. 소스가 사용자에게 표시되는 VPC 네트워크인 경우 연결 테스트를 통해 네트워크 세부정보로 NetworkInfo 메타데이터가 채워졌습니다.
START_FROM_CLOUD_FUNCTION 패킷이 Cloud Run 함수에서 시작되었습니다. 연결 테스트에 의해 CloudFunctionInfo 메타데이터가 채워졌습니다.
START_FROM_CLOUD_RUN_REVISION 패킷이 Cloud Run 서비스의 버전에서 시작되었습니다. 연결 테스트에 의해 CloudRunRevisionInfo 메타데이터가 채워졌습니다.
START_FROM_APP_ENGINE_VERSION 패킷이 App Engine 표준 환경 서비스의 버전에서 시작되었습니다. 연결 테스트에 의해 AppEngineVersionInfo 메타데이터가 채워졌습니다.

최종 상태

최종 상태는 Drop, Abort, Forward, Deliver의 4가지입니다. 다음 각 섹션에는 상태별 메시지와 설명이 포함된 표가 있습니다.

드롭

다음과 같은 이유로 테스트 대상에 연결할 수 없었기 때문에 연결 테스트가 시뮬레이션된 테스트 패킷을 중단했습니다.

메시지 설명
UNKNOWN_EXTERNAL_ADDRESS 대상 외부 주소를 알려진 대상으로 확인할 수 없습니다.
FOREIGN_IP_DISALLOWED ip_forward가 사용 설정된 경우 VM 인스턴스는 외부 IP 주소를 가진 패킷만 보내거나 받을 수 있습니다. 즉, 외부 IP 주소가 스푸핑 검사에 실패했습니다.
FIREWALL_RULE

방화벽 규칙으로 인해 중단되었습니다. 단, 연결 추적 시 허용될 수 있습니다.

패킷이 차단 방화벽 규칙과 일치하기 때문에 연결 테스트에서 테스트 패킷을 거부할 수 있습니다. 그러나 실제 데이터 영역은 방화벽 규칙의 연결 추적으로 인해 패킷 통과를 허용할 수 있습니다. 연결 추적을 사용하면 방화벽 규칙에도 불구하고 기존 연결의 패킷이 반환될 수 있습니다.

NO_ROUTE 경로가 없기 때문에 중단되었습니다.
ROUTE_BLACKHOLE 일치하는 경로의 다음 홉이 없으므로 중단되었습니다.
ROUTE_WRONG_NETWORK 잘못되었거나 일관되지 않은 구성 감지에서와 같이 패킷이 잘못된(의도하지 않은) 네트워크로 전송되었습니다.
PRIVATE_TRAFFIC_TO_INTERNET 내부 대상 주소가 있는 패킷이 인터넷 게이트웨이로 전송되었습니다.
PRIVATE_GOOGLE_ACCESS_DISALLOWED 내부 IP 주소만 있는 VM 인스턴스가 Google API 또는 Google 서비스에 액세스하려고 했지만 비공개 Google 액세스가 사용 설정되지 않았습니다.
NO_EXTERNAL_ADDRESS 내부 IP 주소만 있는 VM 인스턴스가 다음 홉이 기본 인터넷 게이트웨이인 경로를 통해 외부 호스트에 액세스하려고 했습니다. 서브넷에 Cloud NAT가 사용 설정되지 않았거나 프록시 VM과 같은 다른 유형의 다음 홉을 사용하는 기본 경로가 없는 경우에 발생합니다.
UNKNOWN_INTERNAL_ADDRESS 대상 내부 주소를 알려진 대상으로 확인할 수 없습니다.
FORWARDING_RULE_MISMATCH 전달 규칙의 프로토콜 및 포트가 패킷 헤더와 일치하지 않거나 패킷이 리전별 부하 분산기와 동일한 리전에서 출발하거나 수신되지 않습니다.
FORWARDING_RULE_NO_INSTANCES 전달 규칙에 백엔드가 구성되어 있지 않습니다.
FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK

방화벽 규칙이 백엔드에 대한 상태 확인 프로브를 차단하여 백엔드가 부하 분산기에서 트래픽을 사용할 수 없게 되었습니다.

Cloud Load Balancing의 테스트 시퀀스의 일부인 구성 분석은 상태 확인 프로브 패킷을 Cloud Load Balancing 백엔드로 전송할 수 있도록 기존 방화벽 규칙이 구성되었는지 확인합니다. 이 구성 확인 결과는 healthCheckFirewallState입니다. 자세한 내용은 상태 확인 방화벽 규칙을 참조하세요.

INSTANCE_NOT_RUNNING 패킷이 실행 중 상태가 아닌 VM 인스턴스에서 또는 VM 인스턴스로 전송되었습니다.
TRAFFIC_TYPE_BLOCKED 트래픽 유형이 차단되었으며 사용자가 트래픽 유형을 사용할 수 있도록 방화벽 규칙을 구성할 수 없습니다. 자세한 내용은 항상 차단되는 트래픽을 참조하세요.
GKE_MASTER_UNAUTHORIZED_ACCESS Google Kubernetes Engine 컨트롤 플레인 엔드포인트에 대한 액세스가 승인되지 않았습니다. 자세한 내용은 클러스터 엔드포인트에 액세스를 참조하세요.
DROPPED_INSIDE_GKE_SERVICE 패킷이 Google Kubernetes Engine 서비스 내에서 삭제되었습니다.
CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS Cloud SQL 인스턴스 엔드포인트에 대한 액세스가 승인되지 않았습니다. 자세한 내용은 승인된 네트워크로 승인을 참조하세요.
DROPPED_INSIDE_CLOUD_SQL_SERVICE 패킷이 Cloud SQL 서비스 내에서 삭제되었습니다.
GOOGLE_MANAGED_SERVICE_NO_PEERING 발신 네트워크와 Google 관리형 서비스 네트워크 간에 피어링이 없으므로 패킷이 중단되었습니다.
CLOUD_SQL_INSTANCE_NO_IP_ADDRESS Cloud SQL 인스턴스에 비공개 또는 공개 IP 주소가 없으므로 패킷이 중단되었습니다.
PSC_CONNECTION_NOT_ACCEPTED Private Service Connect를 사용하는 게시된 서비스에 대한 연결이 허용되지 않아 패킷이 삭제되었습니다.
CLOUD_FUNCTION_NOT_ACTIVE Cloud Run 함수가 활성 상태가 아니므로 패킷이 삭제되었습니다.
VPC_CONNECTOR_NOT_SET App Engine 표준 환경 서비스, Cloud Run 함수 또는 Cloud Run 버전에 서버리스 VPC 액세스 커넥터가 구성되지 않아 패킷이 삭제되었습니다.
VPC_CONNECTOR_NOT_RUNNING 서버리스 VPC 액세스 커넥터가 실행 중이 아니기 때문에 패킷이 삭제되었습니다.
CLOUD_RUN_REVISION_NOT_READY Cloud Run 버전이 준비되지 않아 트래픽을 처리할 수 없어 패킷이 삭제되었습니다.

취소

네트워크 구성에 대한 액세스 권한 부족과 같은 기본 정보 부족으로 인해 구성 분석이 중지되었습니다.

이 상태는 일반적으로 다음 표에 나와 있는 것처럼 연결 테스트에 서비스 프로젝트의 호스트 프로젝트에서 구성을 가져올 수 있는 올바른 권한이 없는 경우에 발생합니다.

메시지 설명
UNKNOWN_NETWORK

알 수 없는 네트워크로 인해 취소되었습니다. 공유 VPC 네트워크에서 테스트를 실행하는 사용자가 방화벽 규칙과 경로를 포함한 호스트 프로젝트의 네트워크 구성에 액세스할 수 없으므로 분석을 진행할 수 없습니다.

연결 테스트를 실행하려면 테스트를 실행하는 사용자가 호스트 프로젝트의 경로와 같은 리소스의 구성을 읽을 수 있어야 합니다. 이는 네트워크 리소스가 호스트 프로젝트에 할당되어 있지만 실제 리소스는 서비스 프로젝트에 존재하기 때문입니다.

UNKNOWN_IP

분석에 필요한 IP 주소를 알 수 없으므로 분석이 취소되었습니다. 사용자의 입력이 잘못되었거나 구성 분석이 제공된 입력 매개변수를 기반으로 유효한 엔드포인트를 확인할 수 없기 때문입니다.

공유 VPC 네트워크에서 테스트를 실행하는 사용자가 호스트 프로젝트의 네트워크 구성에 액세스하지 못했습니다. 이 액세스는 서비스 프로젝트에서 IP 주소를 테스트하는 데 필요합니다.

UNKNOWN_PROJECT 연결 테스트에 대한 입력에서 프로젝트 정보를 가져올 수 없기 때문에 분석이 취소되었습니다. 이는 사용자 입력이 잘못되었거나 제공된 입력 매개변수를 기반으로 분석에서 올바른 프로젝트를 확인할 수 없기 때문입니다.
PERMISSION_DENIED 테스트를 실행하는 데 필요한 네트워크 구성의 일부 또는 전부에 액세스할 수 있는 권한이 사용자에게 없기 때문에 분석이 취소되었습니다.
NO_SOURCE_LOCATION 입력 테스트 요청에서 유효한 소스 엔드포인트가 도출되지 않기 때문에 분석이 취소되었습니다. 이는 사용자 입력이 잘못되었거나 제공된 입력 매개변수를 기반으로 분석에서 올바른 소스 엔드포인트를 확인할 수 없기 때문입니다.
INVALID_ARGUMENT

테스트 입력에 지정된 소스 또는 대상 엔드포인트가 유효하지 않기 때문에 분석이 취소되었습니다. 이 메시지의 원인은 다음과 같습니다.

  • 잘못된 형식의 IP 주소
  • 존재하지 않는 VM 인스턴스 또는 네트워크 URI
  • 지정된 네트워크 URI 범위에 없는 IP 주소
  • 지정된 네트워크에서 네트워크 인터페이스를 소유하지 않은 VM 인스턴스
NO_EXTERNAL_IP 트래픽이 공개 IP 주소에서 외부 IP 주소가 없는 VM 인스턴스로 전송되었기 때문에 분석이 취소되었습니다.
UNINTENDED_DESTINATION 테스트 입력에 지정된 대상 정보와 일치하는 trace가 없기 때문에 분석이 취소되었습니다.
TRACE_TOO_LONG trace의 단계 수가 특정 한도를 초과했기때문에 분석이 취소되었습니다. 이 문제는 라우팅 루프로 인해 발생할 수 있습니다.
INTERNAL_ERROR 내부 서버 오류로 인해 취소되었습니다.
SOURCE_ENDPOINT_NOT_FOUND 소스 엔드포인트를 찾을 수 없어 취소되었습니다.
MISMATCHED_SOURCE_NETWORK 소스 네트워크가 소스 엔드포인트와 일치하지 않아 취소되었습니다.
DESTINATION_ENDPOINT_NOT_FOUND 대상 엔드포인트를 찾을 수 없어 취소되었습니다.
MISMATCHED_DESTINATION_NETWORK 대상 네트워크가 대상 엔드포인트와 일치하지 않아 취소되었습니다.

전달

분석이 특정 엔드포인트에서 중지되고 더 이상 진행될 수 없습니다.

  • 분석은 사용자가 권한이 있는 구성에 따라 부분적으로 완료됩니다.
  • 테스트 패킷이 구성을 알 수 없는 네트워크로 전달되었습니다.
  • 알려진 구성에 따라 테스트 대상이 중단되지 않았으며 연결 테스트에 표시되지 않는 네트워크로 테스트 패킷이 전달되었습니다.
메시지 전달됨
PEERING_VPC 피어 VPC 네트워크
VPN_GATEWAY Cloud VPN 게이트웨이
INTERCONNECT Cloud Interconnect 연결
GKE_MASTER GKE 컨트롤 플레인
IMPORTED_CUSTOM_ROUTE_NEXT_HOP 피어링된 VPC 네트워크에서 가져온 커스텀 경로의 다음 홉
CLOUD_SQL_INSTANCE Cloud SQL 인스턴스

전송

분석이 대상에 도달하여 시뮬레이션된 테스트 패킷을 전송할 수 있었습니다.

Deliver 최종 상태는 트래픽이 데이터 영역을 통과할 수 있다고 보장하지 않습니다. 분석의 목적은 트래픽이 중단될 수 있는 구성 문제를 확인하는 것입니다.

메시지 대상
INSTANCE Compute Engine VM 인스턴스
INTERNET 인터넷
GOOGLE_API Google API
GKE_MASTER GKE 컨트롤 플레인
CLOUD_SQL_INSTANCE Cloud SQL 인스턴스
PSC_GOOGLE_API Private Service Connect를 사용하는 모든 Google API 및 서비스
PSC_VPC_SC Private Service Connect를 사용하는 VPC 서비스 제어
PSC_PUBLISHED_SERVICE Private Service Connect를 사용하는 게시된 서비스

메타데이터

구성 분석에서는 최종 상태에 대한 다음 메타데이터를 보여줍니다.

메타데이터 이름 설명
AbortInfo Abort 최종 상태 및 해당 상태를 유발한 리소스 URI의 원인
DropInfo Drop 최종 상태 및 해당 상태를 유발한 리소스 URI의 원인
ForwardInfo 테스트 패킷이 최종적으로 전달된 대상 유형 및 대상 리소스 URI(Forward 최종 상태)

기타 상태

테스트 패킷이 최종 상태 중 하나에 도달하기 전에 중간 상태(구성 확인 상태, 전달 상태, 전환 상태, 특수 상태)를 거칩니다.

구성 확인 상태

구성 확인 상태 중에 연결 테스트는 시뮬레이션된 네트워크 경로에서 Google Cloud 리소스의 구성을 확인하고, 리소스 구성이 유효한지 확인하고, 시뮬레이션된 테스트 패킷이 네트워크 경로를 통과할 수 있도록 구성되어 있는지 확인합니다.

필요한 경우 구성 분석은 스푸핑 검사를 수행합니다.

메시지 설명
APPLY_INGRESS_FIREWALL_RULE 확인된 인그레스 방화벽 규칙
APPLY_EGRESS_FIREWALL_RULE 확인된 이그레스 방화벽 규칙
APPLY_ROUTE 확인된 경로
APPLY_FORWARDING_RULE 일치하는 전달 규칙
SPOOFING_APPROVED 외부 IP 주소로 패킷을 보내거나 받았지만 허용되었습니다. 자세한 내용은 스푸핑 검사를 참조하세요.

전달 상태

전달 상태 중에 연결 테스트는 테스트 경로의 중간 Google Cloud 리소스에 도달하는 패킷(예: Cloud VPN 게이트웨이 또는 Google Cloud 부하 분산기에 도달하는 패킷)을 시뮬레이션합니다.

메시지 설명
ARRIVE_AT_INSTANCE Compute Engine VM 인스턴스에 도달했습니다.
ARRIVE_AT_INTERNAL_LOAD_BALANCER 비공개 IP 주소를 VIP로 사용하는 Google Cloud 부하 분산기에 도달했습니다.
ARRIVE_AT_EXTERNAL_LOAD_BALANCER Google Cloud 부하 분산기의 공개 IP 주소에 도달했습니다.
ARRIVE_AT_VPN_GATEWAY Cloud VPN 게이트웨이에 도달했습니다.
ARRIVE_AT_VPN_TUNNEL Cloud VPN 터널에 도달했습니다.
ARRIVE_AT_VPC_CONNECTOR 서버리스 VPC 액세스 커넥터에 도달했습니다.

전환 상태

전환 상태 중에 연결 테스트는 패킷이 변경된 시뮬레이션된 구성을 확인합니다(예: Cloud NAT가 패킷 헤더를 변환하는 경우 또는 Google Cloud 부하 분산 프록시가 VM 인스턴스에 대한 인바운드 TCP 세션을 종료하고 다시 시작하는 경우).

메시지 설명
NAT 패킷 헤더가 변환되었습니다.
PROXY_CONNECTION 원래 연결이 종료되고 새로운 프록시 연결이 시작되었습니다.

특수 상태

이 상태에서 테스트 뷰어는 하나 이상의 Google Cloud 리소스를 볼 수 있는 권한이 없습니다. 자세한 내용은 테스트 권한을 참조하세요.

메타데이터 이름 설명
VIEWER_PERMISSION_MISSING 테스트 뷰어는 Google Cloud 리소스에 대한 구성을 볼 수 있는 권한이 없습니다.

리소스 메타데이터

연결 테스트는 확인할 Google Cloud 리소스 구성에 대한 다음 메타데이터를 보여줍니다.

메타데이터 이름 설명
EndpointInfo 테스트에 사용된 엔드포인트. 연결 테스트는 소스 및 대상 엔드포인트에서 EndpointInfo를 가져오고 데이터 영역의 모델을 사용하여 정보를 검사합니다.
FirewallInfo 방화벽 규칙과 연결된 메타데이터입니다.
ForwardingRuleInfo VPC 전달 규칙과 관련된 메타데이터
InstanceInfo Compute Engine VM 인스턴스와 관련된 메타데이터
LoadBalancerInfo Google Cloud 부하 분산기와 관련된 메타데이터
NetworkInfo VPC 네트워크와 관련된 메타데이터
RouteInfo VPC 네트워크 경로와 관련된 메타데이터
AppEngineVersionInfo App Engine 표준 환경 서비스의 한 버전과 관련된 메타데이터
CloudRunRevisionInfo Cloud Run 버전과 관련된 메타데이터
CloudFunctionInfo Cloud Run 함수와 연결된 메타데이터
VpcConnectorInfo 서버리스 VPC 액세스 커넥터와 관련된 메타데이터

다음 단계