Looker(Google Cloud 핵심 서비스) Private Service Connect 인스턴스 만들기

이 페이지에서는 gcloud CLI를 사용하여 Private Service Connect가 사용 설정된 Looker(Google Cloud 핵심 서비스) 인스턴스를 만드는 프로세스를 설명합니다.

Private Service Connect는 다음 기준을 충족하는 Looker(Google Cloud 핵심 서비스) 인스턴스에 사용 설정할 수 있습니다.

  • Looker(Google Cloud 핵심 서비스) 인스턴스는 새 인스턴스여야 합니다. Private Service Connect는 인스턴스 생성 시점에만 사용 설정할 수 있습니다.
  • 인스턴스에 공개 IP를 사용 설정할 수 없습니다.
  • 인스턴스 버전은 엔터프라이즈(core-enterprise-annual) 또는 임베드(core-embed-annual)여야 합니다.

시작하기 전에

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Private Service Connect 인스턴스를 만들려는 프로젝트를 선택합니다.

    프로젝트 선택기로 이동

  2. Google Cloud 콘솔에서 프로젝트에 Looker API를 사용 설정합니다. API를 사용 설정할 때는 API가 사용 설정되었는지 확인하기 위해 콘솔 페이지를 새로고침해야 할 수 있습니다.

    API 사용 설정

  3. OAuth 클라이언트를 설정하고 승인 사용자 인증 정보를 만듭니다. OAuth 클라이언트를 사용하면 인스턴스를 인증하고 인스턴스에 액세스할 수 있습니다. 다른 인증 방법을 사용하여 인스턴스에 사용자를 인증하는 경우에도 Looker(Google Cloud 핵심 서비스) 인스턴스를 만들려면 OAuth를 설정해야 합니다.
  4. 생성 중인 Looker(Google Cloud 핵심 서비스) 인스턴스에 VPC 서비스 제어 또는 고객 관리 암호화 키(CMEK)를 사용하려면 인스턴스를 만들기 전에 추가 설정이 필요합니다. 인스턴스를 만드는 동안 추가 버전 및 네트워크 구성이 필요할 수도 있습니다.

필요한 역할

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

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

VPC 서비스 제어 또는 고객 관리 암호화 키(CMEK)를 설정하려면 추가 IAM 역할이 필요할 수 있습니다. 자세한 내용은 해당 기능에 대한 문서 페이지를 참조하세요.

Private Service Connect 인스턴스 만들기

Private Service Connect 인스턴스를 만들려면 다음 플래그를 모두 사용해서 gcloud looker instances create 명령어를 실행합니다.


gcloud looker instances create INSTANCE_NAME \
--no-public-ip-enabled \
--psc-enabled \
--oauth-client-id=OAUTH_CLIENT_ID \
--oauth-client-secret=OAUTH_CLIENT_SECRET \
--region=REGION \
--edition=EDITION \
--psc-allowed-vpcs=ALLOWED_VPC,ADDITIONAL_ALLOWED_VPCS \
--async

다음을 바꿉니다.

  • INSTANCE_NAME: Looker(Google Cloud 핵심 서비스) 인스턴스의 이름입니다. 인스턴스 URL과 연결되어 있지 않습니다.
  • OAUTH_CLIENT_IDOAUTH_CLIENT_SECRET: OAuth 클라이언트를 설정할 때 만든 OAuth 클라이언트 ID 및 OAuth 암호입니다. 인스턴스가 생성되면 OAuth 클라이언트의 승인된 리디렉션 URI 섹션에 인스턴스의 URL을 입력합니다.
  • REGION: Looker(Google Cloud 핵심 서비스) 인스턴스가 호스팅되는 리전입니다. 구독 계약의 리전에 해당하는 리전을 선택하세요. 사용 가능한 리전은 Looker(Google Cloud 핵심 서비스) 위치 문서 페이지에 나열되어 있습니다.
  • EDITION: 인스턴스의 버전입니다. 가능한 값은 core-enterprise-annual 또는 core-embed-annual입니다. 인스턴스를 만든 후에는 버전을 변경할 수 없습니다. 버전을 변경하려면 가져오기 및 내보내기를 사용하여 Looker(Google Cloud 핵심 서비스) 인스턴스 데이터를 다른 버전으로 구성된 새 인스턴스로 이동할 수 있습니다.
  • ALLOWED_VPC: Looker(Google Cloud 핵심 서비스)에 대한 노스바운드(인그레스) 액세스가 허용되는 VPC입니다. 인스턴스가 있는 VPC 외부에서 인스턴스에 액세스하려면 VPC를 하나 이상 나열해야 합니다. 다음 형식 중 하나를 사용하여 VPC를 지정합니다.
    • projects/{project}/global/networks/{network}
    • https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
  • ADDITIONAL_ALLOWED_VPCS: Looker(Google Cloud 핵심 서비스)에 대한 Northbound 액세스를 허용하도록 추가 VPC를 쉼표로 구분된 목록으로 --psc-allowed-vpcs 플래그에 추가할 수 있습니다.

