メインコンテンツへスキップ
このガイドでは、Azure プライベートリンクを使用して、Azure (顧客所有のサービスおよび Microsoft Partner サービスを含む) と ClickHouse Cloud の間に、仮想ネットワーク経由のプライベート接続を提供する方法を説明します。Azure プライベートリンクを使用すると、データがパブリック インターネットに公開されるのを防ぎつつ、ネットワーク アーキテクチャを簡素化し、Azure 内のエンドポイント間の接続を保護できます。 Azure は、プライベートリンクによるリージョン間接続をサポートしています。これにより、ClickHouse サービスをデプロイしている異なるリージョンの VNet 間で接続を確立できます。
リージョン間トラフィックには追加料金が発生する場合があります。最新の Azure ドキュメントを確認してください。
Azure プライベートリンクを有効にするには、次の手順を実行してください。
  1. プライベートリンク用の Azure connection alias を取得する
  2. Azure でプライベート エンドポイントを作成する
  3. プライベート エンドポイントの リソース ID を ClickHouse Cloud 組織に追加する
  4. プライベート エンドポイントの リソース ID をサービスの許可リストに追加する
  5. プライベートリンクを使用して ClickHouse Cloud サービスにアクセスする
ClickHouse Cloud Azure PrivateLink は、resourceGUID から Resource ID フィルターの使用へ移行しました。後方互換性があるため resourceGUID を引き続き使用することもできますが、Resource ID フィルターへの切り替えを推奨します。移行するには、Resource ID を使用して新しいエンドポイントを作成し、それをサービスにアタッチしたうえで、古い resourceGUID ベースのエンドポイントを削除してください。

注意

ClickHouse は、Azure リージョン内で同じ公開済みの プライベートリンク サービス を再利用できるよう、サービスをグループ化しようとします。ただし、このグループ化は保証されません。特に、サービスが複数の ClickHouse 組織にまたがっている場合は保証されません。 ClickHouse 組織内の他のサービスですでにプライベートリンクが設定されている場合は、このグループ化により多くの手順を省略でき、最後の手順である プライベート エンドポイント リソース ID をサービスの許可リストに追加する に直接進めることがよくあります。 Terraform の例は、ClickHouse の Terraform プロバイダー リポジトリ で確認できます。

オプション 1: ClickHouse Cloud console

ClickHouse Cloud consoleで、PrivateLink経由で接続する対象のサービスを開き、Settings メニューを開きます。Set up private endpoint ボタンをクリックします。PrivateLinkの設定に使用する Service nameDNS name を控えておきます。 Service nameDNS name を控えておきます。これらは次の手順で必要になります。

オプション 2: API

開始する前に、ClickHouse Cloud API キーが必要です。新しいキーを作成するか、既存のキーを使用できます。 API キーを用意したら、コマンドを実行する前に次の環境変数を設定してください。
リージョン、プロバイダー、サービス名で絞り込み、ClickHouse の INSTANCE_ID を取得します:
Azure の connection alias と、プライベートリンク用の Private DNS ホスト名を取得します:
endpointServiceId を控えておいてください。次の手順で使用します。

Azure でプライベート エンドポイントを作成する

このセクションでは、Azure Private Link を使用して ClickHouse を設定する際の、ClickHouse 固有の事項について説明します。Azure 固有の手順は、確認すべき箇所を示すための参考情報として記載していますが、Azure クラウドプロバイダーの都合により、予告なく変更される場合があります。Azure の設定は、実際のユースケースに応じてご検討ください。なお、必要な Azure のプライベート エンドポイントおよび DNS レコードの設定については、ClickHouse は責任を負いません。Azure の設定作業に関する問題については、Azure Support に直接お問い合わせください。
このセクションでは、Azure でプライベート エンドポイントを作成します。Azure Portal または Terraform のいずれかを使用できます。

オプション 1: Azure Portal を使用して Azure にプライベート エンドポイントを作成する

Azure Portal で、Private Link Center → Private Endpoints を開きます。 Create ボタンをクリックして、プライベート エンドポイントの作成ダイアログを開きます。
次の画面で、以下のオプションを指定します。
  • Subscription / Resource Group: プライベート エンドポイント用の Azure サブスクリプションとリソース グループを選択します。
  • Name: プライベート エンドポイント の名前を設定します。
  • Region: プライベートリンク経由で ClickHouse Cloud に接続する、デプロイ済み VNet のリージョンを選択します。
