Private Service Connect を使用した Looker(Google Cloud コア)インスタンスへのプライベート インバウンド アクセス

Looker(Google Cloud コア)で Private Service Connect を使用するには、インスタンスの作成時に Looker(Google Cloud コア)インスタンスで Private Service Connect を使用できるようにする必要があります。

このドキュメント ページでは、Private Service Connect を使用して、クライアントから Looker(Google Cloud コア)へのルーティング(インバウンド トラフィックとも呼ばれる)を構成する方法について説明します。

Private Service Connect を使用すると、VPC ネットワーク内、ハイブリッド ネットワーキング経由、または外部リージョン アプリケーション ロードバランサでデプロイされた場合はパブリックに、マネージド サービスにプライベート アクセスできます。マネージド サービス プロデューサーがこれらのサービスを個別の VPC ネットワークにホストし、コンシューマーとのプライベート接続またはパブリック接続を提供できるようにします。

Private Service Connect を使用して Looker(Google Cloud コア)にアクセスする場合、ユーザーがサービス コンシューマーで、Looker(Google Cloud コア)がサービス プロデューサーです。Looker(Google Cloud コア)へのインバウンド アクセスには、Looker(Google Cloud コア)Private Service Connect インスタンスの許可された VPC としてコンシューマー VPC を追加する必要があります。

このドキュメントでは、カスタム ドメインの設定と構成について説明し、プライベート接続用のエンドポイントを使用して Looker(Google Cloud コア)にアクセスする方法について説明します。

Looker(Google Cloud コア)にアクセスする場合、バックエンドを備えたアプリケーション ロードバランサを使用することをおすすめします。この設定では、カスタム ドメイン証明書の認証も可能になり、ユーザー アクセスのセキュリティと制御が強化されます。

カスタム ドメインを作成する

Looker(Google Cloud コア)インスタンスを作成したら、まずカスタム ドメインを設定し、インスタンスの OAuth 認証情報を更新します。以降のセクションでは、このプロセスについて説明します。

プライベート接続(Private Service Connect)インスタンスのカスタム ドメインを作成する場合は、カスタム ドメインが次の要件を満たしている必要があります。

  • カスタム ドメインは、少なくとも 1 つのサブドメインを含む 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 コア)へのプライベート アクセス

カスタム ドメインを設定した後、オンプレミスまたは別のクラウド プロバイダ環境からインスタンスにアクセスする(つまり、ハイブリッド ネットワーキングを介してアクセスする)には、次のネットワーク コンポーネントが必要です。

Private Service Connect を使用してデプロイされた Looker(Google Cloud コア)は、Cloud Load Balancing と統合された バックエンドと呼ばれる Private Service Connect ネットワーク エンドポイント グループをサポートしています。バックエンドを使用して Private Service Connect が有効になっている Looker(Google Cloud コア)インスタンスにプライベートにアクセスする手順については、Looker PSC ノースバウンド リージョン内部 L7 ALB の Codelab をご覧ください。

次の図に、Private Service Connect バックエンド ネットワーク設定の例を示します。

バックエンドを使用してオンプレミスから Looker(Google Cloud コア)インスタンスにアクセスするためのネットワーク アーキテクチャ。

DNS を設定する

DNS を設定する際は、次の 2 つのオプションのいずれかを使用できます。

  • Private Service Connect エンドポイントの IP アドレスにマッピングされている Looker(Google Cloud コア)カスタム ドメインに対して権限を持つように、オンプレミス DNS を更新します。
  • Cloud DNS プライベート ゾーンを作成し、Private Service Connect エンドポイントに割り当てられた IP アドレスを使用してレコードセットを作成し、インバウンド DNS 転送を有効にして、Private Service Connect エンドポイントの IP アドレスにマッピングされている Looker(Google Cloud コア)カスタム ドメインに対して VPC が権限を持つようにします。

カスタム セキュリティ レスポンス ヘッダーを挿入する

Private Service Connect を使用して Looker(Google Cloud コア)を外部アプリケーションに埋め込むと、脆弱性評価と侵入テスト(VAPT)のセキュリティ スキャンで、Referrer-PolicyPermissions-PolicyCross-Origin-Resource-Policy(CORP)などの必須のセキュリティ レスポンス ヘッダーが欠落していることが報告されることがあります。

カスタム セキュリティ ポリシーを適用して VAPT スキャンに合格するには、次の手順に沿って、Looker(Google Cloud コア)Private Service Connect 接続の前にアプリケーション ロードバランサを使用して、必要なレスポンス ヘッダーを挿入します。

  1. Google Cloud コンソールで、[ロード バランシング] ページに移動します。

    [ロード バランシング] に移動

  2. Looker(Google Cloud コア)インスタンスに関連付けられているロードバランサの名前をクリックし、[編集] をクリックします。

  3. [バックエンド構成] に移動し、Looker(Google Cloud コア)の Private Service Connect NEG に関連付けられているバックエンド サービスを選択します。

  4. [詳細構成] で、[カスタム レスポンス ヘッダー] 機能を使用して、必要なヘッダー(Cross-Origin-Resource-Policy: same-originReferrer-Policy: no-referrer など)を追加します。

トラブルシューティング

Private Service Connect バックエンドを使用して Looker(Google Cloud コア)インスタンスへのインバウンド アクセスを構成する際に、インスタンスのプロビジョニングが正常に完了しない、またはロードバランサがバックエンド サービスに到達できないという問題が発生することがあります。

ロードバランサ ログに failed_to_pick_backend エラーと no healthy upstream(HTTP 503)エラーが表示され、ネットワーク エンドポイント グループ(NEG)が pending ステータスのままになっている場合は、コンシューマー プロジェクトの必須のネットワーキング構成手順が不足しています。具体的には、コンシューマー プロジェクトが Looker(Google Cloud コア)プロデューサー サービスに接続する権限がないか、コンシューマー VPC にネットワーク アタッチメント リソースが作成されていません。

これらの問題を解決するには、コンシューマー プロジェクトで次の必須のネットワーキング構成手順を完了していることを確認します。

  1. プロジェクトの許可リスト登録: Looker(Google Cloud コア)サービス アタッチメントの許可された VPC リストにコンシューマー プロジェクトを追加します。この追加により、コンシューマー VPC は Looker(Google Cloud コア)プロデューサー サービスへの接続を確立できます。
  2. ネットワーク アタッチメントの構成: コンシューマー VPC にネットワーク アタッチメント リソースを作成し、Looker(Google Cloud コア)インスタンスに関連付けます。

次のステップ