メインコンテンツまでスキップ

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が許可されていること。
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を作成する

  1. AzureポータルでPrivate endpointsを開き、Createを選択します。
  2. リソースグループを選択し、velodb-servicesなどの名前を入力します。
  3. Private Endpointのリージョンを選択します。
  4. Resourceタブで、リソースIDまたはAliasを使用してAzureリソースに接続するオプションを選択します。
  5. リージョンに対応するVeloDB Cloud Private Link ServiceのリソースIDを入力します。
  6. 手動接続をリクエストします。リクエストメッセージにVeloDB Cloud組織名とPrivate access to VeloDB Servicesを含めます。
  7. クライアントVNetとサブネットを選択します。
  8. エンドポイントを作成します。

Private Endpoint接続の状態がApprovedになるまで待ちます。Provisioning state: Succeededは、エンドポイントリソースが作成されたことだけを示します。

接続がPendingのままの場合は、次の情報をVeloDB Supportに送信します。

  • VeloDB Cloud組織名
  • エンドポイント経由でルーティングするVeloDBホスト名
  • Azure Subscription ID
  • リージョン
  • Private EndpointのリソースID
  • Private Endpoint接続名

承認後、エンドポイントのネットワークインターフェースに割り当てられたプライベートIPアドレスを記録します。

手順2: プライベートDNSを設定する

  1. Azure Private DNSゾーンを作成または選択します。

  2. ゾーンをクライアントVNetにリンクします。

  3. 複数のAzureリージョンにあるVeloDBホスト名を同じPrivate DNS Zoneの対象にする場合は、次のゾーン名を使用します。

    azure.velodb.cloud

    1つのリージョンだけでプライベートアクセスが必要な場合は、westus3.azure.velodb.cloudなどの限定的なゾーンを使用できます。

警告

Private DNS Zoneは、サフィックス内のすべてのホスト名に対して権威を持ちます。一致するプライベートレコードがなくても、DNSはパブリックゾーンにフォールバックしません。azure.velodb.cloudを使用する場合は、ウェアハウス固有の各Consoleホスト名を含め、クライアントが解決する必要があるすべてのVeloDBホスト名にレコードを追加してください。レコードがないホスト名にはNXDOMAINが返されます。

  1. 必要な各VeloDBホスト名のAレコードを作成します。
  2. レコードに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レスポンスを返すことを確認します。未認証のリクエストは401403、またはリダイレクトを返すことがあります。

オンプレミスネットワークから接続する

  1. ExpressRouteまたはVPN Gatewayを使用して、オンプレミスネットワークをVNetに接続します。
  2. ルートとネットワークルールでPrivate EndpointへのTCP 443アクセスを許可します。
  3. リージョン別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ホスト名を使用します。

関連リソース