이 페이지에서는 Private Service Connect를 사용하는 비공개 IP 구성이 있는 Looker (Google Cloud 핵심 서비스) 인스턴스의 southbound (아웃바운드) 연결 문제를 해결하는 방법을 설명합니다.
southbound Private Service Connect 연결에 실패가 발생하는 경우 다음 의사결정 트리를 사용하여 문제 해결을 시작하세요.
자세한 내용은 Private Service Connect를 사용하여 외부 서비스에 대한 Looker (Google Cloud 핵심 서비스) 아웃바운드 액세스 문서를 참조하세요.
연결 오류 문제 해결
Private Service Connect 연결 상태가 Accepted인 경우에도 Looker (Google Cloud 핵심 서비스)가 서비스에 연결하려고 할 때 연결 오류가 발생할 수 있습니다.
호스트 이름 확인 문제
데이터베이스 연결을 테스트할 때 또는 Looker (Google Cloud 핵심 서비스)가 서비스에 연결하려고 할 때 Looker (Google Cloud 핵심 서비스) UI에 'Unknown host' 오류가 표시되면 southbound Private Service Connect 연결에 대해 구성한 호스트 이름의 DNS 변환이 실패했음을 나타낼 수 있습니다.
이 경우 다음 문제 해결 단계를 따르세요.
- 서비스를 위해 Looker (Google Cloud 핵심 서비스)에 구성된 호스트 이름이 올바르고 DNS 레코드가 있어야 하는 호스트 이름과 일치하는지 확인합니다.
- 부하 분산기와 백엔드 서비스가 정상 상태인지 확인합니다.
- 프로듀서 VPC 내의 VM에서 연결을 테스트하여 부하 분산기의 전달 규칙을 통해 백엔드 서비스에 연결할 수 있는지 확인합니다. 부하 분산기와 동일한 VPC 및 리전에 임시 VM을 만들고
curl또는telnet과 같은 도구를 사용하여 서비스의 IP 주소 및 포트에 대한 연결을 테스트할 수 있습니다.
호스트 이름 확인 문제가 계속되면 Cloud Customer Care에 문의하여 지원을 받으세요.
연결 제한 시간
Looker (Google Cloud 핵심 서비스)에서 서비스로의 연결 시간이 초과되는 경우 Private Service Connect NAT 서브넷의 트래픽을 차단하는 프로듀서 VPC의 방화벽 규칙 때문이거나 다른 네트워크 문제 때문일 수 있습니다.
- 방화벽 규칙을 검토하여 Private Service Connect NAT 서브넷에서 부하 분산기의 백엔드로의 인그레스 트래픽이 허용되는지 확인합니다.
- Virtual Private Cloud 흐름 로그 및 부하 분산기 로깅 (예: 내부 애플리케이션 부하 분산기 로깅 또는 내부 패스 스루 네트워크 부하 분산기 로깅)을 사용하여 연결 문제를 진단합니다. Virtual Private Cloud 흐름 로그를 사용하면 NAT 서브넷의 트래픽이 부하 분산기에 도달하는지 확인할 수 있으며 부하 분산기 로그는 트래픽이 정상 백엔드로 성공적으로 전달되는지 여부에 대한 세부정보를 제공할 수 있습니다.
southbound Private Service Connect 구성 확인
Looker (Google Cloud 핵심 서비스) 인스턴스와 네트워크 간의 연결이 올바르게 설정되었는지 확인하려면 다음 단계를 따르세요.
Looker (Google Cloud 핵심 서비스) 인스턴스 Private Service Connect 엔드포인트 상태 확인
Looker (Google Cloud 핵심 서비스) 인스턴스의 구성 내에서 southbound 서비스 연결 연결의 상태를 확인하려면 다음 단계를 따르세요.
- 콘솔에서 Looker 페이지로 이동합니다. Google Cloud
- 연결을 확인할 인스턴스의 이름을 클릭합니다.
- 네트워킹 섹션의 서비스 연결에서 문제 해결 중인 엔드포인트를 찾습니다.
- 상태 가
Accepted인지 확인합니다.
상태가 Pending인 경우 다음 중 한 가지 이유 때문일 수 있습니다.
- 서비스 연결의 연결 환경설정이 '모든 연결 자동 수락'으로 설정되어 있지 않고 연결이 수동으로 승인되지 않았습니다.
- Looker (Google Cloud 핵심 서비스) 인스턴스의 프로젝트가 서비스 연결의 허용 목록에 없습니다.
Pending 상태를 해결하려면 서비스 연결 구성을 확인하고 연결 환경설정이 Automatically accept all connections로 설정되어 있는지 또는 Looker (Google Cloud 핵심 서비스) 프로젝트가 명시적으로 허용되었는지 확인합니다.
도메인 또는 연결 URI가 올바르지 않으면 올바른 값으로 gcloud looker instances update 명령어를 다시 실행합니다. 이 명령어는 기존의 모든 연결을 덮어쓰므로 선택한 모든 연결을 포함해야 합니다. 자세한 내용은 Looker (Google Cloud 핵심 서비스) 인스턴스 설정 수정을 참조하세요.
프로듀서의 서비스 연결 구성 확인
또한 프로듀서 프로젝트에서 서비스 연결의 구성을 확인하여 Looker (Google Cloud 핵심 서비스)의 연결을 수신하도록 올바르게 설정되어 있는지 확인해야 합니다.
콘솔에서 네트워크 서비스 > Private Service Connect로 이동하고 게시된 서비스 탭을 클릭합니다. Google Cloud 연결에 사용되는 서비스 연결을 클릭하여 세부정보를 확인합니다.
다음 요구사항이 충족되는지 확인합니다.
- 서비스 연결은 유효한 대상 전달 규칙과 전용 Private Service Connect NAT 서브넷으로 구성됩니다.
- 연결 환경설정 이
Accept automatically로 설정되어 있습니다. 연결 환경설정이Accept for selected networks또는Accept for selected projects인 경우 Looker (Google Cloud 핵심 서비스) 프로젝트의 연결이 승인되었는지 확인합니다. - 대상 서비스가 올바른 전달 규칙을 가리킵니다.
- NAT 서브넷이 올바르게 구성되어 있고 충분한 IP 공간이 있습니다.
- Looker (Google Cloud 핵심 서비스) 인스턴스에 제공된 서비스 연결 URI가 올바릅니다.
콘솔을 사용하거나 gcloud compute service-attachments update 명령어를 실행하여 서비스 연결 구성을 업데이트할 수 있습니다. Google Cloud
방화벽 규칙 확인
Looker (Google Cloud 핵심 서비스)의 트래픽은 Private Service Connect NAT 서브넷을 통해 VPC로 들어갑니다. 이 트래픽이 부하 분산기의 백엔드에 도달하도록 허용하는 방화벽 규칙이 있어야 합니다.
방화벽 규칙을 확인하려면 다음 단계를 따르세요.
- 서비스 연결에 구성된 Private Service Connect NAT 서브넷의 IP 범위를 식별합니다.
- 콘솔에서 프로듀서 VPC의 방화벽 페이지로 이동합니다. Google Cloud
- Private Service Connect NAT 서브넷에서 서비스에서 사용하는 포트의 부하 분산기 백엔드로의 TCP 트래픽을 허용하는 인그레스 방화벽 규칙이 있는지 확인합니다. 규칙은 다음 기준을 충족해야 합니다.
- 소스 필터: 소스 IP 범위에는 Private Service Connect NAT 서브넷 범위가 포함됩니다.
- 대상: 규칙은 내부 부하 분산기 백엔드에 적용됩니다 (예: 네트워크 태그를 통해).
- 프로토콜 및 포트: 규칙은 대상 서비스의 포트에서 TCP 트래픽을 허용합니다.
이러한 규칙이 없거나 우선순위가 더 높은 규칙이 이 트래픽을 거부하는 경우 Private Service Connect NAT 서브넷의 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다.
부하 분산기 및 네트워크 엔드포인트 그룹 구성 확인
서비스는 내부 부하 분산기와 서비스를 가리키는 네트워크 엔드포인트 그룹 (NEG)을 통해 Looker (Google Cloud 핵심 서비스)에 노출됩니다. 이러한 구성요소가 정상 상태이고 올바르게 구성되었는지 확인합니다.
NEG 구성을 확인하려면 다음 단계를 따르세요.
- 콘솔에서 네트워크 서비스 > 부하 분산으로 이동합니다. Google Cloud
- 부하 분산기를 클릭한 후 백엔드 서비스를 클릭하여 세부정보를 확인합니다.
- 백엔드 서비스 세부정보에서 네트워크 엔드포인트 그룹의 이름을 클릭합니다.
- 네트워크 엔드포인트 그룹 유형을 확인합니다.
- Cloud VPN 또는 Cloud Interconnect를 통해 연결할 수 있는 온프레미스 또는 멀티 클라우드 서비스의 경우 유형은 하이브리드 연결 NEG (
NON_GCP_PRIVATE_IP_PORT)여야 합니다. - Git 제공업체와 같은 공개 인터넷 서비스의 경우 유형은 인터넷 NEG (
INTERNET_FQDN_PORT)여야 합니다.
- Cloud VPN 또는 Cloud Interconnect를 통해 연결할 수 있는 온프레미스 또는 멀티 클라우드 서비스의 경우 유형은 하이브리드 연결 NEG (
- 네트워크 엔드포인트 섹션에서 IP 주소 및 포트 (하이브리드 NEG의 경우) 또는 FQDN 및 포트 (인터넷 NEG의 경우)가 대상 서비스와 올바르게 일치하는지 확인합니다.
NEG가 잘못 구성된 경우 NEG를 업데이트하거나 새로 만들어야 할 수 있습니다.
DNS 변환 및 라우팅 확인
Looker (Google Cloud 핵심 서비스)에서 연결할 수 없지만 다른 문제 해결 단계에서 문제가 없는 것으로 나타나면 프로듀서 VPC 내에서 연결을 테스트하여 문제를 격리합니다.
- 내부 부하 분산기와 동일한 프로듀서 VPC 및 서브넷에 임시 Compute Engine VM을 만듭니다.
- 해당 VM에서
telnet또는nc와 같은 도구를 사용하여 서비스의 포트에서 부하 분산기의 전달 규칙 IP 주소에 대한 연결을 테스트합니다(예:telnet LOAD_BALANCER_IP TARGET_PORT).
VM에서 연결할 수 있는 경우 문제는 Looker (Google Cloud 핵심 서비스)에서 VPC로의 경로에 있을 가능성이 높습니다. 서비스 연결 및 Looker (Google Cloud 핵심 서비스) 인스턴스 구성을 다시 확인합니다.
VM에서 연결할 수 없는 경우 문제는 프로듀서 VPC에 있을 가능성이 높습니다. VPC 내에서 부하 분산기의 전달 규칙, 백엔드 서비스 상태, 방화벽 규칙을 확인합니다.
특정 서비스 연결 문제 조사
일부 대상 서비스에는 Private Service Connect를 통해 연결할 때 고유한 요구사항 또는 종속 항목이 있습니다.
Snowflake: 보조 스토리지 엔드포인트
Snowflake JDBC 드라이버는 기본 데이터베이스 호스트가 아닌 중간 클라우드 스토리지 위치 (예: Amazon S3 또는 Azure Blob Storage)에서 결과 집합 또는 메타데이터를 다운로드하는 경우가 많습니다. Looker (Google Cloud 핵심 서비스)가 이러한 보조 엔드포인트에 연결할 수 없는 경우 특히 큰 결과 집합의 경우 연결 또는 쿼리가 실패할 수 있습니다.
이 문제를 해결하려면 다음 단계를 따르세요.
- Looker (Google Cloud 핵심 서비스) 로그에서
s3.amazonaws.com또는blob.core.windows.net과 같은 외부 스토리지 도메인을 참조하는 제한 시간 오류를 확인합니다. - Snowflake 인스턴스에 필요한 스토리지 엔드포인트의 정확한 FQDN을 식별합니다. 이 정보는 Snowflake 로그에서 찾거나 Snowflake 지원팀에 문의하여 확인할 수 있습니다.
- 각 외부 FQDN은 별도의 southbound 연결로 구성되어야 합니다. 스토리지 엔드포인트의 FQDN에 대한 새 Private Service Connect 구성 (인터넷 NEG, 부하 분산기, 서비스 연결)을 만듭니다.
- Looker (Google Cloud 핵심 서비스) 인스턴스의 구성에 새 서비스 연결을 추가합니다.
공개 Git 제공업체: 인터넷으로의 이그레스
비공개 IP 구성이 있는 Looker (Google Cloud 핵심 서비스) 인스턴스에는 공개 인터넷으로의 기본 경로가 없습니다. GitHub 또는 GitLab과 같은 공개 Git 제공업체에 연결하려면 이그레스 경로를 명시적으로 구성해야 합니다.
이 문제를 해결하려면 다음 단계를 따르세요.
- 비공개 IP 인스턴스에서 공개 Git 제공업체에 연결하려고 하는지 확인합니다. 연결 실패는 일반적인 제한 시간 또는 SSL 핸드셰이크 오류로 나타나는 경우가 많습니다.
- 인터넷 NEG 를 사용하여 southbound Private Service Connect 연결을 만듭니다.
- 인터넷 NEG가 올바른 포트 (예: SSH의 경우 포트 22 또는 HTTPS의 경우 포트 443)로 구성되어 있는지 확인합니다.
- FQDN 기반 인터넷 NEG로 라우팅 루프를 만드는 VPC에 DNS 재정의 정책이 있는 경우 대신 IP 기반 인터넷 NEG(
INTERNET_IP_PORT)를 사용하는 것이 좋습니다.
작업 허브 및 Marketplace
기본 Google 호스팅 Looker (Google Cloud 핵심 서비스) Marketplace 및 작업 허브는 공개 인터넷 서비스이며 기본적으로 비공개 IP 인스턴스에서 액세스할 수 없습니다.
- 작업 허브: 비공개 IP 인스턴스에서 작업 허브를 사용하려면 자체 호스팅 비공개 작업 허브 서버를 배포하고 southbound Private Service Connect 연결을 사용하여 연결해야 합니다.
- Marketplace: Looker Marketplace에 연결하려면 인스턴스의 아웃바운드
연결 구성에서 Marketplace에 대한 연결을 사용 설정하면 됩니다. 사용 설정되면 Looker (Google Cloud 핵심 서비스)는
Secure Web Proxy를 사용하여
Marketplace 및
github.com에 직접 연결합니다. 자세한 내용은 Connect to the Looker Marketplace를 참조하세요. 이 연결을 사용 설정하지 않으면 Git 저장소에서 확장 프로그램 또는 블록을 수동으로 다운로드하여 로컬 프로젝트로 설치해야 합니다.
로그 확인
Virtual Private Cloud 흐름 로그 및 부하 분산기 로깅 (예: 내부 애플리케이션 부하 분산기 로깅 또는 내부 패스 스루 네트워크 부하 분산기 로깅)은 연결 문제에 대한 추가 통계를 제공할 수 있습니다.
부하 분산기에서 사용하는 서브넷에서 Virtual Private Cloud 흐름 로그를 사용 설정하고 내부 부하 분산기의 백엔드 서비스에서 로깅을 사용 설정한 후 Looker (Google Cloud 핵심 서비스)에서 연결하여 오류를 재현해 보세요.
Cloud Logging에서 Private Service Connect NAT 서브넷 IP 범위에서 부하 분산기의 IP 주소로의 트래픽을 필터링하여 Virtual Private Cloud 흐름 로그를 쿼리합니다. 트래픽이 부하 분산기에 도달하는 경우 부하 분산 로그를 쿼리하여 백엔드에 대한 연결 상태에 관한 정보를 확인합니다.