AWS PrivateLink経由でTiDB Cloud StarterまたはEssentialに接続します。
このドキュメントでは、AWS PrivateLink を介してTiDB Cloud StarterまたはTiDB Cloud Essentialインスタンスに接続する方法について説明します。
ヒント:
- AWS のプライベート エンドポイント経由でTiDB Cloud Dedicatedクラスターに接続する方法については、 AWS PrivateLink を介してTiDB Cloud Dedicatedクラスタに接続します。を参照してください。
- Azure のプライベート エンドポイントを介してTiDB Cloud Dedicatedクラスターに接続する方法については、 Azureプライベートリンクを介してTiDB Cloud Dedicatedクラスタに接続するD dedicated クラスターに接続する」を参照してください。
- Google Cloud のプライベート エンドポイント経由でTiDB Cloud Dedicatedクラスターに接続する方法については、 Google Cloud Private Service Connect を介してTiDB Cloud Dedicatedクラスタに接続します。参照してください。
TiDB Cloudは、 AWS VPC内でホストされているTiDB CloudサービスへのAWSプライベートリンクを介した高度に安全な一方向アクセスをサポートしています。まるでサービスがお客様自身のVPC内にあるかのように動作します。お客様のVPC内にプライベートエンドポイントが公開され、権限があればそのエンドポイントを介してTiDB Cloudサービスへの接続を作成できます。
AWS PrivateLink を利用したエンドポイント接続は、安全かつプライベートであり、お客様のデータをパブリックインターネットに公開することはありません。さらに、エンドポイント接続は CIDR オーバーラップをサポートしており、ネットワーク管理が容易です。
プライベートエンドポイントのアーキテクチャは以下のとおりです。
プライベートエンドポイントおよびエンドポイントサービスのより詳細な定義については、以下のAWSドキュメントを参照してください。
制限
- 現在、 TiDB CloudはエンドポイントサービスがAWSでホストされている場合にのみAWS PrivateLink接続をサポートしています。サービスが他のクラウドプロバイダーでホストされている場合、AWS PrivateLink接続は利用できません。
- リージョンをまたいだプライベートエンドポイント接続はサポートされていません。
前提条件
AWS VPC 設定で DNS ホスト名と DNS 解決の両方が有効になっていることを確認してください。 AWS マネジメントコンソールで VPC を作成すると、デフォルトでは無効になります。
AWSでプライベートエンドポイントを設定する
TiDB Cloud StarterまたはTiDB Cloud Essentialインスタンスにプライベートエンドポイント経由で接続するには、以下の手順に従ってください。
- TiDB Cloud StarterまたはEssentialインスタンスを選択してください。
- AWSインターフェースエンドポイントを作成する
- TiDB Cloudでプライベートエンドポイントを認証する(オプション)
- TiDB Cloud StarterまたはEssentialインスタンスに接続します。
ステップ1. TiDB Cloud StarterまたはEssentialインスタンスを選択します {#step-1-choose-a-tidb-instance}
私のTiDBページで、対象のTiDB Cloud StarterまたはTiDB Cloud Essentialインスタンスの名前をクリックすると、その概要ページに移動します。
右上隅の「接続」をクリックしてください。接続ダイアログが表示されます。
「接続タイプ」ドロップダウンリストで、 「プライベートエンドポイント」を選択します。
サービス名、アベイラビリティゾーンID 、リージョンIDをメモしておいてください。
注記:
AWSリージョンごとに作成する必要があるプライベートエンドポイントは1つだけで、同じリージョンにあるすべてのTiDB Cloud StarterまたはTiDB Cloud Essentialインスタンスで共有できます。
ステップ2. AWSインターフェースエンドポイントを作成する
AWS マネジメントコンソールを使用して VPC インターフェイス エンドポイントを作成するには、次の手順を実行します。
AWS マネジメントコンソールコンソールにサインインし、 https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。
ナビゲーションペインの「エンドポイント」をクリックし、右上隅の「エンドポイントの作成」をクリックします。
エンドポイント作成ページが表示されます。
NLBとGWLBを使用するエンドポイントサービスを選択します。
ステップ1で見つけたサービス名を入力します。
「サービスを確認する」をクリックしてください。
ドロップダウンリストからVPCを選択します。 「追加設定」を展開し、 「DNS名を有効にする」チェックボックスをオンにします。
サブネット領域で、 TiDB Cloud StarterまたはEssentialインスタンスが配置されているアベイラビリティゾーンを選択し、サブネットIDを選択します。
Securityグループ領域で、適切なセキュリティグループを選択してください。
注記:
選択したセキュリティグループが、EC2インスタンスからのポート4000への受信アクセスを許可していることを確認してください。
「エンドポイントの作成」をクリックします。
AWS CLI を使用して VPC インターフェイス エンドポイントを作成するには、次の手順を実行します。
- VPC IDとサブネットIDを取得するには、AWSマネジメントコンソールに移動し、該当するセクションでそれらを見つけてください。ステップ1で見つけたアベイラビリティゾーンIDを必ず入力してください。
- 以下のコマンドをコピーし、該当する引数をあなたが取得した情報に置き換えてから、ターミナルで実行してください。
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でプライベートエンドポイントを認証する(オプション)
注記:
この手順は任意です。特定のプライベートエンドポイント接続へのアクセスを制限する場合にのみ、承認済みネットワークを設定する必要があります。ルールが設定されていない場合、すべてのプライベートエンドポイント接続がデフォルトで許可されます。
AWSインターフェースエンドポイントを作成した後、対象のTiDB Cloud StarterまたはTiDB Cloud Essentialインスタンスに対して認証を行い、アクセスを制限できます。
私のTiDBページで、対象のTiDB Cloud StarterまたはTiDB Cloud Essentialインスタンスの名前をクリックすると、その概要ページに移動します。
左側のナビゲーションペインで、 [設定] > [ネットワーク]をクリックします。
プライベートエンドポイントのセクションまでスクロールダウンし、承認済みネットワークの表を探してください。
ファイアウォールルールを追加するには、 「ルールの追加」をクリックします。
エンドポイント サービス名:ステップ1から取得したサービス名を貼り付けます。
ファイアウォールルール名:この接続を識別するための名前を入力してください。
VPCエンドポイントID :AWSマネジメントコンソールから取得した22文字のVPCエンドポイントIDを貼り付けてください(
vpce-で始まります)。
ヒント:
- 「承認済みネットワーク」テーブルを空のままにした場合、デフォルトで全てのプライベートエンドポイント接続が許可されます。
- クラウドリージョンからのすべてのプライベートエンドポイント接続を許可するには(テストまたはオープンアクセスのため)、 [VPCエンドポイントID]フィールドにアスタリスク(
*)を1つ入力します。
「送信」をクリックしてください。
ステップ4. TiDB Cloud StarterまたはEssentialインスタンスに接続します {#step-4-connect-to-your-tidb}
インターフェースエンドポイントを作成したら、 TiDB Cloudコンソールに戻り、以下の手順を実行してください。
- 私のTiDBページで、対象のTiDB Cloud StarterまたはEssentialインスタンスの名前をクリックすると、その概要ページに移動します。
- 右上隅の「接続」をクリックしてください。接続ダイアログが表示されます。
- 「接続タイプ」ドロップダウンリストで、 「プライベートエンドポイント」を選択します。
- 「接続方法」ドロップダウンリストから、希望する接続方法を選択してください。対応する接続文字列がダイアログの下部に表示されます。
- 接続文字列を使用して、 TiDB Cloud StarterまたはEssentialインスタンスに接続します。
ヒント:
TiDB Cloud StarterまたはEssentialインスタンスに接続できない場合、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 Cloud StarterまたはEssentialインスタンスに接続できません。なぜでしょうか?
AWS マネジメント コンソールで、 VPC エンドポイントのセキュリティ グループを適切に設定する必要がある場合があります。VPC >エンドポイントに移動します。VPC エンドポイントを右クリックし、適切なセキュリティ グループの管理を選択します。VPC 内に、EC2 インスタンスからのポート 4000 またはお客様定義のポートへの受信アクセスを許可する適切なセキュリティ グループを設定します。