上記の手順を完了したら、Next: Resource ボタンをクリックします。
Connect to an Azure resource by resource ID or alias オプションを選択します。 Resource ID or alias には、Private Link の Azure connection alias を取得する 手順で取得した endpointServiceId を使用します。 Next: Virtual Network ボタンをクリックします。
  • Virtual network: プライベートリンクを使用して ClickHouse Cloud に接続する VNet を選択します
  • Subnet: プライベート エンドポイントを作成するサブネットを選択します
任意:
  • Application security group: ASG をプライベート エンドポイントに関連付けることで、Network Security Groups でプライベート エンドポイントとの送受信ネットワーク トラフィックをフィルタリングできます。
Next: DNS ボタンをクリックします。 Next: Tags ボタンをクリックします。
必要に応じて、プライベート エンドポイントにタグを追加できます。 Next: Review + create ボタンをクリックします。
最後に、Create ボタンをクリックします。 作成したプライベート エンドポイントの Connection statusPending 状態になります。このプライベート エンドポイントを service allow list に追加すると、Approved 状態に変わります。 プライベート エンドポイントに関連付けられたネットワーク インターフェイスを開き、Private IPv4 address (この例では 10.0.0.4) をコピーします。この情報は次の手順で必要になります。

オプション 2: Terraform を使用して Azure でプライベート エンドポイントを作成する

Terraform でプライベート エンドポイントを作成するには、以下のテンプレートを使用します。

プライベート エンドポイントのリソース ID を取得する

プライベートリンクを使用するには、プライベート エンドポイント接続のリソース ID をサービスの許可リストに追加する必要があります。 プライベート エンドポイントのリソース ID は Azure Portal で確認できます。前の手順で作成したプライベート エンドポイントを開き、JSON View をクリックします。 properties の id フィールドを見つけて、この値をコピーします。 推奨される方法: リソース ID を使用する 従来の方法: resourceGUID を使用する 後方互換性のため、resourceGUID も引き続き使用できます。resourceGuid フィールドを見つけて、この値をコピーします。 プライベートリンク経由でリソースにアクセスするには、Private DNS zone (${location_code}.privatelink.azure.clickhouse.cloud) を作成し、VNet に関連付ける必要があります。

Private DNS zone を作成する

オプション 1: Azure Portal を使用する Azure Portal を使用して Azure の Private DNS zone を作成するには、こちらのガイドに従ってください。 オプション 2: Terraform を使用する 次の Terraform テンプレートを使用して Private DNS zone を作成します。

ワイルドカード DNS レコードを作成する

ワイルドカード レコードを作成し、プライベート エンドポイントを指定します。 オプション 1: Azure Portal を使用する
  1. MyAzureResourceGroup リソース グループを開き、${region_code}.privatelink.azure.clickhouse.cloud プライベート ゾーンを選択します。
    • Record set を選択します。
  2. Name には * と入力します。
  3. IP Address には、プライベート エンドポイントに表示されている IP アドレスを入力します。
  4. OK を選択します。
オプション 2: Terraform を使用する 次の Terraform テンプレートを使用して、ワイルドカード DNS レコードを作成します。
Private DNS zone を仮想ネットワークにリンクするには、仮想ネットワーク リンクを作成する必要があります。 オプション 1: Azure Portal を使用する 仮想ネットワークを Private DNS zone にリンクするには、このガイドに従ってください。 オプション 2: Terraform を使用する
DNS の設定方法はいくつかあります。ご利用のユースケースに応じて設定してください。
Private Link の Azure connection alias を取得する手順で取得した “DNS name” が、プライベート エンドポイントの IP アドレスを指すように設定する必要があります。これにより、VPC/ネットワーク内のサービスやコンポーネントがその名前を適切に解決できるようになります。

DNS 設定を確認する

xxxxxxxxxx.westus3.privatelink.azure.clickhouse.cloud ドメインは、プライベート エンドポイントの IP (この例では 10.0.0.4) を指すように設定する必要があります。

ご利用の ClickHouse Cloud 組織にプライベート エンドポイントのリソース ID を追加する

オプション 1: ClickHouse Cloud console

