前提条件
ClickHouse BYOC のプライベートロードバランサーを有効にする
clickhouse-cloud-<spoken-name>-default という名前のマネージドリソースグループに BYOC インフラストラクャをデプロイします。以下の手順では、そのリソースグループ内で BYOC VNet を確認します。
VNet ピアリングを設定する
以下の手順は、お客様の VNet の 1 つが BYOC VNet と直接ピアリングする単純なシナリオを対象としています。ハブアンドスポーク トポロジやオンプレミス接続などの高度なシナリオでは、いくつかの調整が必要です。詳細については、制限事項を参照してください。
ピアリングに関する追加の前提条件
Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write および Microsoft.Network/virtualNetworks/peer/action のアクセス許可が必要です。組み込みの Network Contributor ロールには、これらのアクセス許可が含まれます。仮想ネットワーク ピアリングのアクセス許可を参照してください。
1
BYOC 仮想ネットワークからピアリングを作成する
- Azure Portal にサインインし、BYOC サブスクリプションに切り替えます。
- Virtual networks を検索し、
clickhouse-cloud-<spoken-name>-defaultリソース グループ内の BYOC VNet を選択します。 - Settings で Peerings を選択し、+ Add を選択します。
- ピアリングの両方の設定を入力します。
- Add をクリックします。
2
自動作成されなかった場合は、逆方向のピアリングを作成する
Azure のピアリングは方向ごとに 1 つずつ、2 つの設定で構成されており、両方が存在するまでトラフィックは流れません。前の手順でポータルが両方の設定を作成した場合は、この手順をスキップします。VNet が別のサブスクリプションまたはテナントにあるため、BYOC 側の設定のみを作成した場合、その状態は Initiated になります。自身の VNet から対応する設定を作成します。
- VNet を所有するサブスクリプションに切り替え、その VNet に対する Network Contributor 権限を持つアカウントでサインインします。
- 自身の VNet を選択し、Peerings → + Add を選択します。
- I know my resource ID を選択し、BYOC VNet リソース ID を貼り付けて、BYOC サブスクリプションを所有する Directory を選択します。必要に応じて Authenticate を選択します。
- Add を選択します。
3
両方の設定が接続されていることを確認する
いずれかの仮想ネットワークで Peerings を開きます。両側の Peering status が Connected と表示されている必要があります。状態が Initiated のままの場合は対応する設定がなく、Disconnected と表示される場合は対応する設定が削除されています。ルート テーブルを変更する必要はありません。Azure は、ピアリングされたアドレス空間用のシステム ルートを両側に自動的に追加します。VNet 内の任意のネットワーク インターフェイスの Effective routes で確認できます。BYOC のアドレス空間は、次ホップ タイプが VNet peering として表示されます。
4
ネットワーク セキュリティ グループでピアリングされた VNet からのアクセスを許可する
BYOC サブネットは、デフォルトで VNet 内のトラフィックを拒否する、ClickHouse 管理のネットワーク セキュリティ グループによって保護されています。
VirtualNetwork サービス タグにはピアリングされた VNet のアドレス空間も含まれるため、受信許可ルールを追加するまで、ピアリング経由のトラフィックは破棄されます。ピアリングされた VNet の CIDR 範囲を含む受信ルールの追加を依頼するには、ClickHouse Support までお問い合わせください。この手順を実施しない場合、ピアリングは Connected と表示されますが、接続はタイムアウトします。5
ピアリング経由で ClickHouse service にアクセスする
ClickHouse へプライベートにアクセスするため、ピアリングされた VNet から安全に接続できるよう、プライベート ロード バランサーとエンドポイントがプロビジョニングされます。プライベート エンドポイントは、パブリック エンドポイントに
-private 接尾辞を付けた形式です。例:- パブリック エンドポイント:
h5ju65kv87.mhp0y4dmph.westus3.azure.clickhouse-byoc.com - プライベート エンドポイント:
h5ju65kv87-private.mhp0y4dmph.westus3.azure.clickhouse-byoc.com
制限事項
ピアリングを削除する
プライベートリンクを設定する
1
ClickHouseコンソールでプライベートリンクを有効にする
前提条件として、プライベートロードバランサーを有効にしておいてください。
2
エンドポイントサービス名(Service name)を取得する
- ClickHouse Cloud console で、Private Link 経由で接続するサービスの Settings ページに移動します。
- “プライベート エンドポイントを設定” をクリックします。
- 開いたフライアウトで、
Service name(Private Link サービスのエイリアス) とDNS nameの値をコピーします。これらは次の手順で使用します。 (Private Link を有効にしてから値が生成されるまで、しばらく時間がかかる場合があります。)
3
ネットワーク内にプライベート エンドポイントを作成する
- ご自身の Azure Portal (クライアントアプリケーションが存在する Azure サブスクリプション) を開き、Network Foundation → Private endpoints → Create の順に選択します。
- Basics タブで、プライベート エンドポイントのサブスクリプション、リソース グループ、名前、リージョンを選択します。リージョンは、クライアントアプリケーションが接続元として使用する VNet と同じリージョンにします。
- Resource タブで、Connect to an Azure resource by resource ID or alias を選択し、前の手順で取得した
Service nameを入力します。 - Virtual Network タブで、プライベート エンドポイントを作成する仮想ネットワークとサブネットを選択します。必要に応じて、アプリケーション セキュリティ グループを関連付けて、プライベート エンドポイントへのトラフィックをフィルタリングします。
- 残りのタブを進み、Create をクリックします。作成したプライベート エンドポイントの Connection status は、次の手順でその
Resource IDを ClickHouse service allow list に追加するまで、Pending 状態のままです。 - プライベート エンドポイントに関連付けられたネットワーク インターフェイスを開き、Private IPv4 address をコピーします。DNS 設定の手順で使用します。
4
プライベート エンドポイントのリソース IDを ClickHouse サービスの許可リストに追加する
プライベート エンドポイントのリソース ID を取得するには、Azure Portal で先ほど作成したプライベート エンドポイントを開き、JSON View をクリックします。次に、最上位レベルの
id フィールド (ビューの上部に表示される Resource ID。形式は /subscriptions/.../providers/Microsoft.Network/privateEndpoints/<name>) をコピーします。properties オブジェクト内にネストされている id フィールドは使用しないでください。- ClickHouse Cloud console で、Private Link 経由で接続するサービスの Settings ページに移動します。
- 「Set up private endpoint」をクリックします。
- 開いたフライアウトで、上で取得した
Resource IDを、任意の説明とともにEndpoint IDフィールドに入力します。 - 「Create endpoint」をクリックします。
既存の Private Link 接続からのアクセスを許可する場合は、既存のエンドポイントのドロップダウンメニューを使用します。
ドロップダウンには、同じインフラストラクチャ内のサービスへの既存の Private Link 接続が表示されます。
Azure Portal で手動承認を行う必要はありません。
Resource ID を許可リストに追加すると、エンドポイント接続は自動的に承認され、その LinkID が ClickHouse service の Istio AuthorizationPolicy に自動的に追加されます。サブスクリプション内のプライベート エンドポイントの Connection status は Approved に変わります。5
エンドポイントのプライベート DNS 名を設定する
DNS の構成方法はいくつかあります。ユースケースに応じて DNS を設定してください。
privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com) のすべてのサブドメイン (ワイルドカード) を、プライベート エンドポイントの IP アドレスに向ける必要があります。これにより、VNet 内のサービスやコンポーネントが正しく名前解決できるようになります。Azure Private DNS を使用した一般的な設定は次のとおりです。- 先頭のサービス ID を除いた “DNS name” を名前とする Private DNS zone を作成します。例:
privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com。 - ゾーン内にワイルドカード レコード セットを作成します。Name には
*を指定し、IP Address には先ほどコピーしたプライベート エンドポイントの IP アドレスを入力します。 - Private DNS zone を仮想ネットワークにリンクします。これにより、VNet 内のクライアントがゾーンを名前解決できるようになります。
6
プライベートリンク経由でインスタンスにアクセスする
- ClickHouse Cloud コンソールで、サービスの Settings ページに移動します。
- 「プライベート エンドポイントを設定」をクリックします。
- 開いたフライアウトで、
DNS nameをコピーします。Private Link 経由での ClickHouse サービスへのアクセスは、ClickHouse が BYOC インフラストラクチャ内で管理するサービスレベルの Istio Authorization Policy によって制御されます。