Private Service Connect를 사용한 Looker (Google Cloud 핵심 서비스) 인스턴스에 대한 공개 인바운드 액세스

Looker (Google Cloud 핵심 서비스) 인스턴스에 대한 공개 인바운드 액세스를 제공하려면 커스텀 도메인 인증으로 Private Service Connect를 구성하면 됩니다. Private Service Connect는 클라이언트가 VPC 네트워크에서 비공개로 연결하거나 외부 부하 분산기를 통해 공개적으로 연결할 수 있는 두 가지 방법을 제공합니다.

Looker (Google Cloud 핵심 서비스)의 일반적인 배포는 애플리케이션 부하 분산기가 있는 커스텀 도메인과 Private Service Connect 백엔드를 사용합니다. 이 구성은 사용자 액세스를 위한 보안 및 제어 계층을 추가하는 데 도움이 되는 커스텀 도메인 인증서 인증을 사용합니다. 이 기능을 사용하려면 Looker (Google Cloud 핵심 서비스) 인스턴스를 만드는 동안 Private Service Connect를 사용 설정해야 합니다.

Private Service Connect를 사용하여 Looker (Google Cloud 핵심 서비스)에 액세스하는 경우 사용자는 서비스 소비자이고 Looker (Google Cloud 핵심 서비스)는 서비스 프로듀서입니다. Looker (Google Cloud 핵심 서비스)에 대한 인바운드 액세스를 사용하려면 소비자 VPC를 Looker (Google Cloud 핵심 서비스) Private Service Connect 인스턴스의 허용된 VPC로 추가해야 합니다.

커스텀 도메인 만들기

Looker(Google Cloud 핵심 서비스) 인스턴스가 생성된 후의 첫 번째 단계는 커스텀 도메인을 설정하고 인스턴스에 대한 OAuth 사용자 인증 정보를 업데이트하는 것입니다. 다음 섹션에서는 이 프로세스를 안내합니다.

비공개 연결 (Private Service Connect) 인스턴스의 커스텀 도메인을 만들 때 커스텀 도메인은 다음 요구사항을 충족해야 합니다.

  • 커스텀 도메인은 하위 도메인 하나 이상을 포함하여 최소 3개 이상의 부분으로 구성되어야 합니다. 예를 들면 subdomain.domain.com입니다.
  • 커스텀 도메인에는 다음이 포함되어서는 안 됩니다.
    • looker.com
    • google.com
    • googleapis.com
    • gcr.io
    • pkg.dev

커스텀 도메인 설정

Looker(Google Cloud 핵심 서비스) 인스턴스를 만든 후 커스텀 도메인을 설정할 수 있습니다.

시작하기 전에

Looker(Google Cloud 핵심 서비스) 인스턴스의 도메인을 맞춤설정하려면 먼저 도메인의 DNS 레코드가 저장된 위치를 확인하여 업데이트해야 합니다.

필요한 역할

