VPC ピアリング経由でTiDB Cloud Dedicated に接続する
アプリケーションをVPCピアリング経由でTiDB Cloudに接続するには、 TiDB CloudでVPCピアリング設定する必要があります。このドキュメントでは、VPCピアリング接続AWS上とGoogle Cloudで設定と、VPCピアリング経由でTiDB Cloudに接続する手順について説明します。
VPCピアリングは、2つのVPC間のネットワーク接続であり、プライベートIPアドレスを使用してトラフィックをルーティングできます。どちらのVPC内のインスタンスも、同じネットワーク内にあるかのように相互に通信できます。
現在、同一リージョン内の同一プロジェクトのTiDBクラスターは同じVPC内に作成されます。そのため、あるプロジェクトのリージョンでVPCピアリングを設定すると、そのプロジェクトの同一リージョン内に作成されたすべてのTiDBクラスターをVPC内で接続できるようになります。VPCピアリングの設定はクラウドプロバイダーによって異なります。
前提条件: リージョンの CIDR を設定する
CIDR (Classless Inter-Domain Routing) は、 TiDB Cloud Dedicated クラスターの VPC を作成するために使用される CIDR ブロックです。
VPCピアリングリクエストをリージョンに追加するには、そのリージョンのCIDRを設定し、そのリージョンに最初のTiDB Cloud Dedicatedクラスターを作成する必要があります。最初の専用クラスターが作成されると、 TiDB CloudはクラスターのVPCを作成し、アプリケーションのVPCへのピアリングリンクを確立できるようになります。
最初のTiDB Cloud Dedicatedクラスタを作成する際にCIDRを設定できます。クラスタ作成前にCIDRを設定する場合は、以下の操作を実行してください。
TiDB Cloudコンソールで、左上隅のコンボ ボックスを使用してターゲット プロジェクトに切り替えます。
左側のナビゲーション ペインで、 Project Settings > Network Accessをクリックします。
Network Accessページで、 Project CIDRタブをクリックし、クラウド プロバイダーに応じてAWSまたはGoogle Cloudを選択します。
右上隅のCreate CIDRをクリックします。 Create AWS CIDRまたはCreate Google Cloud CIDRダイアログでリージョンと CIDR 値を指定し、 Confirmをクリックします。
クラウド プロバイダーと特定のリージョンの CIDR を確認する。
CIDRはデフォルトで無効になっています。CIDRを有効にするには、対象リージョンにクラスターを作成する必要があります。リージョンのCIDRが有効な場合は、そのリージョンにVPCピアリングを作成できます。
AWS で VPC ピアリングを設定する
このセクションでは、AWS で VPC ピアリング接続を設定する方法について説明します。Google Cloud については、 Google Cloud で VPC ピアリングを設定するを参照してください。
ステップ1. VPCピアリングリクエストを追加する
VPC ピアリング リクエストは、TiDB Cloudコンソールのプロジェクト レベルの Network Accessページまたはクラスタ レベルのNetworkingページのいずれかで追加できます。
TiDB Cloudコンソールで、左上隅のコンボ ボックスを使用してターゲット プロジェクトに切り替えます。
左側のナビゲーション ペインで、 Project Settings > Network Accessをクリックします。
Network Accessページで、 VPC Peeringタブをクリックし、 AWSサブタブをクリックします。
VPC Peering構成はデフォルトで表示されます。
右上隅でCreate VPC Peeringをクリックし、 TiDB Cloud VPC Regionを選択して、既存の AWS VPC の必要な情報を入力します。
- Your VPC Region
- AWS Account ID
- VPC ID
- VPC CIDR
このような情報は、 AWS マネジメントコンソールの VPC 詳細ページから取得できます。TiDB Cloud は、同じリージョン内または 2 つの異なるリージョンの VPC 間の VPC ピアリングの作成をサポートしています。
CreateをクリックしてVPCピアリングリクエストを送信し、 VPC Peering > AWSタブでVPCピアリング情報を確認します。新しく作成されたVPCピアリングのステータスはSystem Checkingです。
新しく作成したVPCピアリングの詳細情報を表示するには、 Action列の... > Viewをクリックします。 VPC Peering Detailsページが表示されます。
ターゲット クラスターの概要ページを開きます。
TiDB Cloudコンソールにログインし、プロジェクトのクラスターページに移動します。
ターゲット クラスターの名前をクリックすると、概要ページに移動します。
左側のナビゲーション ペインで、 Settings > Networkingをクリックします。
NetworkingページでCreate VPC Peeringをクリックし、既存の AWS VPC の必要な情報を入力します。
- Your VPC Region
- AWS Account ID
- VPC ID
- VPC CIDR
このような情報は、 AWS マネジメントコンソールの VPC 詳細ページから取得できます。TiDB Cloud は、同じリージョン内または 2 つの異なるリージョンの VPC 間の VPC ピアリングの作成をサポートしています。
CreateをクリックしてVPCピアリングリクエストを送信し、 Networking > AWS VPC PeeringセクションでVPCピアリング情報を確認します。新しく作成されたVPCピアリングのステータスはSystem Checkingです。
新しく作成したVPCピアリングの詳細情報を表示するには、 Action列の... > Viewをクリックします。 AWS VPC Peering Detailsページが表示されます。
ステップ2. VPCピアリングを承認して構成する
AWS CLI または AWS ダッシュボードを使用して、VPC ピアリング接続を承認および設定できます。
AWS コマンドラインインターフェイス (AWS CLI) をインストールします。
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/installアカウント情報に応じてAWS CLIを設定してください。AWS CLIに必要な情報を取得するには、 AWS CLI 設定の基本を参照してください。
aws configure次の変数値をアカウント情報に置き換えます。
# Sets up the related variables. pcx_tidb_to_app_id="<TiDB peering id>" app_region="<APP Region>" app_vpc_id="<Your VPC ID>" tidbcloud_project_cidr="<TiDB Cloud Project VPC CIDR>"例えば:
# Sets up the related variables pcx_tidb_to_app_id="pcx-069f41efddcff66c8" app_region="us-west-2" app_vpc_id="vpc-0039fb90bb5cf8698" tidbcloud_project_cidr="10.250.0.0/16"次のコマンドを実行します。
# Accepts the VPC peering connection request. aws ec2 accept-vpc-peering-connection --vpc-peering-connection-id "$pcx_tidb_to_app_id"# Creates route table rules. aws ec2 describe-route-tables --region "$app_region" --filters Name=vpc-id,Values="$app_vpc_id" --query 'RouteTables[*].RouteTableId' --output text | tr "\t" "\n" | while read row do app_route_table_id="$row" aws ec2 create-route --region "$app_region" --route-table-id "$app_route_table_id" --destination-cidr-block "$tidbcloud_project_cidr" --vpc-peering-connection-id "$pcx_tidb_to_app_id" done# Modifies the VPC attribute to enable DNS-hostname and DNS-support. aws ec2 modify-vpc-attribute --vpc-id "$app_vpc_id" --enable-dns-hostnames aws ec2 modify-vpc-attribute --vpc-id "$app_vpc_id" --enable-dns-support
設定が完了すると、VPCピアリングが作成されます。TiDBクラスタに接続することで結果を確認できます。
AWS ダッシュボードを使用して VPC ピアリング接続を構成することもできます。
AWS マネジメントコンソールでピア接続要求を受け入れることを確認します。
AWS マネジメントコンソールにサインインし、上部のメニューバーでServicesをクリックします。検索ボックスに
VPCと入力して、VPC サービスページに移動します。左側のナビゲーションバーからPeering Connectionsページを開きます。 Create Peering Connectionタブで、ピアリング接続のステータスがPending Acceptanceになっていることを確認します。
TiDB CloudコンソールのVPC Peering Detailsページで、リクエスターの所有者とリクエスターのVPC がTiDB Cloud AWS Account IDとTiDB Cloud VPC IDと一致していることを確認します。ピアリング接続を右クリックし、 Accept Requestを選択して、 Accept VPC peering connection requestダイアログでリクエストを承認します。
各 VPC サブネット ルート テーブルに対して、 TiDB Cloud VPC へのルートを追加します。
左側のナビゲーション バーから、Route Tablesページを開きます。
アプリケーション VPC に属するすべてのルートテーブルを検索します。
各ルートテーブルを右クリックし、 Edit routesを選択します。編集ページで、 TiDB Cloud CIDRへの宛先を持つルートを追加し( TiDB CloudコンソールのVPC Peering設定ページで確認)、Target列にピアリング接続IDを入力します。
VPC でプライベート DNS ホストゾーンのサポートが有効になっていることを確認してください。
左側のナビゲーション バーから、 Your VPCsページを開きます。
アプリケーション VPC を選択します。
選択したVPCを右クリックします。設定ドロップダウンリストが表示されます。
設定ドロップダウンリストからEdit DNS hostnamesをクリックします。DNSホスト名を有効にしてSaveをクリックします。
設定ドロップダウンリストからEdit DNS resolutionをクリックします。DNS解決を有効にしてSaveをクリックします。
これでVPCピアリング接続の設定が完了しました。次に、 VPCピアリング経由でTiDBクラスターに接続する。
Google Cloud で VPC ピアリングを設定する
ステップ1. VPCピアリングリクエストを追加する
VPC ピアリング リクエストは、TiDB Cloudコンソールのプロジェクト レベルの Network Accessページまたはクラスタ レベルのNetworkingページのいずれかで追加できます。
TiDB Cloudコンソールで、左上隅のコンボ ボックスを使用してターゲット プロジェクトに切り替えます。
左側のナビゲーション ペインで、 Project Settings > Network Accessをクリックします。
Network Accessページで、 VPC Peeringタブをクリックし、 Google Cloudサブタブをクリックします。
VPC Peering構成はデフォルトで表示されます。
右上隅でCreate VPC Peeringをクリックし、 TiDB Cloud VPC Regionを選択して、既存の Google Cloud VPC の必要な情報を入力します。
- Google Cloud Project ID
- VPC Network Name
- VPC CIDR
CreateをクリックしてVPCピアリングリクエストを送信し、 VPC Peering > Google CloudタブでVPCピアリング情報を確認します。新しく作成されたVPCピアリングのステータスはSystem Checkingです。
新しく作成したVPCピアリングの詳細情報を表示するには、 Action列の... > Viewをクリックします。 VPC Peering Detailsページが表示されます。
ターゲット クラスターの概要ページを開きます。
TiDB Cloudコンソールにログインし、プロジェクトのクラスターページに移動します。
ターゲット クラスターの名前をクリックすると、概要ページに移動します。
左側のナビゲーション ペインで、 Settings > Networkingをクリックします。
NetworkingページでCreate VPC Peeringをクリックし、既存の Google Cloud VPC の必要な情報を入力します。
- Google Cloud Project ID
- VPC Network Name
- VPC CIDR
CreateをクリックしてVPCピアリングリクエストを送信し、 Networking > Google Cloud VPC PeeringセクションでVPCピアリング情報を確認します。新しく作成されたVPCピアリングのステータスはSystem Checkingです。
新しく作成したVPCピアリングの詳細情報を表示するには、 Action列の... > Viewをクリックします。 Google Cloud VPC Peering Detailsページが表示されます。
ステップ2. VPCピアリングを承認する
次のコマンドを実行して、VPC ピアリングのセットアップを完了します。
gcloud beta compute networks peerings create <your-peer-name> --project <your-project-id> --network <your-vpc-network-name> --peer-project <tidb-project-id> --peer-network <tidb-vpc-network-name>
これでVPCピアリング接続の設定が完了しました。次に、 VPCピアリング経由でTiDBクラスターに接続する。
TiDBクラスタに接続する
プロジェクトのクラスターページで、ターゲット クラスターの名前をクリックして、概要ページに移動します。
右上隅のConnectをクリックし、 Connection Typeドロップダウン リストからVPC Peeringを選択します。
VPC ピアリング接続ステータスがシステムチェックからアクティブに変わるまで待ちます (約 5 分)。
Connect Withドロップダウンリストで、希望する接続方法を選択します。対応する接続文字列がダイアログの下部に表示されます。
接続文字列を使用してクラスターに接続します。






