VPC 네트워크 내부 연결 테스트

연결 테스트의 일반적인 사용 사례는 동일하거나 피어링된 Virtual Private Cloud(VPC) 네트워크에서 두 개의 Compute Engine 가상 머신(VM) 인스턴스 간에 테스트하는 것입니다.

이 유형의 테스트에서 연결 테스트는 구성 분석과 실시간 데이터 영역 분석을 모두 사용하여 연결 가능성을 평가합니다. 구성을 분석하도록 연결 테스트에서 trace 경로를 식별하고 평가합니다.

이 페이지의 trace 다이어그램은 다음 범례에 설명된 기호를 사용합니다.
기호 이름 의미
회색 삼각형
패킷 trace 다이어그램 범례: 회색 삼각형
Checkpoint 연결 테스트가 구성을 확인하고 trace 패킷을 전달, 전송 또는 삭제할지 여부를 결정하는 결정 지점입니다.
파란색 직사각형
패킷 trace 다이어그램 범례: 파란색 직사각형
VPC 네트워크에서 다음 홉(예: Cloud Load Balancing 프록시나 Cloud VPN 터널)으로 패킷을 전달하는 Google Cloud 리소스를 나타내는 trace 패킷의 전달 경로에서의 단계입니다.
주황색 육각형
패킷 trace 다이어그램 범례: 주황색 육각형
엔드포인트 trace 패킷의 소스 또는 대상

다음 다이어그램에서는 두 VM 인스턴스 간의 일반적인 trace 경로를 보여줍니다. Match routes 객체는 단일 VPC 네트워크 또는 피어링된 두 VPC 네트워크 간의 트래픽을 유도하는 경로를 나타낼 수 있습니다.

소스 VM에서 대상 VM까지 trace
소스 VM에서 대상 VM까지 trace(확대하려면 클릭).

다음 단계에서는 trace 다이어그램의 각 점에 해당하는 체크포인트를 설명합니다. 체크포인트에서 검사가 실패할 수 있습니다. 쿼리 결과에서는 각 실패 이유를 보여줍니다. 테스트 상태 및 메시지의 전체 목록은 구성 분석 상태를 참조하세요.

  1. 연결 테스트는 소스 VM이 지정된 소스 IP 주소로 이그레스 패킷을 보낼 수 있는지 또는 스푸핑 검사 프로세스로 기본 설정되어 있는지 확인합니다.

  2. 연결 테스트는 VM 인스턴스를 오가는 시뮬레이션된 패킷이 이 인스턴스가 소유하지 않은 IP 주소를 사용하는 경우 스푸핑 검사를 수행합니다. VM이 소유한 IP 주소에는 모든 VM 내부 IP 주소와 보조 IP 주소가 포함됩니다.

    주소가 외부 주소라고도 하는 외부 트래픽에서 시작하는 주소이면 IP 주소에서 스푸핑 검사가 실패합니다.

  3. 소스에서 trace 패킷을 전송할 수 있는지 여부를 확인하기 위해 연결 테스트에서 적절한 이그레스 방화벽 규칙을 확인합니다. 이 프로세스의 일부로 연결 테스트는 존재하는 계층식 방화벽 정책 규칙을 평가하여 시작됩니다. 계층식 방화벽 정책 규칙과 VPC 방화벽 규칙이 연결에 미치는 영향에 대한 자세한 내용은 계층식 방화벽 정책 예시를 참조하세요.

  4. 연결 테스트는 라우팅 순서에 따라 대상 IP 주소의 경로를 찾습니다(일치). 대상 VM 인스턴스에 사용할 수 있는 다른 경로가 없으면 연결 테스트는 다음 홉과 함께 인터넷 게이트웨이로 기본 정적 경로를 사용합니다. 모든 VPC 네트워크는 제거하지 않는 한 이 기본 경로를 사용합니다.

  5. 연결 테스트는 네트워크의 인그레스 방화벽 규칙이 패킷이 대상 VM에 도달하도록 허용하는지 확인합니다. 다시 한 번 말하지만 연결 테스트는 존재하는 계층식 방화벽 정책 규칙을 평가하여 시작됩니다.

  6. 필요한 경우 연결 테스트는 두 번째 VM에 도착한 패킷에서 스푸핑 검사를 실행합니다.

  7. 연결 테스트는 대상 VM이 지정된 대상 IP 주소를 가진 패킷을 수신할 수 있는지 확인합니다. 이 주소가 외부 IP 주소인 경우 대상 VM에 IP 전달이 사용 설정되어 있어야 합니다. 외부 IP 주소는 VM에 속하지 않는 주소입니다.

Google Cloud Console의 다음 스크린샷에서는 VM 간 테스트 결과를 보여줍니다.

구성 분석 결과는 패킷을 전송할 수 있음입니다(API 응답에서 이 라벨은 Deliver 최종 상태에 해당됨).

