前提条件
ClickHouse BYOC でプライベートロードバランサーを有効にする
VPC ピアリングを設定する
1
ピアリング接続を作成する
- ClickHouse BYOC アカウントの VPC Dashboard に移動します。
- Peering Connections を選択します。
- Create Peering Connection をクリックします。
- VPC Requester に ClickHouse VPC ID を設定します。
- VPC Accepter に対象の VPC ID を設定します (必要に応じて別のアカウントを選択します) 。
- Create Peering Connection をクリックします。
2
ピアリング接続リクエストを承認する
ピアリング先のアカウントで、(VPC -> Peering connections -> Actions -> Accept request) に移動すると、この VPC ピアリングリクエストを承認できます。
3
ClickHouse VPC のルートテーブルに宛先を追加する
ClickHouse BYOC アカウントで、
- VPC Dashboard で Route Tables を選択します。
- ClickHouse VPC ID を検索します。プライベートサブネットに関連付けられている各ルートテーブルを編集します。
- Routes タブの Edit ボタンをクリックします。
- Add another route をクリックします。
- Destination に対象 VPC の CIDR 範囲を入力します。
- Target で “Peering Connection” とピアリング接続 ID を選択します。
4
対象 VPC のルートテーブルに宛先を追加する
ピアリング先の AWS アカウントで、
- VPC Dashboard で Route Tables を選択します。
- 対象の VPC ID を検索します。
- Routes タブの Edit ボタンをクリックします。
- Add another route をクリックします。
- Destination に ClickHouse VPC の CIDR 範囲を入力します。
- Target で “Peering Connection” とピアリング接続 ID を選択します。
5
ピアリングされた VPC からのアクセスを許可するようセキュリティグループを編集する
ClickHouse BYOC アカウントでは、ピアリングされた VPC からのトラフィックを許可するために、セキュリティグループの設定を更新する必要があります。ピアリングされた VPC の CIDR 範囲を含むインバウンドルールの追加を依頼するには、ClickHouse Support にお問い合わせください。
これで、ピアリングされた VPC から ClickHouse サービスにアクセスできるようになります。
これで、ピアリングされた VPC から ClickHouse サービスにアクセスできるようになります。
-private 接尾辞を付けたものです。たとえば、次のとおりです。
- Public endpoint:
h5ju65kv87.mhp0y4dmph.us-west-2.aws.clickhouse-byoc.com - Private endpoint:
h5ju65kv87-private.mhp0y4dmph.us-west-2.aws.clickhouse-byoc.com
PrivateLink を設定する
リージョン間接続。 ClickHouse コンソールの Enable private link トグルでは、エンドポイントサービスがプロビジョニングされ、同一リージョンのコンシューマーのみが対象となります。AWS ではエンドポイントサービスのリージョン間アクセスはデフォルトで無効になっており、ClickHouse コンソールでは管理できません。クライアントが別のリージョンにある場合は、ご自身で有効にしてください。エンドポイントサービスは BYOC アカウント内にあるため、ご自身の AWS コンソールで Supported regions リストにコンシューマーのリージョンを追加します (以下のステップ 3 を参照) 。ClickHouse がこれらの値を変更またはリセットすることはありません。AWS のリージョン間データ転送料金が適用されます。
1
ClickHouseコンソールでプライベートリンクを有効にする
前提条件として、プライベートロードバランサーが有効になっていることを確認してください。
2
エンドポイントのService nameを取得
- ClickHouse Cloud console で、PrivateLink 経由で接続するサービスの Settings ページに移動します。
- 「Set up private endpoint」をクリックします。
- 開いたフライアウトで、
Service nameの値をコピーします。次の手順で使用します。 (PrivateLink を有効にした後、この値が生成されるまでしばらく時間がかかる場合があります。)
3
ネットワーク内にエンドポイントを作成
- ご自身の AWS コンソール (クライアントアプリケーションがある AWS アカウント) を開き、VPC → Endpoints → Create endpoints に移動します。
-
“Endpoint services that use NLBs and GWLBs” を選択し、前の手順で取得した
Service nameを使用します。 - “Verify service” をクリックします。
- (任意) PrivateLink 経由でクロスリージョン接続を確立する場合は、“Cross region endpoint” チェックボックスを有効にし、サービスリージョンを指定します。サービスリージョンは、BYOC インフラストラクチャが作成されているリージョンです。同時に、次の操作を行います。
-
BYOC AWS コンソール (BYOC インフラストラクチャが作成されている AWS アカウント) を開き、VPC → Endpoint services →
clickhouse-cloud-infra-xxx→ Supported regions に移動します。 - クライアントアプリケーションが実行されているリージョンを、サポート対象リージョンのリストに追加します。デフォルトでは、この BYOC インフラストラクチャのリージョンのみがサポートされています。異なるリージョンから接続する場合は複数のリージョンを追加できます。ClickHouse がこれらの値を変更またはリセットすることはありません。
- VPC とサブネットを選択します (availability zone ごとに 1 つのサブネットを推奨します) 。
-
重要: エンドポイントで “Private DNS names” を有効にします。これは private DNS が正しく機能するために必要です。
BYOC エンドポイントの private DNS (
*.vpce.{subdomain}形式) は、AWS PrivateLink に組み込まれた “Private DNS names” 機能を使用します。Route53 レコードは不要です。次の条件を満たす場合、DNS 解決は自動的に行われます。- “Private DNS names” が有効であり、
-
“DNS Hostnames” が有効である
これらは VPC Settings → DNS resolution および DNS hostnames で有効にします。
これにより、
vpceサブドメインを使用する接続は、追加の DNS 設定なしで自動的に PrivateLink エンドポイント経由でルーティングされます。
- (任意) セキュリティグループ/タグを割り当てます。
セキュリティグループでポート
443、8443、9440 が許可されていることを確認してください。- “Create endpoint” をクリックし、エンドポイントが作成されるまでしばらく待ちます。
-
エンドポイントを作成した後、
Endpoint IDの値をコピーします。次の手順で使用します。
4
エンドポイント接続を承認する
- BYOC VPC コンソールを再度開き、Endpoint services →
clickhouse-cloud-infra-xxx→ Endpoint connections に移動します。 - 自身の VPC から作成された接続リクエストを見つけ、“Accept endpoint connection request” をクリックして承認します。
5
ClickHouseサービスの許可リストに Endpoint ID を追加する
- ClickHouse Cloud consoleで、PrivateLink 経由で接続するサービスの Settings ページに移動します。
- 「プライベート エンドポイントを設定」をクリックします。
- 開いたフライアウトで、前の手順で取得した
Endpoint IDと、必要に応じて説明を入力します。 - 「エンドポイントを作成」をクリックします。
既存の PrivateLink 接続からのアクセスを許可する場合は、既存のエンドポイントのドロップダウンメニューを使用します。
ドロップダウンには、同じインフラストラクチャ内のサービスへの既存の PrivateLink 接続が表示されます。
6
PrivateLink を使用してインスタンスにアクセスする
- ClickHouse Cloud Console で、サービスの Settings ページに移動します。
- 「プライベート エンドポイントを設定」をクリックします。
-
開いたフライアウトで、
DNS nameをコピーします。 PrivateLink 経由での ClickHouse サービスへのアクセスは、次の 2 つのレベルで制御されます。- Istio Authorization Policy: ClickHouse が BYOC インフラストラクチャ内で管理するサービスレベルの認可ポリシー
- VPC Endpoint Security Group: VPC エンドポイントにアタッチされたセキュリティグループ。VPC 内でエンドポイントを使用できるリソースを制御します
プライベートロードバランサーの「PrivateLink トラフィックにインバウンドルールを適用」機能は無効になっているため、アクセスは Istio 認可ポリシーと VPC エンドポイントのセキュリティグループによってのみ制御されます。