원하는 경우 매개변수를 추가하여 다른 인스턴스 설정을 적용할 수 있습니다.

    [--maintenance-window-day=MAINTENANCE_WINDOW_DAY
            --maintenance-window-time=MAINTENANCE_WINDOW_TIME]
    [--deny-maintenance-period-end-date=DENY_MAINTENANCE_PERIOD_END_DATE
            --deny-maintenance-period-start-date=DENY_MAINTENANCE_PERIOD_START_DATE
            --deny-maintenance-period-time=DENY_MAINTENANCE_PERIOD_TIME]
    --kms-key=KMS_KEY_ID
    [--fips-enabled]
    
다음을 바꿉니다.

  • MAINTENANCE_WINDOW_DAY: friday, monday, saturday, sunday, thursday, tuesday, wednesday 중 하나여야 합니다. 유지보수 기간 설정에 대한 자세한 내용은 Looker(Google Cloud 핵심 서비스)의 유지보수 정책 관리 문서 페이지를 참조하세요.
  • MAINTENANCE_WINDOW_TIMEDENY_MAINTENANCE_PERIOD_TIME: UTC 시간 기준 24시간 형식이어야 합니다(예: 13:00, 17:45).
  • DENY_MAINTENANCE_PERIOD_START_DATEDENY_MAINTENANCE_PERIOD_END_DATE: YYYY-MM-DD 형식이어야 합니다.
  • KMS_KEY_ID: 고객 관리 암호화 키(CMEK)를 설정할 때 생성된 키여야 합니다.

--fips-enabled 플래그를 포함하여 FIPS 140-2 Level 1 규정 준수를 사용 설정할 수 있습니다.

Private Service Connect 인스턴스를 만드는 프로세스는 다음과 같은 점에서 Looker(Google Cloud 핵심 서비스)(비공개 서비스 액세스) 인스턴스를 만드는 프로세스와 다릅니다.

  • Private Service Connect 설정에서는 --consumer-network--reserved-range 플래그가 필요하지 않습니다.
  • Private Service Connect 인스턴스에는 --no-public-ip-enabled--psc-enabled라는 두 가지 추가 플래그가 필요합니다.
  • --psc-allowed-vpcs 플래그는 쉼표로 구분된 VPC 목록입니다. 목록에서 VPC를 원하는 만큼 지정할 수 있습니다.

인스턴스 상태 확인

인스턴스를 만드는 데 약 40~60분이 걸립니다. 상태를 확인하려면 gcloud looker instances describe 명령어를 사용합니다.

gcloud looker instances describe INSTANCE_NAME --region=REGION

다음을 바꿉니다.

  • INSTANCE_NAME: Looker(Google Cloud 핵심 서비스) 인스턴스의 이름입니다.
  • REGION: Looker(Google Cloud 핵심 서비스) 인스턴스가 호스팅되는 리전입니다.

ACTIVE 상태에 도달하면 인스턴스가 준비된 것입니다.

외부 서비스에 대한 Private Service Connect 설정

Looker(Google Cloud 핵심 서비스) 인스턴스를 외부 서비스에 연결하려면 Private Service Connect를 사용하여 해당 외부 서비스를 게시해야 합니다. 게시하려는 서비스에 대해 Private Service Connect를 사용하여 서비스 게시 안내를 따릅니다.

서비스는 자동 승인 또는 명시적 승인으로 게시할 수 있습니다. 명시적 승인으로 게시하도록 선택한 경우 다음과 같이 서비스 연결을 구성해야 합니다.

  • 네트워크가 아닌 프로젝트를 사용하도록 서비스 연결 허용 목록을 설정합니다.
  • Looker 테넌트 프로젝트 ID를 허용 목록에 추가합니다.

다음 명령어를 실행하여 인스턴스가 생성된 후 Looker 테넌트 프로젝트 ID를 찾을 수 있습니다.

gcloud looker instances describe INSTANCE_NAME --region=REGION--format=json

