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

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

ヒント:

AWS のプライベート エンドポイント経由でTiDB Cloud Dedicated クラスタに接続する方法については、 AWS のプライベートエンドポイント経由でTiDB Cloud Dedicated に接続する参照してください。Google Cloud のプライベート エンドポイント経由でTiDB Cloud Dedicated クラスタに接続する方法については、 プライベートサービス経由でTiDB Cloud Dedicatedに接続する Google Cloudに接続するを参照してください。

TiDB Cloud は、 AWS プライベートリンクを介して AWS VPC でホストされているTiDB Cloudサービスへの、非常に安全な一方向アクセスをサポートします。これは、サービスが自分の VPC 内にある場合と同じです。プライベート エンドポイントが VPC で公開され、アクセス許可を持つエンドポイントを介してTiDB Cloudサービスへの接続を作成できます。

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

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

Private endpoint architecture

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

制限

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

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. その他のエンドポイント サービスを選択します。

  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 エンドポイントを右クリックし、適切な[セキュリティグループの管理]を選択します。ポート 4000 または顧客定義のポートで EC2 インスタンスからのインバウンドアクセスを許可する、VPC 内の適切なセキュリティグループ。

Manage security groups

プライベート DNS を有効にできません。enableDnsSupport およびenableDnsSupport VPC 属性が有効になっていないことを示すエラーenableDnsHostnames報告されます。

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

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