Looker (Google Cloud 핵심 서비스) 네트워킹 문제 해결

OIDC 인증, 시간 초과 오류, Private Service Connect, 비공개 서비스 액세스

Looker (Google Cloud 핵심 서비스) 인스턴스가 외부 서비스, ID 공급업체 또는 데이터베이스 백엔드에 연결되지 않는 경우 이 가이드를 사용하여 일반적인 네트워킹 문제를 진단하고 해결하세요. OpenID Connect (OIDC) 인증 실패, 504HttpClient:ConnectTimeoutError 시간 초과, Private Service Connect (PSC) 및 비공개 서비스 액세스의 라우팅 전파 오류를 해결할 수 있습니다.

제어된 이그레스로 인한 OpenID Connect 인증 실패

Private Service Connect로 구성되고 제어된 이그레스가 사용 설정된 Looker (Google Cloud 핵심 서비스) 인스턴스에서 OpenID Connect 인증을 설정하면 인증이 실패할 수 있습니다.

증상

인증에 실패하면 다음 증상 중 하나가 발생할 수 있습니다.

  • Looker /openidconnect 엔드포인트가 브라우저에서 약 60초 동안 중단된 후 오류가 표시되거나 504 Upstream Request Timeout 또는 504 Gateway Timeout 오류와 함께 제한 시간이 초과됩니다.
  • ID 공급업체에 다음과 같이 리디렉션 URI가 일치하지 않음을 나타내는 오류 메시지가 표시됩니다.

    AADSTS50011: The redirect URI specified in the request does not match the
    redirect URIs configured for the application
    

    ID 제공업체에서 구성한 리디렉션 URI가 올바를 수 있으므로 이 오류 메시지는 오해의 소지가 있습니다. 실제 오류는 Looker (Google Cloud 핵심 서비스)이 백엔드 교환 중에 ID 공급업체의 토큰 엔드포인트에 연결할 수 없는 경우 발생합니다.

원인

제어된 출구의 자동 프로비저닝 워크플로가 Looker (Google Cloud 핵심 서비스) 테넌트 프로젝트에서 필요한 보안 웹 프록시 네트워크 경로 (looker-swp-route)를 만들지 못하는 경우가 있습니다.

이 경로가 누락되면 인스턴스가 Secure Web Proxy를 통해 아웃바운드 트래픽을 공개 인터넷으로 라우팅할 수 없으므로 Looker (Google Cloud 핵심 서비스)에서 ID 제공업체의 토큰 엔드포인트로 전송하는 백엔드 요청 시간이 초과됩니다.

해결 방법

이 문제를 해결하려면 다음 단계에 따라 제어된 이그레스 구성을 재설정하여 시스템이 누락된 네트워크 경로를 강제로 다시 만들도록 합니다.

  1. Google Cloud 콘솔에서 Looker 페이지로 이동합니다.

    Looker로 이동

  2. 업데이트하려는 인스턴스의 이름을 클릭합니다.

  3. 수정을 클릭합니다.

  4. 연결 섹션을 펼치고 아웃바운드 연결 구성 섹션으로 이동합니다.

  5. 전역 FQDN 섹션에 나열된 모든 기존 정규화된 도메인 이름 (FQDN)(예: ID 공급자의 엔드포인트)을 기록합니다.

  6. 전역 FQDN 섹션에 나열된 모든 FQDN을 삭제합니다.

  7. Looker가 외부 서비스에 연결하도록 사용 설정 체크박스를 선택 해제하여 제어된 이그레스를 사용 중지합니다.

  8. 저장을 클릭합니다.

  9. 인스턴스 업데이트가 완료되고 구성 변경사항이 지워질 때까지 기다립니다.

  10. 수정을 다시 클릭합니다.

  11. 연결 섹션을 펼치고 Looker가 외부 서비스에 연결하도록 사용 설정 체크박스를 선택합니다.

  12. 전역 FQDN 섹션에서 ID 공급업체 및 기타 외부 서비스에 필요한 FQDN을 다시 추가합니다.

  13. 저장을 클릭합니다.

