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 を有効にすることはできません。
  • インスタンスのエディションは、Enterprise(core-enterprise-annual)または Embed(core-embed-annual)にする必要があります。

始める前に

  1. Google Cloud コンソールのプロジェクトの選択ページで、Private Service Connect インスタンスを作成するプロジェクトを選択します。

    プロジェクト セレクタに移動

  2. Google Cloud コンソール でプロジェクトの Looker API を有効化します。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。

    API を有効にする

  3. OAuth クライアントを設定し、認証情報を作成します。OAuth クライアントを使用すると、認証を行ってインスタンスにアクセスできます。インスタンスに対してユーザーを認証する別の認証方法を使用している場合でも、Looker(Google Cloud コア)インスタンスを作成するには OAuth を設定する必要があります。
  4. Looker(Google Cloud コア)インスタンスで、VPC Service Controls または顧客管理の暗号鍵(CMEK)を使用する場合は、インスタンスを作成する前に追加の設定が必要です。また、インスタンスの作成時に、追加のエディションやネットワーク構成が必要になることもあります。

必要なロール

Looker(Google Cloud コア)インスタンスの作成に必要な権限を取得するには、インスタンスを配置するプロジェクトに対する Looker 管理者 roles/looker.admin)IMA ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

VPC Service Controls または顧客管理の暗号鍵(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-annualcore-embed-annualです。インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。
  • ALLOWED_VPC: Looker(Google Cloud コア)へのノースバウンド(内向き)アクセスが許可される VPC。インスタンスが配置されている VPC の外部からインスタンスにアクセスするには、少なくとも 1 つの VPC を一覧表示する必要があります。次のいずれかの形式を使用して VPC を指定します。
    • projects/{project}/global/networks/{network}
    • https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}
  • ADDITIONAL_ALLOWED_VPCS: Looker(Google Cloud コア)へのノースバウンド アクセスを許可する追加の 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 は、次のいずれかの値を設定する必要があります: fridaymondaysaturdaysundaythursdaytuesdaywednesday。メンテナンスの時間枠の設定の詳細については、Looker(Google Cloud コア)のメンテナンス ポリシーを管理するドキュメント ページをご覧ください。
  • MAINTENANCE_WINDOW_TIMEDENY_MAINTENANCE_PERIOD_TIME: 24 時間形式の UTC(例: 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 レベル 1 コンプライアンスを有効にできます。

Private Service Connect インスタンスを作成するプロセスは、Looker(Google Cloud コア)(プライベート サービス アクセス)インスタンスを作成するプロセスとは次の点で異なります。

  • Private Service Connect の設定では、--consumer-network フラグと --reserved-range フラグは必要ありません。
  • Private Service Connect インスタンスには、--no-public-ip-enabled--psc-enabled の 2 つのフラグが必要です。
  • --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 インスタンスが作成されたら、次の変更を加えることができます。

サウスバウンド接続を指定する

--psc-service-attachment フラグを使用して、Private Service Connect を設定済みの外部サービスへのサウスバウンド(外向き)接続を有効にします。

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: 一般公開サービスに接続する場合は、サービスのドメイン名を使用します。限定公開サービスに接続する場合は、任意の完全修飾ドメイン名を使用します。ドメイン名には次の制限が適用されます。

    • 各サウスバウンド接続で 1 つのドメインがサポートされます。
    • ドメイン名は 3 つ以上の部分で構成する必要があります。たとえば、mydomain.github.com は使用できますが、github.com は使用できません。
    • 名前の最後の部分は次のいずれかにはなりません。

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

    Looker(Google Cloud コア)インスタンス内からサービスへの接続を設定する場合は、このドメインをサービスのエイリアスとして使用します。

  • SERVICE_ATTACHMENT_1SERVICE_ATTACHMENT_2: 接続する公開サービスの完全なサービス アタッチメント URI。各サービス アタッチメント URI には、1 つのドメインからアクセスできます。

  • 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

サウスバウンド接続のステータスを確認する

gcloud looker instances describe --format=json コマンドを再度実行すると、サウスバウンド(外向き)接続のステータスを確認できます。各サービス アタッチメントに connection_status フィールドを入力する必要があります。

すべてのサウスバウンド接続を削除する

すべてのサウスバウンド(外向き)接続を削除するには、次のコマンドを実行します。

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 フラグを使用して、インスタンスへのノースバウンド アクセスを承認した 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 コア)インスタンスがホストされるリージョン。

インスタンスへのノースバウンド アクセス

Looker(Google Cloud コア)の(Private Service Connect)インスタンスを作成したら、ユーザーがインスタンスにアクセスできるようにノースバウンド アクセスを設定できます。

別の VPC ネットワークからインスタンスにアクセスするには、まず Private Service Connect エンドポイントを作成する手順に沿って操作します。ネットワークが Looker(Google Cloud コア)インスタンスへのノースバウンド アクセスを許可されていることを確認し、エンドポイントを作成するときに次のガイドラインに従います。

  • [ターゲット サービス] フィールド(Google Cloud コンソールの場合)または SERVICE_ATTACHMENT 変数(Google Cloud CLI または API の手順に沿っている場合)を Looker サービス アタッチメント URI に設定します。この 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 コア)インスタンスへのノースバウンド アクセスのドキュメント ページの手順に沿ってカスタム ドメインを設定し、インスタンスにアクセスします。

次のステップ