Private Service ConnectによるVeloDB Servicesへの接続
このリファレンスでは、VeloDB ServicesがサポートするGoogle Cloudリージョンと、各リージョンで公開されるService Attachment URIを示します。また、Private Service Connect Endpointを作成して公開サービスに接続し、サポートされるVeloDBホスト名のプライベートDNSを設定する方法について説明します。
サポートされるアクセスパスと接続モデルについては、VeloDB Servicesを参照してください。
要件
- VeloDBホスト名と対応するGoogle Cloudリージョン。EndpointのサブネットとService Attachmentは同じリージョンに配置する必要があります。
- クライアントがVeloDBサービスへアクセスする際に使用する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-servicesなどのエンドポイント名を入力します。- Service Attachmentと同じリージョンにあるクライアントVPCとサブネットを選択します。
- 内部IPv4アドレスを予約または選択します。
- 他のGoogle Cloudリージョンのクライアントがエンドポイントを使用する必要がある場合は、Global accessを有効にします。
- エンドポイントを作成します。
エンドポイントが承認されない場合は、次の情報をVeloDB Supportに送信します。
- VeloDB Cloud組織名
- エンドポイント経由でルーティングするVeloDBホスト名
- 利用側Project ID
- リージョン
- エンドポイント転送ルール名
- エンドポイント内部IPアドレス
エンドポイントの状態がAcceptedになってから続行します。
手順2: プライベートDNSを設定する
-
クライアントVPCから参照できるCloud DNS Private Zoneを作成または選択します。
-
複数のGoogle CloudリージョンにあるVeloDBホスト名を同じPrivate Zoneの対象にする場合は、次のDNS名を使用します。
gcp.velodb.cloud1つのリージョンだけでプライベートアクセスが必要な場合は、
us-east4.gcp.velodb.cloudなどの限定的なゾーンを使用できます。
Private Zoneは、サフィックス内のすべてのホスト名に対して権威を持ちます。一致するプライベートレコードがなくても、DNSはパブリックゾーンにフォールバックしません。gcp.velodb.cloudを使用する場合は、ウェアハウス固有の各Consoleホスト名を含め、クライアントが解決する必要があるすべてのVeloDBホスト名にレコードを追加してください。レコードがないホスト名にはNXDOMAINが返されます。
- 必要な各VeloDBホスト名の
Aレコードを作成します。 - Private Service Connectエンドポイントの内部IPアドレスを指定します。
たとえば、ウェアハウス固有のConsoleエンドポイントには<warehouse-id>-studio.us-east4.gcp.velodb.cloudを、Metrics APIにはapps-api.us-east4.gcp.velodb.cloudを作成します。
複数のVPCでホスト名を解決する必要がある場合は、必要なすべてのネットワークからPrivate Zoneを参照できるようにします。
手順3: 接続を確認する
VPC内のクライアントから次のコマンドを実行します。
nslookup <warehouse-id>-studio.<region>.gcp.velodb.cloud
nslookup apps-api.<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://apps-api.<region>.gcp.velodb.cloud/
リモートアドレスがプライベートであること、--insecureを使用せずにTLS検証が成功すること、サーバーがHTTPレスポンスを返すことを確認します。未認証のリクエストは401、403、またはリダイレクトを返すことがあります。
オンプレミスネットワークから接続する
- 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に送信します。 |
| VeloDBホスト名がパブリックに解決される | Private Zoneの可視性、レコード名、DNS転送を確認します。 |
| 接続がタイムアウトする | エンドポイントの承認、ファイアウォールルール、ルート、TCP 443アクセスを確認します。 |
| TLS検証に失敗する | エンドポイントIPではなく、元のVeloDBホスト名を使用します。 |