제어된 이그레스를 재설정하면 자동 프로비저닝 프로세스가 트리거되어 누락된 looker-swp-route 네트워크 경로가 다시 생성됩니다. 경로가 생성되면 ID 제공업체에 대한 아웃바운드 백엔드 요청이 완료될 수 있습니다.

504 업스트림 요청 시간 초과 오류

제어된 이그레스가 사용 설정된 Looker (Google Cloud 핵심 서비스) 인스턴스에서 외부 서비스 또는 ID 공급업체로 인증할 때 제한 시간 오류로 인해 요청이 실패할 수 있습니다.

증상

ID 프로바이더의 로그인 페이지에서 돌아온 후 또는 외부 서비스에 연결할 때 브라우저에 504 Upstream Request Timeout 오류가 표시됩니다.

원인

504 Upstream Request Timeout 오류는 Looker (Google Cloud 핵심 서비스) 인스턴스가 제어된 이그레스를 통해 외부 도메인에 도달할 수 없음을 나타냅니다. 누락된 경로 오류와 달리 504 오류는 일반적으로 네트워크 경로가 있지만 필수 도메인이 전역 FQDN 허용 목록에서 누락되어 차단되거나 게이트웨이에서 요청 시간이 초과됨을 의미합니다.

해결 방법

이 문제를 해결하려면 다음 단계를 따르세요.

  1. 필수 FQDN 확인: Google Cloud 콘솔에서 외부 서비스 또는 ID 제공업체에 필요한 모든 도메인이 전역 FQDN 목록에 추가되었는지 확인합니다. OIDC 인증 흐름에는 서로 다른 도메인을 사용할 수 있는 여러 엔드포인트 (예: 승인, 토큰, 사용자 정보 엔드포인트)가 필요한 경우가 많습니다.
  2. 네트워크 추적 캡처: 오류가 계속되면 문제를 재현하는 동안 브라우저 네트워크 추적 (HAR 파일)을 캡처합니다. 추적에서 504 상태 코드 또는 실패한 HTTP 요청을 검색하여 흐름 중에 연락했지만 전역 FQDN 목록에 포함되지 않은 도메인을 식별합니다.
  3. 구성 재설정: 필요한 FQDN이 있지만 요청이 계속 타임아웃되는 경우 OpenID Connect 인증 실패의 해결 방법에 나온 단계에 따라 제어된 이그레스 구성을 재설정합니다.

HttpClient:ConnectTimeoutError 실행이 만료됨

Looker 관리자 패널에서 OpenID Connect 연결 또는 기타 외부 네트워크 연결을 테스트할 때 연결 테스트가 시간 초과 오류로 실패할 수 있습니다.

증상

Looker 관리자 패널 (예: OpenID Connect 인증 페이지)에서 연결 테스트를 실행하면 Looker에서 다음 오류가 반환됩니다.

HttpClient:ConnectTimeoutError execution expired

원인

이 오류는 Looker (Google Cloud 핵심 서비스) 인스턴스에 외부 서비스 또는 ID 제공업체와 통신하는 데 필요한 네트워크 경로가 없음을 나타냅니다. 이 문제는 일반적으로 다음 조건 중 하나가 충족되는 경우에 발생합니다.

  • 경로 전파 누락: Cloud Router가 기본 설정을 사용하고 있으며 VPC 네트워크 경로 (예: 커스텀 공지 경로)를 Looker (Google Cloud 핵심 서비스) 인스턴스에 전파하지 않습니다.
  • 인터넷 NEG 누락: 외부 서비스로 트래픽을 라우팅하도록 인터넷 네트워크 엔드포인트 그룹 (NEG)이 VPC 네트워크에 구성되어 있지 않습니다.

해결 방법

이 문제를 해결하려면 다음 단계를 따르세요.

  1. Cloud Router 경로 전파 구성: 커스텀 공지 경로를 설정하여 Cloud Router가 필요한 VPC 네트워크 경로를 Looker (Google Cloud 핵심 서비스) 인스턴스로 전파하도록 구성되어 있는지 확인합니다.
  2. 인터넷 NEG 구성: Looker (Google Cloud 핵심 서비스) 인스턴스가 이그레스 트래픽을 외부 ID 공급자 또는 서비스로 라우팅할 수 있도록 VPC 네트워크에서 인터넷 NEG를 설정합니다.
  3. 비공개 서비스 액세스 확인: 비공개 서비스 액세스를 사용하는 인스턴스의 경우 VPC 네트워크가 Google 서비스와 올바르게 피어링되어 있는지 확인합니다. 자세한 내용은 비공개 서비스 액세스를 사용하여 외부 서비스에 액세스하기를 참고하세요.