Looker (Google Cloud 핵심 서비스) 인스턴스의 커스텀 도메인을 만드는 데 필요한 권한을 얻으려면 관리자에게 인스턴스가 있는 프로젝트에 대한Looker 관리자 (roles/looker.admin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

커스텀 도메인 만들기

Google Cloud 콘솔에서 다음 단계에 따라 Looker (Google Cloud 핵심 서비스) 인스턴스의 도메인을 맞춤설정합니다.

  1. 인스턴스 페이지에서 커스텀 도메인을 설정하려는 인스턴스의 이름을 클릭합니다.
  2. 커스텀 도메인 탭을 클릭합니다.
  3. 커스텀 도메인 추가 를 클릭합니다.

    그러면 새 커스텀 도메인 추가 패널이 열립니다.

  4. 문자, 숫자, 대시만 사용하여 사용하려는 웹 도메인의 호스트 이름을 최대 64자(예: looker.examplepetstore.com)로 입력합니다.

  5. 계속 버튼을 클릭합니다.

  6. DNS 레코드 업데이트 섹션이 열립니다. 인그레스 공개 IP가 데이터 필드에 표시됩니다.

  7. 새 커스텀 도메인 추가 패널에서 완료 를 클릭하여 커스텀 도메인 탭으로 돌아갑니다.

커스텀 도메인을 업데이트하는 데 10~15분이 걸립니다.

커스텀 도메인이 설정되면 Google Cloud 콘솔의 Looker (Google Cloud 핵심 서비스) 인스턴스 세부정보 페이지커스텀 도메인 탭에 있는 도메인 열에 표시됩니다.

커스텀 도메인이 생성된 후에는 관련 정보를 확인하거나 삭제할 수 있습니다.

OAuth 사용자 인증 정보 업데이트

  1. 콘솔에서 Google Cloud API 및 서비스 > 사용자 인증 정보 로 이동하고 Looker (Google Cloud 핵심 서비스) 인스턴스에서 사용하는 OAuth 클라이언트의 OAuth 클라이언트 ID를 선택하여 OAuth 클라이언트에 액세스합니다.
  2. URI 추가 버튼을 클릭하여 OAuth 클라이언트의 승인된 JavaScript 원본 필드를 업데이트하여 조직에서 Looker (Google Cloud 핵심 서비스)에 액세스하는 데 사용할 DNS 이름을 동일하게 포함합니다. 예를 들어 커스텀 도메인이 looker.examplepetstore.com이면 URI로 looker.examplepetstore.com을 입력합니다.

  3. Looker(Google Cloud 핵심 서비스) 인스턴스를 만들 때 사용한 OAuth 사용자 인증 정보승인된 리디렉션 URI 목록에서 커스텀 도메인을 업데이트하거나 추가합니다. URI 끝에 /oauth2callback을 추가합니다. 예를 들어 커스텀 도메인이 looker.examplepetstore.com이면 looker.examplepetstore.com/oauth2callback을 입력합니다.

Looker (Google Cloud 핵심 서비스)에 대한 공개 액세스

커스텀 도메인을 설정한 후 다음 단계는 DNS 승인을 사용하여 자체 서명된 인증서 또는 Google 관리형 인증서를 만드는 것입니다. 인증서가 생성되면 Private Service Connect 백엔드를 백엔드 서비스로 사용하여 외부 리전 애플리케이션 부하 분산기를 배포할 수 있습니다. 부하 분산기가 배포되면 고객 도메인과 부하 분산기 IP 주소를 A 레코드로 사용하여 공개 DNS를 업데이트할 수 있습니다.

필요한 역할

역할

설명

Compute 네트워크 관리자 (roles/compute.networkAdmin)

HTTPS 대상 프록시 만들기 및 관리를 포함하여 Looker (Google Cloud 핵심 서비스) 인스턴스에 대한 연결을 시작하는 VPC 네트워크에 대한 전체 제어 권한을 부여합니다.

Compute 부하 분산기 관리자 역할 (roles/compute.loadBalancerAdmin)

Private Service Connect 백엔드를 만듭니다.

Looker 관리자 (roles/looker.admin)

Private Service Connect에 사용 설정된 인스턴스 만들기 및 커스텀 도메인 만들기를 포함하여 Looker(Google Cloud 핵심 서비스) 리소스에 대한 전체 제어 권한을 부여합니다.

DNS 관리자(roles/dns.admin)(선택사항)

DNS 영역 및 레코드를 포함한 Cloud DNS 리소스에 대한 전체 제어 권한을 부여합니다.

인증서 관리자 소유자 (roles/certificatemanager.owner) (선택사항)

인증서 관리자 리소스를 만들고 관리하는 데 필요합니다.

네트워크 설정

다음 네트워크 구성요소가 필요합니다.

Private Service Connect로 배포된 Looker (Google Cloud 핵심 서비스)는 부하 분산기와 Google Cloud 통합된 백엔드라는 Private Service Connect 네트워크 엔드포인트 그룹 (NEG)을 지원합니다. 백엔드를 사용하여 Private Service Connect가 사용 설정된 Looker (Google Cloud 핵심 서비스) 인스턴스에 공개적으로 액세스하는 방법에 대한 안내는 Looker PSC Northbound 리전 외부 L7 ALB Codelab을 참고하세요.

공개 액세스를 위한 Private Service Connect 백엔드 네트워크 설정 예시는 다음 다이어그램에 나와 있습니다.

백엔드를 사용하여 온프레미스에서 Looker (Google Cloud 핵심 서비스) 인스턴스에 액세스하기 위한 네트워크 아키텍처입니다.

다이어그램에 표시된 대로 공개 클라이언트는 A 레코드로 외부 리전 애플리케이션 부하 분산기의 IP 주소를 반환하는 Looker (Google Cloud 핵심 서비스) 고객 도메인을 지정하여 DNS 조회를 실행하여 Looker (Google Cloud 핵심 서비스)에 액세스합니다. 트래픽이 부하 분산기에 수신되면 백엔드 서비스 (Private Service Connect 백엔드로 구성됨)가 Looker (Google Cloud 핵심 서비스)를 호스팅하는 Google 관리형 프로듀서 VPC의 서비스 연결에 연결됩니다. 소비자 VPC 네트워크에서 Looker (Google Cloud 핵심 서비스) 인스턴스에 인그레스를 허용하는지 확인합니다.

문제 해결

Private Service Connect 백엔드를 사용하여 Looker (Google Cloud 핵심 서비스) 인스턴스에 대한 인바운드 액세스를 구성할 때 인스턴스를 프로비저닝하지 못하거나 부하 분산기가 백엔드 서비스에 연결할 수 없는 문제가 발생할 수 있습니다.

부하 분산기 로그에 failed_to_pick_backendno healthy upstream (HTTP 503) 오류가 표시되고 네트워크 엔드포인트 그룹 (NEG)이 pending 상태로 유지되는 경우 소비자 프로젝트의 필수 네트워킹 구성 단계가 누락된 것입니다. 특히 소비자 프로젝트는 Looker (Google Cloud 핵심 서비스) 프로듀서 서비스에 연결할 권한이 없거나 소비자 VPC에 네트워크 연결 리소스가 생성되지 않았습니다.

이러한 문제를 해결하려면 다음 필수 네트워킹 구성 단계를 완료해야 합니다.

  1. VPC 허용 목록: Looker (Google Cloud 핵심 서비스) 설정에서 인바운드 연결에 허용된 VPC 목록에 소비자 네트워크를 추가합니다. 이 네트워크를 추가하면 소비자 VPC가 Looker (Google Cloud 핵심 서비스) 프로듀서 서비스에 연결할 수 있는 권한이 부여됩니다.
  2. 네트워크 연결 구성: 소비자 VPC에서 네트워크 연결 리소스를 만들고 Looker (Google Cloud 핵심 서비스) 인스턴스와 연결합니다.

다음 단계