연결 테스트의 일반적인 사용 사례는 동일하거나 피어링된 Virtual Private Cloud(VPC) 네트워크에서 두 개의 Compute Engine 가상 머신(VM) 인스턴스 간에 테스트하는 것입니다.
이 유형의 테스트에서 연결 테스트는 구성 분석과 실시간 데이터 영역 분석을 모두 사용하여 연결 가능성을 평가합니다. 구성을 분석하도록 연결 테스트에서 trace 경로를 식별하고 평가합니다.
이 페이지의 trace 다이어그램은 다음 범례에 설명된 기호를 사용합니다.다음 다이어그램에서는 두 VM 인스턴스 간의 일반적인 trace 경로를 보여줍니다. Match routes
객체는 단일 VPC 네트워크 또는 피어링된 두 VPC 네트워크 간의 트래픽을 유도하는 경로를 나타낼 수 있습니다.
다음 단계에서는 trace 다이어그램의 각 점에 해당하는 체크포인트를 설명합니다. 체크포인트에서 검사가 실패할 수 있습니다. 쿼리 결과에서는 각 실패 이유를 보여줍니다. 테스트 상태 및 메시지의 전체 목록은 구성 분석 상태를 참조하세요.
연결 테스트는 소스 VM이 지정된 소스 IP 주소로 이그레스 패킷을 보낼 수 있는지 또는 스푸핑 검사 프로세스로 기본 설정되어 있는지 확인합니다.
-
연결 테스트는 VM 인스턴스를 오가는 시뮬레이션된 패킷이 이 인스턴스가 소유하지 않은 IP 주소를 사용하는 경우 스푸핑 검사를 수행합니다. VM이 소유한 IP 주소에는 모든 VM 내부 IP 주소와 보조 IP 주소가 포함됩니다.
주소가 외부 주소라고도 하는 외부 트래픽에서 시작하는 주소이면 IP 주소에서 스푸핑 검사가 실패합니다.
소스에서 trace 패킷을 전송할 수 있는지 여부를 확인하기 위해 연결 테스트에서 적절한 이그레스 방화벽 규칙을 확인합니다. 이 프로세스의 일부로 연결 테스트는 존재하는 계층식 방화벽 정책 규칙을 평가하여 시작됩니다. 계층식 방화벽 정책 규칙과 VPC 방화벽 규칙이 연결에 미치는 영향에 대한 자세한 내용은 계층식 방화벽 정책 예시를 참조하세요.
연결 테스트는 라우팅 순서에 따라 대상 IP 주소의 경로를 찾습니다(일치). 대상 VM 인스턴스에 사용할 수 있는 다른 경로가 없으면 연결 테스트는 다음 홉과 함께 인터넷 게이트웨이로 기본 정적 경로를 사용합니다. 모든 VPC 네트워크는 제거하지 않는 한 이 기본 경로를 사용합니다.
연결 테스트는 네트워크의 인그레스 방화벽 규칙이 패킷이 대상 VM에 도달하도록 허용하는지 확인합니다. 다시 한 번 말하지만 연결 테스트는 존재하는 계층식 방화벽 정책 규칙을 평가하여 시작됩니다.
필요한 경우 연결 테스트는 두 번째 VM에 도착한 패킷에서 스푸핑 검사를 실행합니다.
연결 테스트는 대상 VM이 지정된 대상 IP 주소를 가진 패킷을 수신할 수 있는지 확인합니다. 이 주소가 외부 IP 주소인 경우 대상 VM에 IP 전달이 사용 설정되어 있어야 합니다. 외부 IP 주소는 VM에 속하지 않는 주소입니다.
Google Cloud Console의 다음 스크린샷에서는 VM 간 테스트 결과를 보여줍니다.
구성 분석 결과는 패킷을 전송할 수 있음입니다(API 응답에서 이 라벨은 Deliver
최종 상태에 해당됨).
이 결과는 구성 분석이 소스 VM에서 대상 VM까지의 경로에서 모든 Google Cloud 리소스의 네트워크 연결을 검증했음을 보여줍니다. 이 경우 경로에는 VPC 방화벽 규칙 두 개가 포함되어 있습니다. default
라는 이름의 VPC 방화벽 규칙과 이 VPC 네트워크용으로 생성된 규칙입니다.
또한 연결 테스트에서는 활성 프로브를 사용하여 대상 VM에 연결할 수 있는지 동적으로 확인합니다. 마지막 패킷 전송 결과 필드에 이 결과의 세부정보가 표시됩니다.
trace 경로에서 각 카드를 펼쳐 세부정보를 볼 수 있습니다.
다음 예시는 인그레스 방화벽 규칙 카드를 펼친 모습을 보여줍니다. 이 카드에는 VPC 네트워크에 대한 정보, 방화벽 규칙에 대해 구성된 작업(허용), 규칙 우선순위가 포함됩니다.
피어링된 VPC 네트워크가 다음 홉인 VPC 네트워크 경로가 trace에 포함된 경우 trace의 시작은 VM 인스턴스가 아니라 VPC 네트워크입니다. 이러한 유형의 trace는 개발자가 테스트하는 IP 주소가 VM 인스턴스가 아닌 네트워크 범위에서 가져오므로 네트워크 수준에서 방화벽 규칙과 경로의 유효성을 검사합니다.
피어링된 네트워크는 동일하거나 다른 프로젝트에 존재할 수 있습니다. 다음 trace 예시는 다른 프로젝트에서 피어링된 네트워크를 보여줍니다.
VPC 네트워크 테스트 실패
다음 표에는 VPC 네트워크 내 테스트에 대한 일반적인 실패가 나열되어 있습니다.
실패 유형 | 설명 | trace 결과 |
---|---|---|
방화벽 규칙에 의해 차단 | 소스 엔드포인트에서 나가거나 대상 엔드포인트로 들어가는 트래픽은 계층적 방화벽 정책 규칙 또는 VPC 방화벽 규칙에 의해 차단됩니다. |
|
일치하는 경로 없음 | 대상 엔드포인트로의 경로를 찾을 수 없습니다. |
|
인스턴스가 실행 중이 아님 | 대상 VM 인스턴스가 존재하지만 실행 중 상태가 아닙니다. | 분석 결과는 패킷을 삭제할 수 있음입니다. |
잘못된 다음 홉 | VM 인스턴스에 대해 구성된 다음 홉이 더 이상 존재하지 않으며 해당 인스턴스에 대한 경로가 유효하지 않습니다. | 분석 결과는 패킷을 삭제할 수 있음입니다. |
다음 스크린샷은 인그레스 계층식 방화벽 정책 규칙에서 연결을 차단하여 실패한 trace를 보여줍니다.
공유 VPC 네트워크 테스트 실패
공유 VPC 네트워크에서 호스트 프로젝트 또는 서비스 프로젝트에 대한 권한이 없으면 다음 표에 나열된 테스트 실패가 발생할 수 있습니다.
실패 유형 | 동작 | trace 결과 |
---|---|---|
호스트 프로젝트에만 해당하는 권한 | 대상 IP 주소가 있는 서비스 프로젝트에 대한 권한이 없으므로 trace를 실행할 수 없습니다. | 구성 분석 결과는 구성 분석 중단됨입니다(API 응답에서 이 라벨은 Abort 최종 상태에 해당됨). |
서비스 프로젝트에만 해당하는 권한 |
권한이 없으므로 Google Cloud 콘솔에서 trace를 실행하거나 호스트 프로젝트 네트워크를 선택할 수 없습니다. 호스트 프로젝트는 네트워크 구성을 소유하므로 호스트 프로젝트의 VPC 방화벽 규칙, 네트워크 경로 또는 IP 주소에 대한 액세스 권한이 없으면 서비스 프로젝트의 리소스에 대한 trace를 진행할 수 없습니다. |
연결 테스트에서는 패킷을 대상으로 전송할 수 있는지 여부를 확인할 수 없으므로 전체 연결 가능성 결과는 Undetermined 입니다. |
VPC 네트워크 피어링 네트워크의 테스트 실패
VPC 네트워크 피어링을 사용하는 경우 primary
네트워크에서 peered
네트워크의 Google Cloud 프로젝트에 대한 권한이 없으면 다음 표에 나열된 테스트 결과가 발생할 수 있습니다.
실패 유형 | 동작 | trace 결과 |
---|---|---|
피어링된 VPC 네트워크에서 프로젝트 구성에 대한 권한이 없습니다. | 연결 테스트는 기본 네트워크 프로젝트의 구성만 추적할 수 있습니다. | 구성 분석 결과는 패킷을 전송할 수 있음입니다.
이 결과는 패킷이 네트워크에서 액세스할 수 없는 네트워크로 전송됨을 나타냅니다. 이 경우 패킷이 피어링된 네트워크 게이트웨이로 전달되었습니다. API 응답에서 이 상태는 Forward 최종 상태 에 해당합니다. |
다음 trace 경로는 피어링된 VPC 네트워크의 전달 상태를 보여줍니다.