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をクリックして構成を検証し、プライベート エンドポイントを作成します。