다음을 바꿉니다.

  • INSTANCE_NAME: Looker(Google Cloud 핵심 서비스) 인스턴스의 이름입니다.
  • REGION: Looker(Google Cloud 핵심 서비스) 인스턴스가 호스팅되는 리전입니다.

명령어 결과의 looker_service_attachment_uri 필드에 Looker 테넌트 프로젝트 ID가 포함됩니다. 형식은 projects/{Looker tenant project ID}/regions/…입니다.

서비스 연결 URI

나중에 서비스에 연결하도록 Looker(Google Cloud 핵심 서비스) 인스턴스를 업데이트할 때는 전체 서비스 연결 URI가 필요합니다. URI는 서비스 연결을 만드는 데 사용한 프로젝트, 리전, 이름을 사용하여 다음과 같이 지정됩니다.

projects/{project}/regions/{region}/serviceAttachments/{name}

Looker(Google Cloud 핵심 서비스) Private Service Connect 인스턴스 업데이트

Looker(Google Cloud 핵심 서비스) Private Service Connect 인스턴스가 생성되면 다음과 같이 변경할 수 있습니다.

Southbound 연결 지정

--psc-service-attachment 플래그를 사용하여 이미 Private Service Connect를 설정한 외부 서비스에 대한 southbound(이그레스) 연결을 사용 설정합니다.

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--psc-service-attachment domain=DOMAIN_2,attachment=SERVICE_ATTACHMENT_URI_2 \
--region=REGION

다음을 바꿉니다.

  • INSTANCE_NAME: Looker(Google Cloud 핵심 서비스) 인스턴스의 이름입니다.
  • DOMAIN_1DOMAIN_2: 공개 서비스에 연결하는 경우 해당 서비스의 도메인 이름을 사용합니다. 비공개 서비스에 연결하는 경우 원하는 정규화된 도메인 이름을 사용합니다. 도메인 이름에는 다음 제한사항이 적용됩니다.

    • 각 southbound 연결은 단일 도메인을 지원합니다.
    • 도메인 이름은 세 개 이상의 부분으로 구성되어야 합니다. 예를 들어 mydomain.github.com은 허용되지만 github.com은 허용되지 않습니다.
    • 이름의 마지막 부분은 다음과 같을 수 없습니다.

      • googleapis.com
      • google.com
      • gcr.io
      • pkg.dev

    Looker(Google Cloud 핵심 서비스) 인스턴스 내에서 서비스에 대한 연결을 설정할 때 이 도메인을 서비스의 별칭으로 사용합니다.

  • SERVICE_ATTACHMENT_1SERVICE_ATTACHMENT_2: 연결하려는 게시된 서비스의 전체 서비스 연결 URI입니다. 각 서비스 연결 URI는 단일 도메인에서 액세스할 수 있습니다.

  • REGION: Looker(Google Cloud 핵심 서비스) 인스턴스가 호스팅되는 리전입니다.

Looker(Google Cloud 핵심 서비스) 인스턴스가 있는 리전이 아닌 리전의 비 Google 관리형 서비스에 연결하는 경우 프로듀서 부하 분산기에서 전역 액세스를 사용 설정합니다.

사용 설정해야 하는 모든 연결 포함

--psc-service-attachment 플래그를 사용하여 업데이트 명령어를 실행할 때마다 이전에 사용 설정된 연결을 포함하여 사용 설정할 모든 연결을 포함해야 합니다. 예를 들어 이전에 my-instance라는 인스턴스를 다음과 같이 www.cloud.com 도메인에 연결했다고 가정해 보겠습니다.

gcloud looker instances update my-instance
--psc-service-attachment domain=www.cloud.com,attachment=projects/123/regions/us-central1/serviceAttachment/cloud

다음 명령어를 실행하여 새 www.me.com 연결을 추가하면 www.cloud.com 연결이 삭제됩니다.

gcloud looker instances update my-instance \
--psc-service-attachment domain=www.me.com,attachment=projects/123/regions/us-central1/serviceAttachment/my-sa

www.me.com 연결을 추가할 때 www.cloud.com 연결 삭제를 방지하려면 다음과 같이 업데이트 명령어 내에 기존 연결과 새 연결 모두에 대해 별도의 psc-service-attachment 플래그를 포함합니다.

gcloud looker instances update my-instance \
--psc-service-attachment domain=www.cloud.com,attachment=projects/123/regions/us-central1/serviceAttachment/cloud \
--psc-service-attachment domain=www.me.com,attachment=projects/123/regions/us-central1/serviceAttachment/my-sa

Southbound 연결 상태 확인