Southbound Private Service Connect 연결 문제

데이터베이스 백엔드 또는 게시된 서비스에 대한 아웃바운드 연결에 Private Service Connect를 사용하는 Looker (Google Cloud 핵심 서비스) 인스턴스의 경우 엔드포인트 상태가 Accepted인 경우에도 연결 오류가 발생할 수 있습니다.

일반적인 문제는 다음과 같습니다.

  • 호스트 이름 확인 오류: 연결을 테스트할 때 Looker (Google Cloud 핵심 서비스)에 Unknown host 오류가 표시되면 구성된 호스트 이름이 비공개 네트워크의 DNS 레코드와 일치하고 백엔드 부하 분산기가 정상인지 확인합니다.
  • 연결 시간 초과: 연결 시간이 초과되면 VPC 방화벽 규칙을 확인하여 Private Service Connect NAT 서브넷에서 부하 분산기의 백엔드로의 인그레스 트래픽이 허용되는지 확인합니다.
  • 대기 또는 닫힘 상태: 서비스 연결 상태가 Pending 또는 Closed인 경우 소비자 프로젝트가 서비스 연결의 허용 목록에 있고 필수 TCP 상태 점검이 구성되어 있는지 확인합니다.

자세한 진단 워크플로 및 의사결정 트리는 southbound Private Service Connect 연결 문제 해결을 참고하세요.

비공개 서비스 액세스 라우팅 및 연결 문제

비공개 서비스 액세스를 사용하는 Looker (Google Cloud 핵심 서비스) 인스턴스의 경우 외부 서비스로의 아웃바운드 통신에는 적절한 경로 전파와 네트워크 인프라가 필요합니다.

  • 경로 전파: Cloud Router가 커스텀 공지 경로와 같은 VPC 네트워크 경로를 Looker (Google Cloud 핵심 서비스) 인스턴스에 전파하도록 구성되어 있는지 확인합니다.
  • 인터넷 네트워크 엔드포인트 그룹: 인스턴스가 비공개 서비스 액세스를 통해 외부 엔드포인트에 연결해야 하는 경우 VPC 네트워크에 인터넷 네트워크 엔드포인트 그룹 (NEG)이 구성되어 있는지 확인합니다.

이러한 경로 또는 엔드포인트 그룹이 누락되면 외부 엔드포인트에 대한 연결 테스트가 HttpClient:ConnectTimeoutError execution expired 오류와 함께 실패합니다.

자세한 내용은 비공개 서비스 액세스를 사용하여 외부 서비스에 액세스하기를 참고하세요.

진단 도구 및 로그

다음 도구와 로그를 사용하여 네트워킹 문제를 진단할 수 있습니다.

  • Cloud Logging: Cloud Logging에서 인스턴스 수준 로그를 확인하여 연결 실패 및 시스템 이벤트를 식별합니다. 자세한 내용은 인스턴스 로그 보기를 참고하세요.
  • Looker 시스템 활동: 관리자로 로그인할 수 있는 경우 시스템 활동에서 사용자 활동 대시보드를 검토합니다. 이 대시보드에는 최근 로그인 실패, 사용된 인증 방법, 오류 메시지가 표시됩니다. 자세한 내용은 사용자 활동 대시보드를 참고하세요.
  • VPC 흐름 로그: VPC 흐름 로그를 확인하여 Looker (Google Cloud 핵심 서비스)의 네트워크 트래픽이 대상 서브넷에 도달하는지 또는 방화벽 규칙에 의해 차단되는지 확인합니다.
  • Cloud Customer Care: 문제 해결 단계를 완료했지만 문제가 계속되면 Cloud Customer Care에 문의하여 도움을 받으세요.