AWS PrivateLink経由でTiDB Cloud Premiumに接続します。
このドキュメントでは、AWS PrivateLink 経由で TiDB Cloud Premium インスタンスに接続する方法について説明します。
TiDB Cloudは、 AWS VPC内でホストされているTiDB Cloudサービスへの高度に安全な一方向アクセスをAWSプライベートリンク経由でサポートしており、まるでサービスがお客様自身のVPC内にあるかのように動作します。お客様のVPC内にプライベートエンドポイントが公開され、権限があればそのエンドポイント経由でTiDB Cloudサービスへの接続を作成できます。
AWS PrivateLink を利用したエンドポイント接続は、安全かつプライベートであり、お客様のデータをパブリックインターネットに公開することはありません。さらに、エンドポイント接続は CIDR オーバーラップをサポートしており、ネットワーク管理が容易です。
プライベートエンドポイントのアーキテクチャは以下のとおりです。
プライベートエンドポイントおよびエンドポイントサービスのより詳細な定義については、以下のAWSドキュメントを参照してください。
制限
- 対象インスタンスの
Organization Owner、Project Owner、またはInstance Ownerロールを持つユーザーのみがプライベートエンドポイント接続を作成できます。 - 接続先のプライベートエンドポイントと TiDB Cloud Premium インスタンスは、同じリージョン に配置されている必要があります。
前提条件
AWS VPC 設定で DNS ホスト名と DNS 解決の両方が有効になっていることを確認してください。 AWS マネジメントコンソールで VPC を作成すると、デフォルトでは無効になります。
プライベートエンドポイント接続を設定し、インスタンスに接続します。
プライベートエンドポイント経由でTiDB Cloud Premium インスタンスに接続するには、以下の手順に従ってください。
- プライベートエンドポイント接続ダイアログを開く
- AWS で VPC エンドポイントを作成する
- TiDB Cloud で VPC エンドポイント ID を入力する
- プライベートDNSを有効にする
- TiDB Cloud Premium インスタンスに接続する
複数のインスタンスがある場合は、AWS PrivateLinkを使用して接続したいインスタンスごとに、これらの手順を繰り返す必要があります。
Step 1. プライベートエンドポイント接続ダイアログを開く
- TiDB Cloud コンソールの My TiDB ページで、対象の TiDB Cloud Premium インスタンス名をクリックして、その概要ページに移動します。
- 右上隅の Connect をクリックします。接続ダイアログが表示されます。
- Connection Type ドロップダウンリストで Private Endpoint を選択し、Create Private Endpoint Connection をクリックします。
- Create AWS Private Endpoint Connection ダイアログで、
TiDB Private Link Service is readyメッセージが表示されるまで待ちます。 - Endpoint Service Name をコピーします。
Step 2. AWS で VPC endpoint を作成する
endpoint service の準備ができたら、AWS アカウントで VPC interface endpoint を作成します。TiDB Cloud が生成した AWS CLI コマンドを使用することも、AWS Management Console で endpoint を手動で作成することもできます。
TiDB Cloud で AWS CLI コマンドを生成するには、Create AWS Private Endpoint Connection ダイアログで How to Generate VPC Endpoint ID を展開し、次の操作を行います。
- Your VPC ID を入力します。
- Your Subnet IDs を入力します。複数の subnet を指定する場合は、subnet ID をスペースで区切ります。
- subnet がダイアログでサポートされている availability zone にあることを確認します。他の availability zone の subnet は使用しないでください。
- Generate Command をクリックします。
生成されるコマンドは次のようになります。
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 を使用して VPC endpoint を作成するには、次の手順を実行します。
- TiDB Cloud で生成されたコマンドをコピーします。
- ターミナルでコマンドを実行します。
- AWS から返される VPC endpoint ID を記録します。VPC endpoint ID は
vpce-で始まります。
AWS Management Console を使用して VPC endpoint を作成するには、次の手順を実行します。
AWS Management Console にサインインし、https://console.aws.amazon.com/vpc/ で Amazon VPC コンソールを開きます。
ナビゲーションペインで Endpoints をクリックし、右上隅の Create Endpoint をクリックします。
Create endpoint ページが表示されます。
Endpoint settings エリアで、必要に応じて name tag を入力し、Endpoint services that use NLBs and GWLBs オプションを選択します。
Service settings エリアで、TiDB Cloud からコピーした Endpoint Service Name を入力します。
Verify service をクリックします。
Network settings エリアで、ドロップダウンリストから VPC を選択します。
Subnets エリアで、TiDB Cloud Premium インスタンスが配置されている availability zone を選択します。
Security groups エリアで、適切な security group を選択します。
Create endpoint をクリックします。
endpoint の作成後、その VPC endpoint ID を記録します。VPC endpoint ID は
vpce-で始まります。
Step 3. TiDB Cloud で VPC endpoint ID を入力する
- TiDB Cloud コンソールに戻ります。
- Create AWS Private Endpoint Connection ダイアログで、AWS で作成した VPC endpoint ID を Your VPC Endpoint ID フィールドに入力します。
- Create Private Endpoint をクリックします。
ステップ4. プライベートDNSを有効にする
TiDB Cloud でプライベートエンドポイントを作成したら、プライベートエンドポイント接続を完了するために AWS でプライベート DNS を有効にします。TiDB Cloud では、Create AWS Private Endpoint Connection ダイアログに aws ec2 modify-vpc-endpoint コマンドが表示されます。このコマンドは後から Networking ページでも取得できます。
TiDB Cloud によって生成されたコマンドを使用してプライベート DNS を有効にするには、次の手順を実行します。
次のいずれかの場所から
aws ec2 modify-vpc-endpointコマンドをコピーします。- プライベートエンドポイントの作成後に表示される Create AWS Private Endpoint Connection ダイアログ
- インスタンスの Networking ページで、AWS Private Endpoint エリアにある対象のプライベートエンドポイントの ... > Enable DNS をクリックします。
AWS CLI でコマンドを実行します。
aws ec2 modify-vpc-endpoint --vpc-endpoint-id ${your_vpc_endpoint_id} --region ${your_region} --private-dns-enabledコマンドが正常に実行されたら、TiDB Cloud のダイアログに戻り、Done をクリックします。
AWS マネジメントコンソールでプライベート DNS を有効にするには:
VPC > Endpoints に移動します。
エンドポイント ID を右クリックし、Modify private DNS name を選択します。
Enable for this endpoint チェックボックスを選択します。
Save changes をクリックします。
TiDB Cloud に戻り、Create AWS Private Endpoint Connection または Enable DNS ダイアログで Done をクリックします。
ステップ5.TiDB Cloud Premiumインスタンスに接続します {#step-5-connect-to-your-premium-instance}
プライベートエンドポイント接続が作成されると、接続ダイアログにリダイレクトされます。
プライベートエンドポイント接続のステータスが System Checking から Active に変わるまで待機してください(約 5 分)。
Connection Type ドロップダウンリストで、Private Endpoint を選択します。
Endpoint ID ドロップダウンリストで、使用するアクティブな VPC エンドポイントを選択します。
Endpoint ID ドロップダウンリストには、アクティブなエンドポイントのみが表示されます。さらにエンドポイントを追加するには、Networking ページに移動してください。
Connect With ドロップダウンリストで、希望する接続方法を選択します。
インスタンスに root パスワードが設定されていない場合は、Set Root Password をクリックして、先にパスワードを設定してください。
ダイアログから接続パラメータまたは接続文字列をコピーし、その後インスタンスに接続します。
プライベートエンドポイントの状態参照
プライベートエンドポイント接続を使用する場合、プライベートエンドポイントおよびプライベートエンドポイントサービスのステータスは、インスタンスレベルのネットワークページに表示されます。
- 組織のMy TiDBページに移動し、対象のTiDB Cloud Premiumインスタンスの名前をクリックして、その概要ページに移動します。
- 左側のナビゲーションペインで、Settings > Networkingをクリックします。
プライベートエンドポイントの可能なステータスは、以下のように説明されます。
- 未設定:エンドポイントサービスは作成されていますが、プライベートエンドポイントはまだ作成されていません。
- 保留中:処理待ちです。
- アクティブ:プライベートエンドポイントは使用可能です。この状態ではプライベートエンドポイントを編集することはできません。
- 削除中:プライベートエンドポイントが削除されています。
- 失敗:プライベートエンドポイントの作成に失敗しました。該当行の「編集」をクリックすると、作成を再試行できます。
プライベートエンドポイントサービスの可能なステータスは、以下のように説明されます。
- 作成中:エンドポイントサービスを作成中です。これには3~5分かかります。
- アクティブ:プライベートエンドポイントが作成されるかどうかに関わらず、エンドポイントサービスが作成されます。
- 削除中:エンドポイントサービスまたはインスタンスが削除されています。これには3~5分かかります。
トラブルシューティング
プライベートDNSを有効にした後、プライベートエンドポイント経由でTiDB Cloud Premiumインスタンスに接続できません。なぜでしょうか?
AWS マネジメント コンソールで、VPC エンドポイントのセキュリティ グループを適切に設定する必要がある場合があります。そのためには、 [VPC] > [エンドポイント]に移動し、VPC エンドポイントを右クリックして、 [セキュリティ グループの管理]を選択します。選択したセキュリティ グループが、ポート4000またはお客様定義のポートで EC2 インスタンスからの受信アクセスを許可していることを確認してください。



