Google CloudでウェアハウスごとのConsoleエンドポイントへのプライベート接続を設定する
このガイドでは、Private Service Connectを使用して、パブリックインターネットを経由せずにGoogle Cloud VPCからウェアハウスごとのConsoleエンドポイントにプライベートアクセスする方法について説明します。
接続モデルと要件の概要については、ウェアハウスごとのConsoleエンドポイントへのプライベート接続を参照してください。
要件
- Consoleホスト名と対応するGoogle Cloudリージョン。
- ウェアハウスごとのConsoleツールを使用するユーザーがアクセスできるVPCとサブネット。
- Private Service Connect転送ルール、内部アドレス、ファイアウォールルール、Cloud DNSレコードを作成する権限。
- クライアントとエンドポイント間でTCPポート
443が許可されていること。
リージョン別Service Attachment
| Google Cloudリージョン | Service Attachment URI |
|---|---|
us-west1 | projects/nifty-jet-418508/regions/us-west1/serviceAttachments/selectdb-byoc-us-west1-endpointservice-https |
us-east4 | projects/nifty-jet-418508/regions/us-east4/serviceAttachments/pls-rv23q67r-https |
us-central1 | projects/nifty-jet-418508/regions/us-central1/serviceAttachments/pls-q3u07fp7-https |
us-west4 | projects/nifty-jet-418508/regions/us-west4/serviceAttachments/pls-g4sibc2l-https |
europe-west3 | projects/nifty-jet-418508/regions/europe-west3/serviceAttachments/pls-44u4qo0z-https |
asia-southeast1 | projects/nifty-jet-418508/regions/asia-southeast1/serviceAttachments/pls-pek0hd99-https |
asia-east2 | projects/nifty-jet-418508/regions/asia-east2/serviceAttachments/pls-s0n6s96z-https |
手順1: Private Service Connectエンドポイントを作成する
- Google Cloud ConsoleでPrivate Service Connect > Connected endpointsを開きます。
- Connect endpointを選択します。
- TargetでPublished serviceを選択します。
- リージョンに対応するVeloDB Cloud Service Attachment URIを入力します。
velodb-studioなどのエンドポイント名を入力します。- Service Attachmentと同じリージョンにあるクライアントVPCとサブネットを選択します。
- 内部IPv4アドレスを予約または選択します。
- 他のGoogle Cloudリージョンのクライアントがエンドポイントを使用する必要がある場合は、Global accessを有効にします。
- エンドポイントを作成します。
エンドポイントが承認されない場合は、次の情報をVeloDB Supportに送信します。
- VeloDB Cloud組織名
- Consoleホスト名
- 利用側Project ID
- リージョン
- エンドポイント転送ルール名
- エンドポイント内部IPアドレス
エンドポイントの状態がAcceptedになってから続行します。
手順2: プライベートDNSを設定する
-
クライアントVPCから参照できるCloud DNS Private Zoneを作成または選択します。
-
実用上最も限定的なDNS名を使用します。例:
us-east4.gcp.velodb.cloud -
完全なConsoleホスト名の
Aレコードを作成します。 -
Private Service Connectエンドポイントの内部IPアドレスを指定します。
Private DNSゾーンは、そのゾーンを参照できるすべてのVPC内でリージョンサフィックス全体に対して権威を持ちます。そのサフィックスのホスト名に一致するプライベートレコードがない場合、Cloud DNSはパブリックゾーンにフォールバックしません。クライアントが解決する必要のあるリージョン内のすべてのウェアハウスごとのConsoleホスト名にAレコードを追加してください。追加しない場合、同じリージョン内の他のウェアハウスホスト名がNXDOMAINを返すことがあります。
複数のVPCでホスト名を解決する必要がある場合は、必要なすべてのネットワークからPrivate Zoneを参照できるようにします。
手順3: 接続を確認する
VPC内のクライアントから次のコマンドを実行します。
nslookup <warehouse-id>-studio.<region>.gcp.velodb.cloud
ホスト名は、Private Service Connectエンドポイント用に予約した内部IPアドレスに解決される必要があります。
TLSとHTTPルーティングを確認します。
curl -sS \
-o /dev/null \
-w 'remote_ip=%{remote_ip} http_code=%{http_code}\n' \
https://<warehouse-id>-studio.<region>.gcp.velodb.cloud/webui_api/api/data/catalogs
リモートアドレスがプライベートであること、--insecureを使用せずにTLS検証が成功すること、サーバーがHTTPレスポンスを返すことを確認します。未認証のリクエストは401、403、またはリダイレクトを返すことがあります。
最後に、認証済みブラウザーからVeloDB Consoleでウェアハウスを開き、SQL Editorでクエリを実行するなど、対象機能を使用します。
オンプレミスネットワークから接続する
- Cloud InterconnectまたはCloud VPNを使用して、オンプレミスネットワークをVPCに接続します。
- ルートとファイアウォールルールでエンドポイントIPへのTCP
443アクセスを許可します。 - リージョン別VeloDB CloudゾーンをCloud DNSのInbound Forwarding Endpointに転送するように企業DNSを設定します。
トラブルシューティング
| 問題 | 確認事項 |
|---|---|
| Service Attachmentを使用できない | エンドポイントサブネットとService Attachmentが同じリージョンにあることを確認します。 |
| エンドポイントがPendingまたはRejected | 利用側Projectと転送ルールの情報をVeloDB Supportに送信します。 |
| Consoleホスト名がパブリックに解決される | Private Zoneの可視性、レコード名、DNS転送を確認します。 |
| 接続がタイムアウトする | エンドポイントの承認、ファイアウォールルール、ルート、TCP 443アクセスを確認します。 |
| TLS検証に失敗する | エンドポイントIPではなく、元のConsoleホスト名を使用します。 |