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 インスタンスを作成する

console

  1. Google Cloud コンソールでプロジェクトから Looker(Google Cloud コア)プロダクト ページに移動します。このプロジェクト内に Looker(Google Cloud コア)インスタンスをすでに作成している場合は、[インスタンス] ページが開きます。

    Looker(Google Cloud コア)に移動

  2. [インスタンスを作成] をクリックします。
  3. [インスタンス名] セクションで、Looker(Google Cloud コア)インスタンスの名前を入力します。インスタンス名は、作成後に Looker(Google Cloud コア)インスタンスの URL には関連付けられません。インスタンス名は、インスタンスの作成後は変更できません。
  4. [OAuth アプリケーション認証情報] セクションで、OAuth クライアントを設定する際に作成した OAuth クライアント ID と OAuth シークレットを入力します。
  5. [リージョン] セクションで、Looker(Google Cloud コア)インスタンスをホストする適切なオプションをプルダウン メニューから選択します。サブスクリプション契約のリージョンと一致するリージョンを選択します。これはプロジェクトの割り当てで割り当てられているリージョンです、使用可能なリージョンは、Looker(Google Cloud コア)のロケーション ドキュメント ページに記載されています。

    インスタンスの作成後にリージョンを変更することはできません。

  6. [エディション] セクションで、[Enterprise] または [Embed] エディション オプションを選択します。エディションタイプは、インスタンスで使用可能な機能の一部に影響します。年間契約に記載されているエディション タイプと同じエディション タイプを選択し、そのエディション タイプに割り当てされていることを確認してください。

    • Enterprise: 高度な BI 機能を備えた Looker(Google Cloud コア)プラットフォーム。BI と分析のさまざまなユースケースに対処できます。
    • Embed: 信頼性の高い外部分析やカスタム アプリケーションを大規模にデプロイして維持するための Looker(Google Cloud コア)プラットフォーム

    インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。

  7. [インスタンスのカスタマイズ] セクションで [構成オプションを表示] をクリックし、インスタンスに合わせたカスタマイズが可能な追加設定のグループを表示します。

  8. [接続] セクションの [インスタンス IP の割り当て] で、[プライベート IP] のみを選択します。選択したネットワーク接続の種類は、インスタンスで使用可能な Looker 機能に影響します。

  9. [プライベート IP タイプ] で [Private Service Connect(PSC)] を選択します。

  10. [許可された VPC] で [アイテムを追加] をクリックし、Looker(Google Cloud コア)インスタンスへのノースバウンド アクセスが許可される VPC を追加します。[プロジェクト] フィールドで、ネットワークが作成されたプロジェクトを選択します。[ネットワーク] プルダウン メニューで、ネットワークを選択します。必要に応じて [項目を追加] をクリックして VPC を追加します。

  11. [暗号化] セクションで、インスタンスで使用する暗号化のタイプを選択できます。使用できる暗号化オプションは次のとおりです。

  12. [メンテナンスの時間枠] セクションで、必要に応じて、Looker(Google Cloud コア)がメンテナンスをスケジュールする曜日と時間を指定できます。メンテナンスの時間枠は 1 時間です。デフォルトでは、[メンテナンスの時間枠] の [優先ウィンドウ] オプションは [おまかせ] に設定されます。

  13. [メンテナンス拒否期間] セクションでは、必要に応じて Looker(Google Cloud コア)がメンテナンスをスケジュールしない日数を指定することもできます。メンテナンス拒否期間は最長 60 日間まで設定できます。任意の 2 つのメンテナンス拒否期間の間に、メンテナンスを許可する日数を少なくとも 14 日間設定する必要があります。

  14. [作成] をクリックします。

gcloud

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 分ほどかかります。

console

インスタンスの作成中は、コンソール内の [インスタンス] ページでステータスを確認できます。Google Cloud コンソールメニューの通知アイコンをクリックして、インスタンス作成アクティビティを確認することもできます。インスタンスの [詳細] ページで、インスタンスが作成されるとステータスが [アクティブ] になります。

gcloud

ステータスを確認するには、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 インスタンスが作成されたら、次の変更を加えることができます。

サウスバウンド接続を指定します。

console

  1. [インスタンス] ページで、下り(外向き)接続を有効にするインスタンスの名前をクリックします。
  2. [編集] をクリックします。
  3. [接続] セクションを開きます。
  4. 既存のサービス アタッチメントを編集するには、[ローカル FQDN] フィールドでサービスの完全修飾ドメイン名を更新し、[ターゲット サービス アタッチメント URI] フィールドでサービス アタッチメント URI を更新します。
  5. 新しいサービス アタッチメントを追加するには、[アイテムを追加] をクリックします。次に、サービスの完全修飾ドメイン名を [ローカル FQDN] フィールドに、サービス アタッチメント URI を [ターゲット サービス アタッチメント URI] フィールドに入力します。
  6. [保存] をクリックします。

gcloud

--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 を更新する

console

  1. [インスタンス] ページで、インスタンスへのノースバウンド アクセスを許可する VPC を更新するインスタンスの名前をクリックします。
  2. [編集] をクリックします。
  3. [接続] セクションを開きます。
  4. 新しい VPC を追加するには、[アイテムを追加] をクリックします。次に、[プロジェクト] フィールドで VPC を含むプロジェクトを選択し、[ネットワーク] プルダウン メニューからネットワークを選択します。
  5. VPC を削除するには、ネットワークにポインタを合わせると表示されるアイテムの削除アイコンをクリックします。
  6. [保存] をクリックします。

gcloud

--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 コア)インスタンスへのノースバウンド アクセスのドキュメント ページの手順に沿って、カスタム ドメインを設定し、インスタンスにアクセスします。

次のステップ