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

AzureでウェアハウスごとのConsoleエンドポイントへのプライベート接続を設定する

このガイドでは、Azure Private Linkを使用して、パブリックインターネットを経由せずにAzure VNetからウェアハウスごとのConsoleエンドポイントにプライベートアクセスする方法について説明します。

接続モデルと要件の概要については、ウェアハウスごとのConsoleエンドポイントへのプライベート接続を参照してください。

要件

  • Consoleホスト名と対応するAzureリージョン。
  • ウェアハウスごとのConsoleツールを使用するユーザーがアクセスできる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-studioなどの名前を入力します。
  3. Private Endpointのリージョンを選択します。
  4. Resourceタブで、リソースIDまたはAliasを使用してAzureリソースに接続するオプションを選択します。
  5. リージョンに対応するVeloDB Cloud Private Link ServiceのリソースIDを入力します。
  6. 手動接続をリクエストします。リクエストメッセージにVeloDB Cloud組織名とVeloDB per-warehouse Console endpoint private accessを含めます。
  7. クライアントVNetとサブネットを選択します。
  8. エンドポイントを作成します。

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

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

  • VeloDB Cloud組織名
  • Consoleホスト名
  • Azure Subscription ID
  • リージョン
  • Private EndpointのリソースID
  • Private Endpoint接続名

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

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

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

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

  3. 実用上最も限定的なゾーン名を使用します。例:

    westus3.azure.velodb.cloud
  4. 完全なConsoleホスト名のAレコードを作成します。

  5. レコードにPrivate EndpointのプライベートIPアドレスを指定します。

Private DNSゾーンは、リンクされたVNet内でリージョンサフィックス全体に対して権威を持ちます。このガイドの設定では、そのサフィックスのホスト名に一致するプライベートレコードがない場合、パブリックゾーンにフォールバックしません。クライアントが解決する必要のあるリージョン内のすべてのウェアハウスごとのConsoleホスト名にAレコードを追加してください。追加しない場合、同じリージョン内の他のウェアハウスホスト名がNXDOMAINを返すことがあります。

クライアントが企業DNSまたはカスタムDNSを使用する場合は、Azure DNS Private ResolverまたはVNet内の別のDNSフォワーダーへの条件付きフォワーダーを設定します。

手順3: 接続を確認する

VNet内のクライアントから次のコマンドを実行します。

nslookup <warehouse-id>-studio.<region>.azure.velodb.cloud

ホスト名は、エンドポイントのネットワークインターフェースに割り当てられたプライベートIPに解決される必要があります。

TLSとHTTPルーティングを確認します。

curl -sS \
-o /dev/null \
-w 'remote_ip=%{remote_ip} http_code=%{http_code}\n' \
https://<warehouse-id>-studio.<region>.azure.velodb.cloud/webui_api/api/data/catalogs

リモートアドレスがプライベートであること、--insecureを使用せずにTLS検証が成功すること、サーバーがHTTPレスポンスを返すことを確認します。未認証のリクエストは401403、またはリダイレクトを返すことがあります。

最後に、認証済みブラウザーからVeloDB Consoleでウェアハウスを開き、SQL Editorでクエリを実行するなど、対象機能を使用します。

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

  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に依頼します。
Consoleホスト名がパブリックに解決されるPrivate DNSゾーンとVNetのリンク、レコード名、条件付き転送を確認します。
接続がタイムアウトする接続の承認、NSGルール、ルート、ファイアウォール、TCP 443アクセスを確認します。
TLS検証に失敗するPrivate EndpointのIPではなく、元のConsoleホスト名を使用します。

関連リソース