연결 테스트 구성 분석은 네트워크 경로에서 지정된 소스에서 지정된 대상으로의 각 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 로 간주됩니다.
|
Unreachable |
소스에서 시작된 패킷은 대상에 도달하기 전에 중단될 것으로 예상됩니다. 모든 trace의 최종 상태는 Drop 입니다. |
Ambiguous |
소스 및 대상 엔드포인트가 네트워크에서 테스트 위치를 고유하게 식별하지 못하고 전체 연결 가능성 결과에 이 경우 여러 trace 중 최종 상태가 다른 최종 상태를 반환합니다. |
Undetermined |
연결 가능성을 확인할 수 없습니다. 하나의 trace에 대한 최종 상태는 다음과 같은 이유로 소스에서 대상까지의 연결 가능성을 확인할 수 없습니다.
|
여러 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 백엔드로 전송할 수 있도록 기존 방화벽 규칙이 구성되었는지 확인합니다. 이 구성 확인 결과는 |
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 |
테스트 입력에 지정된 소스 또는 대상 엔드포인트가 유효하지 않기 때문에 분석이 취소되었습니다. 이 메시지의 원인은 다음과 같습니다.
|
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 액세스 커넥터와 관련된 메타데이터 |