mx-central-1 は、そこでホストされるサービスではクロスリージョンアクセスを有効にできませんが、許可されるコンシューマーリージョンです。
クロスリージョンのデータ転送については AWS から課金されます。詳細は AWS PrivateLink pricing を参照してください。
- Endpoint “Service name” を取得します。
- AWS エンドポイント を作成します。
- “Endpoint ID” を ClickHouse Cloud 組織に追加します。
- “Endpoint ID” を ClickHouseサービス の許可リストに追加します。
重要な注意事項
この手順の前提条件
- AWS アカウント。
- ClickHouse 側でプライベート エンドポイントを作成および管理するために必要な権限を持つ ClickHouse API key。
手順
エンドポイントの「Service name」を確認する
オプション 1: ClickHouse Cloud コンソール
Service name と DNS name をメモしたら、次のステップに進みます。
オプション 2: API
INSTANCE_ID を取得します:
endpointServiceId と privateDnsHostname を取得します。
endpointServiceId と privateDnsHostname をメモし、次のステップに進みます。
AWSエンドポイントを作成
オプション 1: AWS コンソール
Service nameconsole または endpointServiceIdAPI を Service Name フィールドに入力します。続いて、Verify service をクリックします。
クロスリージョン接続の場合は、Cross region endpoint チェックボックスをオンにして、ClickHouse service が稼働しているリージョンを指定します。
セキュリティグループでポート
443、8443、9440、3306 が許可されていることを確認してください。Endpoint ID の値を控えておいてください。後続の手順で必要になります。
オプション 2: AWS CloudFormation
Service nameconsoleまたはendpointServiceIdAPIを使用して、VPC エンドポイントを作成します。
サブネット ID、セキュリティグループ、VPC ID には正しい値を使用していることを確認してください。
Endpoint ID の値を控えておいてください。後続の手順で必要になります。
オプション 3: Terraform
service_name は、エンドポイントの”Service name” を取得する 手順で取得した Service nameコンソール または endpointServiceIdAPI です
Endpoint ID の値を控えておいてください。後続の手順で必要になります。
エンドポイントのプライベート DNS 名を設定する
DNS の設定方法はいくつかあります。ご利用のユースケースに応じて設定してください。
“Endpoint ID” を ClickHouseサービスの許可リストに追加する
オプション 1: ClickHouse Cloud コンソール
Endpoint ID を入力し、“Create endpoint” をクリックします。
既存の PrivateLink 接続からのアクセスを許可する場合は、既存のエンドポイントのドロップダウン メニューを使用します。
オプション 2: API
ENDPOINT_ID 環境変数を設定します。
コマンドを実行する前に、次の環境変数を設定します。
PrivateLink を使用したインスタンスへのアクセス
privateDnsHostnameAPI または DNS Nameconsole のプライベート エンドポイントを使用する必要があります。
プライベート DNS ホスト名の取得
オプション 1: ClickHouse Cloud コンソール
オプション 2: API
INSTANCE_ID は手順で取得できます。
privateDnsHostname の値であるホスト名を使用した接続は PrivateLink にルーティングされますが、endpointServiceId のホスト名を使用した接続はインターネット経由でルーティングされます。
トラブルシューティング
1 つのリージョン内の複数の PrivateLink
1 つのリージョン内の複数の PrivateLink
ほとんどの場合、VPC ごとに作成するエンドポイントサービスは 1 つだけで十分です。このエンドポイントを介して、VPC から複数の ClickHouse Cloud サービスにリクエストをルーティングできます。
こちらを参照してください。
プライベート エンドポイントへの接続がタイムアウトする
プライベート エンドポイントへの接続がタイムアウトする
- VPC Endpoint にセキュリティグループを関連付けてください。
- Endpoint に関連付けられたセキュリティグループの
inboundルールを確認し、ClickHouse のポートを許可してください。 - 接続テストに使用する VM に関連付けられたセキュリティグループの
outboundルールを確認し、ClickHouse のポートへの接続を許可してください。
プライベートホスト名: ホストのアドレスが見つからない
プライベートホスト名: ホストのアドレスが見つからない
- DNS 設定を確認してください。
ピアによって接続がリセットされた
ピアによって接続がリセットされた
- Endpoint ID がサービスの許可リストに追加されていない可能性が高いため、手順を参照してください。
エンドポイントフィルターの確認
エンドポイントフィルターの確認
リモートデータベースへの接続
リモートデータベースへの接続
AWS PrivateLink のドキュメント によると、次のとおりです。
AWS PrivateLink は、クライアント/サーバー構成において、1 つ以上の consumer VPC から、service provider VPC 内の特定のサービスまたはインスタンス群への単方向アクセスを許可したい場合に使用します。service provider VPC 内のサービスへの接続を開始できるのは、consumer VPC 内のクライアントのみです。ClickHouse Cloud で MySQL または PostgreSQL のテーブル関数を、AWS VPC でホストされているデータベースに接続するには、AWS のセキュリティグループを設定し、ClickHouse Cloud からの接続を許可してください。ClickHouse Cloud の各リージョンにおけるデフォルトの egress IP アドレス と、利用可能な静的 IP アドレス を確認してください。