組織にエンドポイントを追加するには、プライベート エンドポイント リソース ID をサービスの許可リストに追加する手順に進んでください。ClickHouse Cloud コンソールから プライベート エンドポイント リソース ID をサービスの許可リストに追加すると、組織にも自動的に追加されます。 エンドポイントを削除するには、Organization details -> Private Endpoints を開き、削除ボタンをクリックします。

オプション 2: API

コマンドを実行する前に、次の環境変数を設定してください。
プライベート エンドポイント リソース ID の取得 の手順で取得したデータを使用して、ENDPOINT_ID 環境変数を設定します。 次のコマンドを実行して、プライベート エンドポイントを追加します。
プライベート エンドポイントを削除するには、次のコマンドも実行できます。
プライベート エンドポイントを追加または削除した後、次のコマンドを実行して組織に反映します。

プライベート エンドポイント リソース ID をサービスの許可リストに追加する

デフォルトでは、プライベートリンク接続が承認され確立されていても、ClickHouse Cloud サービスはプライベートリンク接続経由では利用できません。プライベートリンク経由で利用可能にする各サービスについて、プライベート エンドポイント リソース ID を明示的に追加する必要があります。

オプション 1: ClickHouse Cloud console

ClickHouse Cloud console で、PrivateLink 経由で接続するサービスを開き、Settings に移動します。前の手順で取得した リソース ID を入力します。
既存の PrivateLink 接続からのアクセスを許可する場合は、既存のエンドポイントのドロップダウン メニューを使用します。

オプション 2: API

コマンドを実行する前に、以下の環境変数を設定してください。
プライベートリンク経由で利用できるようにする各サービスに対して、これを実行します。 以下のコマンドを実行して、サービスの許可リストにプライベート エンドポイントを追加します。
次のコマンドを実行して、サービスの許可リストからプライベート エンドポイントを削除することもできます。
プライベート エンドポイントをサービスの許可リストに追加または削除した後、以下のコマンドを実行して組織に適用します。
プライベートリンクが有効になっている各サービスには、パブリック エンドポイントとプライベート エンドポイントがあります。プライベートリンクを使用して接続するには、Private Link の Azure connection alias を取得するで取得した privateDnsHostnameAPI または DNS nameconsole に対応するプライベート エンドポイントを使用する必要があります。

プライベート DNS ホスト名の取得

オプション 1: ClickHouse Cloud console

ClickHouse Cloud consoleで Settings に移動します。Set up private endpoint ボタンをクリックします。開いたフライアウトで、DNS Name をコピーします。

オプション 2: API

コマンドを実行する前に、次の環境変数を設定してください。
次のコマンドを実行します。
次のようなレスポンスが返されるはずです。
この例では、xxxxxxx.region_code.privatelink.azure.clickhouse.cloud ホスト名への接続はプライベートリンク経由でルーティングされます。一方、xxxxxxx.region_code.azure.clickhouse.cloud への接続はインターネット経由でルーティングされます。 privateDnsHostname を使用して、プライベートリンク経由で ClickHouse Cloud サービスに接続してください。

トラブルシューティング

DNS 設定を確認する

次のコマンドを実行します。
ここで「dns name」は、Private Link の Azure connection alias を取得する に記載の privateDnsHostnameAPI または DNS nameconsole を指します 次のレスポンスが返されるはずです。

接続がピアによってリセットされる

おそらく、プライベート エンドポイント リソース ID がサービスの許可リストに追加されていません。プライベート エンドポイント リソース ID をサービスの許可リストに追加する 手順を再度確認してください。

プライベート エンドポイントが保留状態です

最も可能性が高いのは、プライベート エンドポイント リソース ID がサービスの許可リストに追加されていないことです。プライベート エンドポイント リソース ID をサービスの許可リストに追加する 手順を再度確認してください。

接続をテストする

プライベートリンク経由の接続に問題がある場合は、openssl を使用して接続性を確認してください。プライベートリンクのエンドポイントのステータスが Accepted であることを確認してください。 OpenSSL で接続できるはずです (出力に CONNECTED と表示されます) 。errno=104 は想定内です。

プライベート エンドポイントのフィルタを確認する

コマンドを実行する前に、次の環境変数を設定します。
プライベート エンドポイントのフィルターを確認するには、次のコマンドを実行します。

詳細情報

Azure プライベートリンクの詳細については、azure.microsoft.com/en-us/products/private-link を参照してください。
最終更新日 2026年6月19日