gcloud looker instances describe --format=json 명령어를 다시 실행하여 southbound(이그레스) 연결 상태를 확인할 수 있습니다. 각 서비스 연결을 connection_status 필드로 채워야 합니다.

모든 southbound 연결 삭제

모든 southbound(이그레스) 연결을 삭제하려면 다음 명령어를 실행합니다.

gcloud looker instances update MY_INSTANCE \ --clear-psc-service-attachments \
--region=REGION

다음을 바꿉니다.

  • INSTANCE_NAME: Looker(Google Cloud 핵심 서비스) 인스턴스의 이름입니다.
  • REGION: Looker(Google Cloud 핵심 서비스) 인스턴스가 호스팅되는 리전입니다.

허용된 VPC 업데이트

--psc-allowed-vpcs 플래그를 사용하여 인스턴스에 대한 northbound 액세스를 승인한 VPC 목록을 업데이트합니다.

허용된 VPC를 업데이트할 때는 업데이트 후에 적용할 전체 목록을 지정해야 합니다. 예를 들어 VPC ALLOWED_VPC_1이 이미 허용되어 있고 VPC ALLOWED_VPC_2를 추가하려고 한다고 가정해 보겠습니다. VPC ALLOWED_VPC_2가 계속 허용되도록 하면서 VPC ALLOWED_VPC_1을 추가하려면 다음과 같이 --psc-allowed-vpcs 플래그를 추가합니다.

gcloud looker instances update INSTANCE_NAME --psc-allowed-vpcs=ALLOWED_VPC_1,ALLOWED_VPC_2 --region=REGION

다음을 바꿉니다.

  • INSTANCE_NAME: Looker(Google Cloud 핵심 서비스) 인스턴스의 이름입니다.
  • ALLOWED_VPC_1ALLOWED_VPC_2: Looker(Google Cloud 핵심 서비스)로의 인그레스가 허용되는 VPC입니다. 다음 형식 중 하나를 사용하여 허용되는 각 VPC를 지정합니다.
    • projects/{project}/global/networks/{network}
    • https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
  • REGION: Looker(Google Cloud 핵심 서비스) 인스턴스가 호스팅되는 리전입니다.

허용된 모든 VPC 삭제

허용된 모든 VPC를 삭제하려면 다음 명령어를 실행합니다.

gcloud looker instances update MY_INSTANCE \ --clear-psc-allowed-vpcs \
--region=REGION

다음을 바꿉니다.

  • INSTANCE_NAME: Looker(Google Cloud 핵심 서비스) 인스턴스의 이름입니다.
  • REGION: Looker(Google Cloud 핵심 서비스) 인스턴스가 호스팅되는 리전입니다.

인스턴스에 대한 northbound 액세스

Looker(Google Cloud 핵심 서비스)(Private Service Connect) 인스턴스가 생성되면 사용자가 인스턴스에 액세스할 수 있도록 northbound 액세스를 설정할 수 있습니다.

다른 VPC 네트워크에서 인스턴스에 액세스하려면 먼저 Private Service Connect 엔드포인트 만들기 안내를 따르세요. 네트워크에서 Looker(Google Cloud 핵심 서비스) 인스턴스에 대한 northbound 액세스를 허용하는지 확인하고 엔드포인트를 만들 때 다음 가이드라인을 따르세요.

  • 대상 서비스 필드(Google Cloud 콘솔의 경우) 또는 SERVICE_ATTACHMENT 변수(Google Cloud CLI 또는 API 안내를 따르는 경우)를 Looker 서비스 연결 URI로 설정합니다. Looker 서비스 연결 URI는 콘솔의 인스턴스 구성 페이지에서 세부정보을 선택하거나 다음 명령어를 실행하여 찾을 수 있습니다.

    gcloud looker instances describe INSTANCE_NAME --region=REGION--format=json

    다음을 바꿉니다.

    • INSTANCE_NAME: Looker(Google Cloud 핵심 서비스) 인스턴스의 이름입니다.
    • REGION: Looker(Google Cloud 핵심 서비스) 인스턴스가 호스팅되는 리전입니다.
  • Looker(Google Cloud 핵심 서비스) 인스턴스와 동일한 리전에 호스팅되는 모든 서브넷을 사용할 수 있습니다.

  • 전역 액세스를 사용 설정하지 마세요.

하이브리드 네트워킹 환경에서 인스턴스에 액세스하려면 Private Service Connect를 통해 Looker(Google Cloud 핵심 서비스) 인스턴스에 대한 Northbound 액세스 문서 페이지의 안내에 따라 커스텀 도메인을 설정하고 인스턴스에 액세스하면 됩니다.

다음 단계