1. はじめに
この Codelab では、L7 リージョン アプリケーション ロードバランサと Private Service Connect バックエンドを作成して、Looker へのノースバウンド アクセスを取得します。Looker へのノースバウンド アクセスでは、コンシューマ VPC が Looker PSC インスタンスの許可リストに登録されている必要があります。
Private Service Connect は Google Cloud ネットワーキング機能の一つで、コンシューマーが VPC ネットワーク内からマネージド サービスにプライベート接続でアクセスできるようにします。同様に、マネージド サービス プロデューサーがこれらのサービスを個別の VPC ネットワークにホストし、コンシューマーとのプライベート接続を提供できるようにします。たとえば、図 1 に示すように、Private Service Connect を使用して Looker にアクセスする場合、ユーザーがサービス コンシューマーで、Google がサービス プロデューサーです。
図 1.
サウスバウンド アクセス(リバース PSC)を使用すると、コンシューマはプロデューサーとして公開サービスを作成し、Looker がオンプレミス、VPC 内のエンドポイント、マネージド サービス、インターネットにアクセスできるようにできます。サウスバウンド接続は、Looker PSC がデプロイされている場所に関係なく、任意のリージョンにデプロイできます(図 2 を参照)。
図 2.
学習内容
- ネットワークの要件
- 北向きアクセスの Looker 許可リストを更新する
- コンシューマ VPC に Private Service Connect バックエンドを作成する
- Google 証明書と自己署名証明書
必要なもの
- オーナー権限を持つ Google Cloud プロジェクト
- 登録済みドメイン
- 既存の Looker PSC インスタンス
2. 作成するアプリの概要
許可リストに登録されたコンシューマ ネットワーク looker-psc-demo を設定して、Google または自己署名証明書を必要とするリージョン外部 L7 アプリケーション ロードバランサと PSC バックエンド NEG をデプロイします。どちらの方法でも、Looker で定義されたカスタム ドメインと一致する登録済みドメインが必要です。
3. ネットワークの要件
ネットワーク要件の内訳は次のとおりです。
コンポーネント | 説明 |
VPC(looker-psc-demo) | カスタムモード VPC |
PSC NEG サブネット | ネットワーク エンドポイント グループの IP アドレスの割り振りに使用 |
プロキシ専用サブネット | 各ロードバランサのプロキシ には内部 IP アドレスが割り当てられます。プロキシからバックエンド VM またはエンドポイントに送信されるパケットには、プロキシ専用サブネットからの送信元 IP アドレスが含まれています。 |
バックエンド サービス | バックエンド サービスは、ロードバランサとバックエンド リソース間のブリッジとして機能します。このチュートリアルでは、バックエンド サービスが PSC NEG に関連付けられています。 |
4. Codelab トポロジ
5. 設定と要件
セルフペース型の環境設定
- Google Cloud Console にログインして、プロジェクトを新規作成するか、既存のプロジェクトを再利用します。Gmail アカウントも Google Workspace アカウントもまだお持ちでない場合は、アカウントを作成してください。
- プロジェクト名は、このプロジェクトの参加者に表示される名称です。Google API では使用されない文字列です。いつでも更新できます。
- プロジェクト ID は、すべての Google Cloud プロジェクトにおいて一意でなければならず、不変です(設定後は変更できません)。Cloud コンソールでは一意の文字列が自動生成されます。通常は、この内容を意識する必要はありません。ほとんどの Codelab では、プロジェクト ID(通常は
PROJECT_ID
と識別されます)を参照する必要があります。生成された ID が好みではない場合は、ランダムに別の ID を生成できます。または、ご自身で試して、利用可能かどうかを確認することもできます。このステップ以降は変更できず、プロジェクトを通して同じ ID になります。 - なお、3 つ目の値として、一部の API が使用するプロジェクト番号があります。これら 3 つの値について詳しくは、こちらのドキュメントをご覧ください。
- 次に、Cloud のリソースや API を使用するために、Cloud コンソールで課金を有効にする必要があります。この Codelab の操作をすべて行って、費用が生じたとしても、少額です。このチュートリアルの終了後に請求が発生しないようにリソースをシャットダウンするには、作成したリソースを削除するか、プロジェクトを削除します。Google Cloud の新規ユーザーは、300 米ドル分の無料トライアル プログラムをご利用いただけます。
Cloud Shell を起動する
Google Cloud はノートパソコンからリモートで操作できますが、この Codelab では、Google Cloud Shell(Cloud 上で動作するコマンドライン環境)を使用します。
Google Cloud Console で、右上のツールバーにある Cloud Shell アイコンをクリックします。
プロビジョニングと環境への接続にはそれほど時間はかかりません。完了すると、次のように表示されます。
この仮想マシンには、必要な開発ツールがすべて用意されています。永続的なホーム ディレクトリが 5 GB 用意されており、Google Cloud で稼働します。そのため、ネットワークのパフォーマンスと認証機能が大幅に向上しています。この Codelab での作業はすべて、ブラウザ内から実行できます。インストールは不要です。
6. 始める前に
API を有効にする
Cloud Shell で、プロジェクト ID が設定されていることを確認します。
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
必要なサービスをすべて有効にします。
gcloud services enable compute.googleapis.com
7. コンシューマ ネットワーク
次のセクションでは、Looker PSC VPC 許可リストで更新されるコンシューマ ネットワーキングを作成します。
VPC ネットワーク
Cloud Shell で次の操作を行います。
gcloud compute networks create looker-psc-demo --subnet-mode custom
サブネットを作成する
Cloud Shell で、コンシューマ ネットワーク エンドポイント グループのサブネットを作成します。
gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
Cloud Shell で、プロデューサーのリージョン プロキシ専用サブネットを作成します。
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=looker-psc-demo \
--range=10.10.10.0/24
ロードバランサの IP アドレスを予約する
Cloud Shell で、ロードバランサに外部 IP アドレスを予約します。
gcloud compute addresses create regional-alb-static-ip \
--region=$region \
--network-tier=STANDARD
Cloud Shell で、予約済みの IP アドレスを表示します。
gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
出力例:
user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
address: 35.208.202.244
8. カスタム ドメインを作成する
カスタム ドメインを確立するには、次の手順が必要です。
カスタム ドメインの例
カスタム ドメイン looker.cosmopup.com は、前に定義した静的 IP アドレス(regional-alb-static-ip)の A レコードに関連付けられたパブリック DNS サブドメインとして存在します。DNS ルックアップを検証するターミナルから撮影したスクリーンショットを参照してください。
次に、サブドメイン looker.cosmopup.com を使用してお客様のドメインを作成します。
OAuth の例
以下は、承認済み送信元の OAuth 認証情報と、サブドメイン looker.cosmopup.com のコールバックの例です。
9. 証明書
Compute Engine または Certificate Manager の証明書を作成できます。Certificate Manager を使用して証明書を作成するには、次のいずれかの方法を使用します。
- リージョン セルフマネージド証明書。リージョン セルフマネージド証明書の作成と使用については、リージョン セルフマネージド証明書をデプロイするをご覧ください。証明書マップはサポートされていません。
- リージョンの Google マネージド証明書。証明書マップはサポートされていません。Certificate Manager では、次のタイプのリージョン Google マネージド証明書がサポートされています。
- プロジェクトごとの DNS 認証を使用するリージョン Google マネージド証明書。詳細については、リージョン Google マネージド証明書をデプロイするをご覧ください。
- Certificate Authority Service を使用するリージョン Google マネージド(プライベート)証明書。詳細については、CA Service を使用してリージョン Google マネージド証明書をデプロイするをご覧ください。
10. Looker VPC 許可リスト
許可された VPC を表示する
次のセクションでは、Cloud コンソール UI を使用して、Looker の許可された VPC のリストを表示します。
Cloud コンソールで、次の場所に移動します。
Looker → Looker インスタンス → 詳細
次の例では、[許可された VPC] リストにエントリがありません。
許可された VPC を更新する
許可された VPC として looker-psc-demo を追加して、Looker インスタンスを更新し、ノースバウンド アクセスをサポートします。
Cloud コンソールで、次の場所に移動します。
Looker → Looker インスタンス → 編集
[接続] → [許可された VPC]
looker-psc-demo がデプロイされているプロジェクトを選択し、VPC looker-psc-demo を選択して [続行] をクリックします。
許可された VPC を検証する
更新された許可された VPC リストを表示する
Cloud コンソールで、次の場所に移動します。
Looker → Looker インスタンス → 詳細
11. PSC バックエンドを作成する
サービス プロデューサーとしての Looker PSC は、サービス コンシューマがエンドポイントとバックエンドをデプロイして Looker へのノースバウンド アクセスを取得するために使用するサービス アタッチメント URI を生成します。次のステップでは、Looker PSC サービス アタッチメント URI を特定し、コンシューマ VPC に Private Service Connect ネットワーク エンドポイント グループ(NEG)バックエンドを作成します。
Looker PSC サービス アタッチメントを特定する
Cloud コンソールで、サービス アタッチメント URI に移動してコピーします。
Looker → Looker インスタンス → 詳細
PSC ネットワーク エンドポイント グループを作成する
Cloud Shell で、psc-target-service を更新するように次の操作を行います。
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
例:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
PSC ネットワーク エンドグループの作成を確認する
Cloud Shell で次の操作を行い、pscConnectionStatus が承認されるようにします。
gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
例:
user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
pscConnectionStatus: ACCEPTED
リージョン アプリケーション ロードバランサを作成する
次の手順では、Cloud コンソールを使用してリージョン外部アプリケーション ロードバランサを作成し、生成された証明書をフロントエンド構成に関連付けます。
Cloud コンソールで、次の場所に移動します。
[ネットワーク サービス] → [ロード バランシング] → [ロードバランサを作成する]
次のオプションを選択します。
フロントエンドの構成を作成する
次のオプションを選択し、デプロイに基づいて環境をカスタマイズします。
- ネットワーク インフラストラクチャのデプロイに使用するリージョン
- プロキシ専用サブネットはリージョンに基づいて自動的に入力されます
- 以前に定義した静的 IP は、リージョンの選択に基づいて使用できます。
[証明書] を選択すると、既存の証明書または新しい証明書を使用するオプションがプルダウン表示されます。
証明書と秘密鍵をアップロードし、[作成] を選択します。
[完了] を選択して、フロントエンドの構成を完了します。
バックエンド構成を作成する
次のオプションを選択します。
ルーティング ルールを作成する
次のオプション(デフォルト オプション)を選択します。
確認と完了
構成を確認して [CREATE] を選択します。
ロードバランサが有効になりました。
Looker UI にアクセスする
ロードバランサが稼働しているため、ウェブブラウザからカスタム Looker ドメインにアクセスできます。使用している証明書の種類(信頼できない証明書と信頼できる証明書など)によっては、警告が表示されることがあります。
以下は、Looker UI へのノースバウンド アクセスを取得する Looker カスタム ドメイン looker.cosmopup.com にアクセスする例(信頼できない証明書)です。
12. クリーンアップ
1 つの Cloud Shell ターミナルからラボ コンポーネントを削除する
gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-external-alb --region=$region -q
gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q
gcloud compute addresses delete regional-alb-static-ip --region=$region -q
gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q
gcloud compute networks delete looker-psc-demo -q
13. 完了
これで、カスタムドメインとリージョン外部アプリケーション ロードバランサを使用して、Looker への上り(内向き)接続を正常に構成して検証できました。
コンシューマ インフラストラクチャを作成し、PSC NEG とカスタム ドメインを作成する方法を学び、さまざまな証明書オプションについて学びました。Looker には、すぐに始められる魅力的な機能が数多くあります。
Cosmopup はコードラボが大好きです。
次のステップ
以下の Codelab をご覧ください。
- Private Service Connect でサービスを公開して使用する
- Private Service Connect と内部 TCP プロキシ ロードバランサを使用して、ハイブリッド ネットワーキング経由でオンプレミス サービスに接続する
- 公開されているすべての Private Service Connect Codelab にアクセスする