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