이 결과는 구성 분석이 소스 VM에서 대상 VM까지의 경로에서 모든 Google Cloud 리소스의 네트워크 연결을 검증했음을 보여줍니다. 이 경우 경로에는 VPC 방화벽 규칙 두 개가 포함되어 있습니다. default라는 이름의 VPC 방화벽 규칙과 이 VPC 네트워크용으로 생성된 규칙입니다.

또한 연결 테스트에서는 활성 프로브를 사용하여 대상 VM에 연결할 수 있는지 동적으로 확인합니다. 마지막 패킷 전송 결과 필드에 이 결과의 세부정보가 표시됩니다.

VM 간 trace에 대한 Google Cloud 콘솔 스크린샷
VM 간 trace에 대한 Google Cloud 콘솔 스크린샷(확대하려면 클릭)

trace 경로에서 각 카드를 펼쳐 세부정보를 볼 수 있습니다.

다음 예시는 인그레스 방화벽 규칙 카드를 펼친 모습을 보여줍니다. 이 카드에는 VPC 네트워크에 대한 정보, 방화벽 규칙에 대해 구성된 작업(허용), 규칙 우선순위가 포함됩니다.

인그레스 방화벽 규칙 카드를 펼친 모습
인그레스 방화벽 규칙 카드를 펼친 모습(확대하려면 클릭)

피어링된 VPC 네트워크가 다음 홉인 VPC 네트워크 경로가 trace에 포함된 경우 trace의 시작은 VM 인스턴스가 아니라 VPC 네트워크입니다. 이러한 유형의 trace는 개발자가 테스트하는 IP 주소가 VM 인스턴스가 아닌 네트워크 범위에서 가져오므로 네트워크 수준에서 방화벽 규칙과 경로의 유효성을 검사합니다.

피어링된 네트워크는 동일하거나 다른 프로젝트에 존재할 수 있습니다. 다음 trace 예시는 다른 프로젝트에서 피어링된 네트워크를 보여줍니다.

다른 프로젝트에서 액세스 가능한 피어링된 VPC 네트워크를 통한 VM 간 trace
다른 프로젝트에서 액세스 가능한 피어링된 VPC 네트워크를 통한 VM 간 trace(확대하려면 클릭)

VPC 네트워크 테스트 실패

다음 표에는 VPC 네트워크 내 테스트에 대한 일반적인 실패가 나열되어 있습니다.

실패 유형 설명 trace 결과
방화벽 규칙에 의해 차단 소스 엔드포인트에서 나가거나 대상 엔드포인트로 들어가는 트래픽은 계층적 방화벽 정책 규칙 또는 VPC 방화벽 규칙에 의해 차단됩니다.
  • 계층식 방화벽 정책 규칙에서 연결을 차단하는 경우 trace에 정책 이름이 포함됩니다. 테스트를 실행하는 사용자에게 정책 세부정보를 볼 수 있는 권한이 없을 수 있습니다. 이 상황에 대한 자세한 내용은 계층적 방화벽 정책 문제 해결을 참조하세요.
  • VPC 방화벽 규칙에서 연결을 차단하는 경우 trace에는 관련 인그레스 또는 이그레스 방화벽 규칙의 이름이 나열됩니다.
일치하는 경로 없음 대상 엔드포인트로의 경로를 찾을 수 없습니다.
  • 소스 및 대상 VM 인스턴스가 다른 VPC 네트워크에 있고 이 네트워크가 피어링되지 않으면 분석 결과는 패킷이 삭제될 수 있음입니다.
  • VM이 동일한 네트워크에 있지만 일치하는 경로를 찾을 수 없으면 트래픽은 기본 정적 경로에서 다음 기본 홉과 함께 인터넷 게이트웨이로 전송됩니다. 이 경우 트래픽은 대상 VM으로 전송되지 않으며 분석 결과는 패킷이 삭제될 수 있음입니다.
  • 인터넷 게이트웨이에 대한 경로가 없으면 분석 결과는 패킷이 삭제될 수 있음입니다.
인스턴스가 실행 중이 아님 대상 VM 인스턴스가 존재하지만 실행 중 상태가 아닙니다. 분석 결과는 패킷을 삭제할 수 있음입니다.
잘못된 다음 홉 VM 인스턴스에 대해 구성된 다음 홉이 더 이상 존재하지 않으며 해당 인스턴스에 대한 경로가 유효하지 않습니다. 분석 결과는 패킷을 삭제할 수 있음입니다.

다음 스크린샷은 인그레스 계층식 방화벽 정책 규칙에서 연결을 차단하여 실패한 trace를 보여줍니다.

계층식 방화벽 정책 규칙에서 차단한 trace의 Google Cloud 콘솔 스크린샷
계층식 방화벽 정책 규칙에서 차단한 trace의 Google Cloud 콘솔 스크린샷(확대하려면 클릭)

공유 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 네트워크의 전달 상태를 보여줍니다.

다른 프로젝트에서 액세스할 수 없는 피어링된 VPC 네트워크를 통한 VM 간 trace
다른 프로젝트에서 액세스할 수 없는 피어링된 VPC 네트워크를 통한 VM 간 trace(확대하려면 클릭)

다음 단계