Azure Private LinkによるVeloDB Servicesへの接続
このリファレンスでは、VeloDB ServicesがサポートするAzureリージョンと、各リージョンで公開されるPrivate Link ServiceのリソースIDを示します。また、Private Endpointを作成して公開サービスに接続し、サポートされるVeloDBホスト名のプライベートDNSを設定する方法について説明します。
サポートされるアクセスパスと接続モデルについては、VeloDB Servicesを参照してください。
要件
- VeloDBホスト名と対応するAzureリージョン。Private Link ServiceとPrivate Endpointは同じリージョンに配置する必要があります。
- クライアントがVeloDBサービスへアクセスする際に使用するVNetとサブネット。
- Private Endpoint、ネットワークルール、Azure Private DNSレコードを作成する権限。
- クライアントとPrivate Endpoint間でTCPポート
443が許可されていること。
サポートされるリージョンとPrivate Link Service
| Azureリージョン | Private Link ServiceのリソースID |
|---|---|
westus3 | /subscriptions/c24ebfdf-23c3-4c41-950e-d4d2169aa546/resourceGroups/cmp-westus3/providers/Microsoft.Network/privateLinkServices/pls-84g8h6sf |
centralindia | /subscriptions/c24ebfdf-23c3-4c41-950e-d4d2169aa546/resourceGroups/cmp-centralindia/providers/Microsoft.Network/privateLinkServices/pls-d0srx9cp |
手順1: Azure Private Endpointを作成する
- AzureポータルでPrivate endpointsを開き、Createを選択します。
- リソースグループを選択し、
velodb-servicesなどの名前を入力します。 - Private Endpointのリージョンを選択します。
- Resourceタブで、リソースIDまたはAliasを使用してAzureリソースに接続するオプションを選択します。
- リージョンに対応するVeloDB Cloud Private Link ServiceのリソースIDを入力します。
- 手動接続をリクエストします。リクエストメッセージにVeloDB Cloud組織名と
Private access to VeloDB Servicesを含めます。 - クライアントVNetとサブネットを選択します。
- エンドポイントを作成します。
Private Endpoint接続の状態がApprovedになるまで待ちます。Provisioning state: Succeededは、エンドポイントリソースが作成されたことだけを示します。
接続がPendingのままの場合は、次の情報をVeloDB Supportに送信します。
- VeloDB Cloud組織名
- エンドポイント経由でルーティングするVeloDBホスト名
- Azure Subscription ID
- リージョン
- Private EndpointのリソースID
- Private Endpoint接続名
承認後、エンドポイントのネットワークインターフェースに割り当てられたプライベートIPアドレスを記録します。
手順2: プライベートDNSを設定する
-
Azure Private DNSゾーンを作成または選択します。
-
ゾーンをクライアントVNetにリンクします。
-
複数のAzureリージョンにあるVeloDBホスト名を同じPrivate DNS Zoneの対象にする場合は、次のゾーン名を使用します。
azure.velodb.cloud1つのリージョンだけでプライベートアクセスが必要な場合は、
westus3.azure.velodb.cloudなどの限定的なゾーンを使用できます。
Private DNS Zoneは、サフィックス内のすべてのホスト名に対して権威を持ちます。一致するプライベートレコードがなくても、DNSはパブリックゾーンにフォールバックしません。azure.velodb.cloudを使用する場合は、ウェアハウス固有の各Consoleホスト名を含め、クライアントが解決する必要があるすべてのVeloDBホスト名にレコードを追加してください。レコードがないホスト名にはNXDOMAINが返されます。
- 必要な各VeloDBホスト名の
Aレコードを作成します。 - レコードにPrivate EndpointのプライベートIPアドレスを指定します。
たとえば、ウェアハウス固有のConsoleエンドポイントには<warehouse-id>-studio.westus3.azure.velodb.cloudを、Metrics APIにはapps-api.westus3.azure.velodb.cloudを作成します。
クライアントが企業DNSまたはカスタムDNSを使用する場合は、Azure DNS Private ResolverまたはVNet内の別のDNSフォワーダーへの条件付きフォワーダーを設定します。
手順3: 接続を確認する
VNet内のクライアントから次のコマンドを実行します。
nslookup <warehouse-id>-studio.<region>.azure.velodb.cloud
nslookup apps-api.<region>.azure.velodb.cloud
ホスト名は、エンドポイントのネットワークインターフェースに割り当てられたプライベートIPに解決される必要があります。
TLSとHTTPルーティングを確認します。
curl -sS \
-o /dev/null \
-w 'remote_ip=%{remote_ip} http_code=%{http_code}\n' \
https://apps-api.<region>.azure.velodb.cloud/
リモートアドレスがプライベートであること、--insecureを使用せずにTLS検証が成功すること、サーバーがHTTPレスポンスを返すことを確認します。未認証のリクエストは401、403、またはリダイレクトを返すことがあります。
オンプレミスネットワークから接続する
- ExpressRouteまたはVPN Gatewayを使用して、オンプレミスネットワークをVNetに接続します。
- ルートとネットワークルールでPrivate EndpointへのTCP
443アクセスを許可します。 - リージョン別VeloDB CloudゾーンをAzure DNS Private ResolverまたはVNet内のDNSフォワーダーに転送するように企業DNSを設定します。
トラブルシューティング
| 問題 | 確認事項 |
|---|---|
| Private Link Serviceが見つからない | 完全なリソースIDと対応するリージョンを確認します。 |
| 接続がPendingのまま | Private Endpoint接続の承認をVeloDB Supportに依頼します。 |
| VeloDBホスト名がパブリックに解決される | Private DNS ZoneとVNetのリンク、レコード名、条件付き転送を確認します。 |
| 接続がタイムアウトする | 接続の承認、NSGルール、ルート、ファイアウォール、TCP 443アクセスを確認します。 |
| TLS検証に失敗する | Private EndpointのIPではなく、元のVeloDBホスト名を使用します。 |