プライベートエンドポイント経由でTiDB Cloud Serverless に接続する

このドキュメントでは、プライベート エンドポイント経由でTiDB Cloud Serverless クラスターに接続する方法について説明します。

ヒント:

TiDB Cloudは、AWS VPCでホストされているTiDB Cloudサービスへの、 AWS プライベートリンク経由の高度に安全な一方向アクセスをサポートします。まるでお客様のVPC内にあるかのようにアクセス可能です。VPC内にプライベートエンドポイントが公開されており、権限があればエンドポイント経由でTiDB Cloudサービスへの接続を作成できます。

AWS PrivateLink を利用することで、エンドポイント接続は安全かつプライベートになり、データがパブリックインターネットに公開されることはありません。さらに、エンドポイント接続は CIDR オーバーラップをサポートし、ネットワーク管理が容易になります。

プライベート エンドポイントのアーキテクチャは次のとおりです。

Private endpoint architecture

プライベートエンドポイントとエンドポイントサービスの詳細な定義については、次の AWS ドキュメントを参照してください。

制限

  • 現在、 TiDB Cloud は、エンドポイントサービスが AWS でホストされている場合にのみ、 TiDB Cloud Serverless へのプライベートエンドポイント接続をサポートしています。サービスが Google Cloud でホストされている場合、プライベートエンドポイントは適用されません。
  • リージョン間のプライベート エンドポイント接続はサポートされていません。

前提条件

AWS VPC設定でDNSホスト名とDNS解決の両方が有効になっていることを確認してください。1 AWS マネジメントコンソール VPCを作成すると、これらはデフォルトで無効になります。

AWSでプライベートエンドポイントを設定する

プライベート エンドポイント経由でTiDB Cloud Serverless クラスターに接続するには、次の手順に従います。

  1. TiDBクラスタを選択する
  2. AWSインターフェースエンドポイントを作成する
  3. TiDBクラスタに接続する

ステップ1. TiDBクラスターを選択する

  1. クラスターページで、ターゲットのTiDB Cloud Serverless クラスターの名前をクリックして、概要ページに移動します。

  2. 右上隅の「接続」をクリックします。接続ダイアログが表示されます。

  3. [接続タイプ]ドロップダウン リストで、 [プライベート エンドポイント]を選択します。

  4. サービス名アベイラビリティーゾーン IDリージョンID をメモします。

    注記:

    AWS リージョンごとにプライベートエンドポイントを 1 つ作成するだけで、同じリージョンにあるすべてのTiDB Cloud Serverless クラスターで共有できます。

ステップ2. AWSインターフェースエンドポイントを作成する

  • Use AWS Console
  • Use AWS CLI

AWS マネジメントコンソールを使用して VPC インターフェイスエンドポイントを作成するには、次の手順を実行します。

  1. AWS マネジメントコンソールにサインインし、 https://console.aws.amazon.com/vpc/で Amazon VPC コンソールを開きます。

  2. ナビゲーション ペインで[エンドポイント]をクリックし、右上隅の[エンドポイントの作成]をクリックします。

    エンドポイントの作成ページが表示されます。

    Verify endpoint service

  3. NLB および GWLB を使用するエンドポイント サービスを選択します。

  4. ステップ1で確認したサービス名を入力します。

  5. [サービスの確認]をクリックします。

  6. ドロップダウンリストからVPCを選択します。 「追加設定」を展開し、 「DNS名を有効にする」チェックボックスをオンにします。

  7. [サブネット]領域で、TiDB クラスターが配置されているアベイラビリティーゾーンを選択し、サブネット ID を選択します。

  8. Securityグループ領域でセキュリティ グループを適切に選択します。

    注記:

    選択したセキュリティ グループがポート 4000 上の EC2 インスタンスからの受信アクセスを許可していることを確認します。

  9. [エンドポイントの作成]をクリックします。

AWS CLI を使用して VPC インターフェイスエンドポイントを作成するには、次の手順を実行します。

  1. VPC IDサブネット IDを取得するには、AWS マネジメントコンソールに移動し、該当するセクションでそれらを見つけますステップ1で確認したアベイラビリティーゾーン IDを必ず入力してください。
  2. 以下のコマンドをコピーし、関連する引数を取得した情報に置き換えて、ターミナルで実行します。
aws ec2 create-vpc-endpoint --vpc-id ${your_vpc_id} --region ${region_id} --service-name ${service_name} --vpc-endpoint-type Interface --subnet-ids ${your_subnet_id}

ヒント:

コマンドを実行する前に、AWS CLI をインストールして設定しておく必要があります。詳細はAWS CLI 設定の基本参照してください。

その後、プライベート DNS 名を使用してエンドポイント サービスに接続できます。

ステップ3: TiDBクラスターに接続する

インターフェース エンドポイントを作成したら、 TiDB Cloudコンソールに戻り、次の手順を実行します。

  1. クラスターページで、ターゲット クラスターの名前をクリックして、概要ページに移動します。
  2. 右上隅の「接続」をクリックします。接続ダイアログが表示されます。
  3. [接続タイプ]ドロップダウン リストで、 [プライベート エンドポイント]を選択します。
  4. 「接続方法」ドロップダウンリストで、希望する接続方法を選択します。対応する接続文字列がダイアログの下部に表示されます。
  5. 接続文字列を使用してクラスターに接続します。

ヒント:

クラスターに接続できない場合は、AWS の VPC エンドポイントのセキュリティグループが正しく設定されていないことが原因である可能性があります。解決策についてはこのFAQご覧ください。

VPC エンドポイントを作成するときにエラーprivate-dns-enabled cannot be set because there is already a conflicting DNS domain for gatewayXX-privatelink.XX.prod.aws.tidbcloud.com in the VPC vpc-XXXXX発生した場合は、プライベート エンドポイントがすでに作成されているため、新しいエンドポイントを作成する必要はありません。

トラブルシューティング

プライベートDNSを有効にした後、プライベートエンドポイント経由でTiDBクラスターに接続できません。なぜですか?

AWSマネジメントコンソールで、VPCエンドポイントのセキュリティグループを適切に設定する必要がある場合があります。 「VPC」 > 「エンドポイント」に移動します。VPCエンドポイントを右クリックし、「セキュリティグループの管理」を選択します。VPC内に適切なセキュリティグループを作成し、ポート4000またはお客様定義のポートでEC2インスタンスからのインバウンドアクセスを許可します。

Manage security groups

このページは役に立ちましたか?