AWS PrivateLink経由でTiDB Cloud Premiumに接続します。
このドキュメントではAWSプライベートリンク経由でTiDB Cloud Premium インスタンスに接続する方法について説明します。
ヒント:
AWS PrivateLink 経由でTiDB Cloud StarterまたはTiDB Cloud Essentialインスタンスに接続する方法については、 AWS PrivateLink経由でTiDB Cloud StarterまたはEssentialに接続します。を参照してください。
TiDB Cloudは、 AWS VPC内でホストされているTiDB Cloudサービスへの高度に安全な一方向アクセスをAWSプライベートリンク経由でサポートしており、まるでサービスがお客様自身のVPC内にあるかのように動作します。お客様のVPC内にプライベートエンドポイントが公開され、権限があればそのエンドポイント経由でTiDB Cloudサービスへの接続を作成できます。
AWS PrivateLink を利用したエンドポイント接続は、安全かつプライベートであり、お客様のデータをパブリックインターネットに公開することはありません。さらに、エンドポイント接続は CIDR オーバーラップをサポートしており、ネットワーク管理が容易です。
プライベートエンドポイントのアーキテクチャは以下のとおりです。
プライベートエンドポイントおよびエンドポイントサービスのより詳細な定義については、以下のAWSドキュメントを参照してください。
制限
Organization Ownerロールを持つユーザーのみがプライベートエンドポイント接続を作成できます。- 接続先のプライベートエンドポイントとTiDB Cloud Premiumインスタンスは、同じリージョンに配置されている必要があります。
前提条件
AWS VPC 設定で DNS ホスト名と DNS 解決の両方が有効になっていることを確認してください。 AWS マネジメントコンソールで VPC を作成すると、デフォルトでは無効になります。
プライベートエンドポイント接続を設定し、インスタンスに接続します。
プライベートエンドポイント経由でTiDB Cloud Premiumインスタンスに接続するには、以下の手順に従ってください。
- TiDB Cloud Premiumインスタンスを選択してください
- AWSインターフェースエンドポイントを作成する
- プライベートエンドポイント接続を作成する
- プライベートDNSを有効にする
- TiDB Cloud Premiumインスタンスに接続します
複数のインスタンスがある場合は、AWS PrivateLinkを使用して接続したいインスタンスごとに、これらの手順を繰り返す必要があります。
ステップ1. TiDB Cloud Premiumインスタンスを選択します {#step-1-select-a-premium-instance}
- TiDB Cloudコンソールの私のTiDBページで、対象のTiDB Cloud Premium インスタンスの名前をクリックして、概要ページに移動します。
- 右上隅の「接続」をクリックしてください。接続ダイアログが表示されます。
- 「接続タイプ」ドロップダウンリストで「プライベートエンドポイント」を選択し、 「プライベートエンドポイント接続の作成」をクリックします。
注記:
既にプライベートエンドポイント接続を作成済みの場合、アクティブなエンドポイントが接続ダイアログに表示されます。追加のプライベートエンドポイント接続を作成するには、左側のナビゲーションペインで「設定」 > 「ネットワーク」をクリックして、 「ネットワーク」ページに移動します。
ステップ2. AWSインターフェースエンドポイントを作成する
注記:
TiDB Cloud Premiumの各インスタンスに対して、対応するエンドポイントサービスは、インスタンス作成後3~4分で自動的に作成されます。
TiDB Private Link Service is readyというメッセージが表示された場合、対応するエンドポイントサービスが準備完了です。エンドポイントを作成するには、以下の情報を提供してください。
「VPC ID」フィールドと「サブネット ID」フィールドに入力します。これらの ID はAWS マネジメントコンソールコンソールから見つけることができます。複数のサブネットの場合は、ID をスペースで区切って入力します。
「コマンド生成」をクリックすると、以下のエンドポイント作成コマンドが表示されます。
aws ec2 create-vpc-endpoint --vpc-id ${your_vpc_id} --region ${your_region} --service-name ${your_endpoint_service_name} --vpc-endpoint-type Interface --subnet-ids ${your_application_subnet_ids}
次に、AWS CLI またはAWS マネジメントコンソールコンソールを使用して、AWS インターフェイスエンドポイントを作成できます。
AWS CLI を使用して VPC インターフェイス エンドポイントを作成するには、次の手順を実行します。
- 生成されたコマンドをコピーして、ターミナルで実行してください。
- 先ほど作成したVPCエンドポイントIDを記録してください。
ヒント:
コマンドを実行する前に、AWS CLI をインストールして設定する必要があります。詳細については、 AWS CLI設定の基本を参照してください。
サービスが3つ以上の可用性ゾーン(AZ)にまたがっている場合、VPCエンドポイントサービスがサブネットのAZをサポートしていないことを示すエラーメッセージが表示されます。この問題は、TiDB Cloud Premiumインスタンスが配置されているAZに加えて、選択したリージョンに別のAZが存在する場合に発生します。この場合は、 PingCAPテクニカルサポートTiDB Cloudサポートにお問い合わせください。
AWS マネジメントコンソールを使用して VPC インターフェイス エンドポイントを作成するには、次の手順を実行します。
AWS マネジメントコンソールコンソールにサインインし、 https://console.aws.amazon.com/vpc/で Amazon VPC コンソールを開きます。
ナビゲーションペインの「エンドポイント」をクリックし、右上隅の「エンドポイントの作成」をクリックします。
エンドポイント作成ページが表示されます。
エンドポイント設定領域で、必要に応じて名前タグを入力し、次に「NLBとGWLBを使用するエンドポイントサービス」オプションを選択します。
サービス設定エリアで、生成されたコマンド(
${your_endpoint_service_name}--service-name ${your_endpoint_service_name}}を入力します。「サービスを確認する」をクリックしてください。
ネットワーク設定エリアで、ドロップダウンリストからVPCを選択します。
サブネット領域で、 TiDB Cloud Premiumインスタンスが配置されているアベイラビリティゾーンを選択します。
ヒント:
サービスが3つ以上の可用性ゾーン(AZ)にまたがっている場合、サブネット領域でAZを選択できない場合があります。この問題は、選択したリージョンに、 TiDB Cloud Premiumインスタンスが配置されているAZに加えて、さらに別のAZが存在する場合に発生します。この場合は、 PingCAPテクニカルサポートエンドサポートにお問い合わせください。
Securityグループの領域で、適切なセキュリティグループを選択してください。
注記:
選択したセキュリティグループが、ポート
4000または顧客定義ポートでの EC2 インスタンスからの受信アクセスを許可していることを確認してください。「エンドポイントの作成」をクリックします。
ステップ3. プライベートエンドポイント接続を作成する
- TiDB Cloudコンソールに戻ってください。
- AWSプライベートエンドポイント接続の作成ページで、VPCエンドポイントIDを入力します。
- 「プライベートエンドポイント接続の作成」をクリックします。
ヒント:
プライベートエンドポイント接続は、対象のTiDB Cloud Premiumインスタンスの「ネットワーク」ページで表示および管理できます。このページにアクセスするには、左側のナビゲーションペインで「設定」 > 「ネットワーク」をクリックします。
ステップ4. プライベートDNSを有効にする
AWSでプライベートDNSを有効にするには、AWS CLIまたはAWSマネジメントコンソールを使用できます。
AWS CLI を使用してプライベート DNS を有効にするには、 [プライベート エンドポイント接続の作成] ページから次のaws ec2 modify-vpc-endpointコマンドをコピーし、AWS CLI で実行します。
aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${your_vpc_endpoint_id} --private-dns-enabled
または、インスタンスのネットワークページでコマンドを見つけることもできます。プライベートエンドポイントを見つけて、 [アクション]列の[...] > [DNSを有効にする]をクリックします。
AWS マネジメントコンソールでプライベート DNS を有効にするには:
VPC >エンドポイントに移動します。
エンドポイント ID を右クリックして、 [プライベート DNS 名の変更]を選択します。
「このエンドポイントを有効にする」チェックボックスを選択してください。
「変更を保存」をクリックしてください。
ステップ5.TiDB Cloud Premiumインスタンスに接続します {#step-5-connect-to-your-premium-instance}
プライベートエンドポイントへの接続を承認すると、接続ダイアログにリダイレクトされます。
- プライベートエンドポイントの接続ステータスが「システムチェック中」から「アクティブ」に変わるまでお待ちください(約5分)。
- 「接続方法」ドロップダウンリストから、希望する接続方法を選択してください。対応する接続文字列がダイアログの下部に表示されます。
- 接続文字列を使用してインスタンスに接続してください。
ヒント:
インスタンスに接続できない場合、AWS の VPC エンドポイントのセキュリティ グループが正しく設定されていないことが原因である可能性があります。解決策については、このFAQ参照してください。
プライベートエンドポイントの状態参照
プライベートエンドポイント接続を使用する場合、プライベートエンドポイントおよびプライベートエンドポイントサービスのステータスは、インスタンスレベルのネットワークページに表示されます。
- 組織の私のTiDBページに移動し、対象のTiDB Cloud Premiumインスタンスの名前をクリックして概要ページに移動します。
- 左側のナビゲーションペインで、 [設定] > [ネットワーク]をクリックします。
プライベートエンドポイントの可能なステータスは、以下のように説明されます。
- 未設定:エンドポイントサービスは作成されていますが、プライベートエンドポイントはまだ作成されていません。
- 保留中:処理待ちです。
- アクティブ:プライベートエンドポイントは使用可能です。この状態ではプライベートエンドポイントを編集することはできません。
- 削除中:プライベートエンドポイントが削除されています。
- 失敗:プライベートエンドポイントの作成に失敗しました。該当行の「編集」をクリックすると、作成を再試行できます。
プライベートエンドポイントサービスの可能なステータスは、以下のように説明されます。
- 作成中:エンドポイントサービスを作成中です。これには3~5分かかります。
- アクティブ:プライベートエンドポイントが作成されるかどうかに関わらず、エンドポイントサービスが作成されます。
- 削除中:エンドポイントサービスまたはインスタンスが削除されています。これには3~5分かかります。
トラブルシューティング
プライベートDNSを有効にした後、プライベートエンドポイント経由でTiDB Cloud Premiumインスタンスに接続できません。なぜでしょうか?
AWS マネジメント コンソールで、VPC エンドポイントのセキュリティ グループを適切に設定する必要がある場合があります。そのためには、 [VPC] > [エンドポイント]に移動し、VPC エンドポイントを右クリックして、 [セキュリティ グループの管理]を選択します。選択したセキュリティ グループが、ポート4000またはお客様定義のポートで EC2 インスタンスからの受信アクセスを許可していることを確認してください。



