Changefeeds のプライベートエンドポイントを設定する
このドキュメントでは、 TiDB Cloud Dedicatedクラスターで変更フィード用のプライベートエンドポイントを作成し、プライベート接続を介してセルフホスト型 Kafka または MySQL にデータを安全にストリーミングできるようにする方法について説明します。
制限
同じVPC内では、AWSのプライベートエンドポイントサービス、Google Cloudのサービスアタッチメント、またはAzureのプライベートリンクサービスごとに、最大5つのプライベートエンドポイントを設定できます。この上限を超える場合は、新しいプライベートエンドポイントを作成する前に、未使用のプライベートエンドポイントを削除してください。
前提条件
- プライベートエンドポイント作成の権限を確認する
- ネットワーク接続を設定する
権限
組織内で次のいずれかのロールを持つユーザーのみが、変更フィードのプライベートエンドポイントを作成できます。
Organization OwnerProject OwnerProject Data Access Read-Write
TiDB Cloudのロールの詳細については、 ユーザーロールを参照してください。
ネットワーク
プライベートエンドポイントは、クラウドプロバイダーのPrivate LinkまたはPrivate Service Connectテクノロジーを活用し、VPC 内のリソースが、あたかもそれらのサービスが VPC 内で直接ホストされているかのように、プライベート IP アドレスを介して他の VPC 内のサービスに接続できるようにします。
changefeed ダウンストリーム サービスが AWS でホストされている場合は、次の情報を収集します。
- ダウンストリーム サービスのプライベートエンドポイントサービスの名前
- ダウンストリーム サービスがデプロイされているアベイラビリティゾーン (AZ)
ダウンストリーム サービスでプライベートエンドポイントサービスが利用できない場合は、手順ステップ 2. Kafka クラスターをプライベートリンクサービスとして公開するに従ってロードバランサーとプライベートリンクサービスを設定します。
changefeed ダウンストリーム サービスが Google Cloud でホストされている場合は、ダウンストリーム サービスのサービス アタッチメント情報を収集します。
ダウンストリーム サービスでサービス アタッチメントが利用できない場合は、手順ステップ2. Kafka-proxyをプライベートサービス接続サービスとして公開するに従ってサービス アタッチメント情報を取得します。
changefeed ダウンストリーム サービスが Azure でホストされている場合は、ダウンストリーム サービスのプライベートリンクサービスのエイリアスを収集します。
ダウンストリーム サービスでプライベートエンドポイントサービスが利用できない場合は、手順ステップ 2. Kafka クラスターをプライベートリンクサービスとして公開するに従ってロードバランサーとプライベートリンクサービスを設定します。
ステップ1. クラスターのネットワークページを開きます
TiDB Cloudコンソールにログインします。
クラスターページで、ターゲットクラスターの名前をクリックして、概要ページに移動します。
左側のナビゲーションペインで、 Settings > Networkingをクリックします。
ステップ2. 変更フィードのプライベートエンドポイントを構成する
構成手順は、クラスターがデプロイされているクラウドプロバイダーによって異なります。
Networkingページで、 [外部サービス用 AWS プライベートエンドポイント]セクションの[外部サービス用プライベートエンドポイントの作成]をクリックします。
Create Private Endpoint for External Servicesダイアログで、プライベートエンドポイントの名前を入力します。
リマインダーに従って、 TiDB CloudのAWS プリンシパルにエンドポイントの作成を承認します。
セクションネットワークで収集したEndpoint Service Nameを入力します。
Number of AZsを選択します。AZ の数と AZ ID が Kafka のデプロイメントと一致していることを確認してください。
このプライベートエンドポイントが Apache Kafka 用に作成される場合は、 Kafka 用のアドバタイズドリスナーを構成するチェックボックスを選択します。
TiDB Managedドメインまたはカスタムドメインのいずれかを使用して、Kafka のアドバタイズされたリスナーを構成します。
- アドバタイズされたリスナーにTiDB Managedドメインを使用するには、 Domain Patternフィールドに一意の文字列を入力し、 Generateをクリックします。TiDB は、各アベイラビリティゾーンのサブドメインを持つブローカーアドレスを生成します。
- アドバタイズされたリスナーに独自のCustomドメインを使用するには、ドメイン タイプをCustomに切り替え、 Custom Domainフィールドにルート ドメインを入力し、Checkをクリックして、各アベイラビリティゾーンのブローカー サブドメインを指定します。
Createをクリックして構成を検証し、プライベートエンドポイントを作成します。
Networkingページで、 [外部サービス用 Google Cloud プライベートエンドポイント]セクションの[外部サービス用プライベートエンドポイントの作成]をクリックします。
Create Private Endpoint for External Servicesダイアログで、プライベートエンドポイントの名前を入力します。
リマインダーに従って、 TiDB CloudのGoogle Cloud プロジェクトにエンドポイントの作成を事前承認するよう許可するか、エンドポイント接続リクエストを受け取ったら手動で承認します。
セクションネットワークで収集したService Attachmentを入力します。
このプライベートエンドポイントが Apache Kafka 用に作成される場合は、 Kafka 用のアドバタイズドリスナーを構成するチェックボックスを選択します。
TiDB Managedドメインまたはカスタムドメインのいずれかを使用して、Kafka のアドバタイズされたリスナーを構成します。
- アドバタイズされたリスナーにTiDB Managedドメインを使用するには、 Domain Patternフィールドに一意の文字列を入力し、 Generateをクリックします。TiDB は、各アベイラビリティゾーンのサブドメインを持つブローカーアドレスを生成します。
- アドバタイズされたリスナーに独自のCustomドメインを使用するには、ドメイン タイプをCustomに切り替え、 Custom Domainフィールドにルート ドメインを入力し、Checkをクリックして、各アベイラビリティゾーンのブローカー サブドメインを指定します。
Createをクリックして構成を検証し、プライベートエンドポイントを作成します。
Networkingページで、 [外部サービス用 Azure プライベートエンドポイント]セクションの[外部サービス用プライベートエンドポイントの作成]をクリックします。
Create Private Endpoint for External Servicesダイアログで、プライベートエンドポイントの名前を入力します。
変更フィードを作成する前に、リマインダーに従って、 TiDB Cloudの Azure サブスクリプションを承認するか、エイリアスを持つすべてのユーザーが Private Link サービスにアクセスできるようにしてください。Private Link サービスの可視性に関する詳細については、Azure ドキュメントの制御サービスの公開を参照してください。
セクションネットワークで収集したプライベートリンクサービスのエイリアスを入力します。
このプライベートエンドポイントが Apache Kafka 用に作成される場合は、 Kafka 用のアドバタイズドリスナーを構成するチェックボックスを選択します。
TiDB Managedドメインまたはカスタムドメインのいずれかを使用して、Kafka のアドバタイズされたリスナーを構成します。
- アドバタイズされたリスナーにTiDB Managedドメインを使用するには、 Domain Patternフィールドに一意の文字列を入力し、 Generateをクリックします。TiDB は、各アベイラビリティゾーンのサブドメインを持つブローカーアドレスを生成します。
- アドバタイズされたリスナーに独自のCustomドメインを使用するには、ドメイン タイプをCustomに切り替え、 Custom Domainフィールドにルート ドメインを入力し、Checkをクリックして、各アベイラビリティゾーンのブローカー サブドメインを指定します。
Createをクリックして構成を検証し、プライベートエンドポイントを作成します。