VPC ピアリング経由でTiDB Cloud Dedicated に接続する
注記:
VPC ピアリング接続は、 TiDB Cloud Dedicated クラスターでのみ使用できます。VPC ピアリングを使用してTiDB Cloudサーバーレス クラスターに接続することはできません。
VPC ピアリング経由でアプリケーションをTiDB Cloudに接続するには、 TiDB CloudでVPC ピアリング設定する必要があります。このドキュメントでは、VPC ピアリング接続AWSでとGoogle Cloudでを設定し、VPC ピアリング経由でTiDB Cloudに接続する手順を説明します。
VPC ピアリング接続は、2 つの VPC 間のネットワーク接続であり、プライベート IP アドレスを使用してそれらの間でトラフィックをルーティングできます。どちらの VPC 内のインスタンスも、同じネットワーク内にあるかのように相互に通信できます。
現在、同じリージョン内の同じプロジェクトの TiDB クラスターは同じ VPC 内に作成されます。したがって、プロジェクトのリージョンで VPC ピアリングを設定すると、このプロジェクトの同じリージョンで作成されたすべての TiDB クラスターを VPC 内で接続できます。VPC ピアリングの設定は、クラウド プロバイダーによって異なります。
ヒント:
アプリケーションをTiDB Cloudに接続するには、安全でプライベートであり、データがパブリック インターネットに公開されないTiDB Cloudでプライベートエンドポイント接続設定することもできます。VPC ピアリング接続よりもプライベート エンドポイントを使用することをお勧めします。
前提条件: リージョンのCIDRを設定する
CIDR (Classless Inter-Domain Routing) は、 TiDB Cloud Dedicated クラスターの VPC を作成するために使用される CIDR ブロックです。
VPC ピアリング リクエストをリージョンに追加する前に、そのリージョンの CIDR を設定し、そのリージョンに最初のTiDB Cloud専用クラスターを作成する必要があります。最初の専用クラスターが作成されると、 TiDB Cloudクラスターの VPC が作成され、アプリケーションの VPC へのピアリング リンクを確立できるようになります。
最初のTiDB Cloud Dedicated クラスターを作成するときに CIDR を設定できます。クラスターを作成する前に CIDR を設定する場合は、次の操作を実行します。
TiDB Cloudコンソールにログインします。
クリック
左下隅で、複数のプロジェクトがある場合は対象プロジェクトに切り替えて、 [プロジェクト設定]をクリックします。 プロジェクトの「プロジェクト設定」ページで、左側のナビゲーション ペインの「ネットワーク アクセス」をクリックし、「プロジェクト CIDR」タブをクリックして、クラウド プロバイダーに応じてAWSまたはGoogle Cloud を選択します。
右上隅で、 [CIDR の作成]をクリックします。 [AWS CIDR の作成]または[Google Cloud CIDR の作成]ダイアログでリージョンと CIDR 値を指定し、 [確認]をクリックします。
注記:
- アプリケーションが配置されている VPC の CIDR との競合を避けるには、このフィールドに別のプロジェクト CIDR を設定する必要があります。
- AWSリージョンの場合、 IP 範囲のサイズを
/16
~/23
に設定することをお勧めします。サポートされているネットワーク アドレスは次のとおりです。- 10.250.0.0 - 10.251.255.255
- 172.16.0.0 - 172.31.255.255
- 192.168.0.0 - 192.168.255.255
- Google Cloudリージョンの場合、 IP 範囲のサイズを
/19
から/20
間で設定することをお勧めします。 IP 範囲のサイズを/16
から/18
間で設定する場合は、 TiDB Cloudサポートお問い合わせください。 サポートされているネットワーク アドレスは次のとおりです。- 10.250.0.0 - 10.251.255.255
- 172.16.0.0 - 172.17.255.255
- 172.30.0.0 - 172.31.255.255
- TiDB Cloud は、リージョンの CIDR ブロック サイズに基づいて、プロジェクトのリージョン内のTiDB Cloudノードの数を制限します。
クラウド プロバイダーと特定のリージョンの CIDRをビュー。
CIDR はデフォルトでは非アクティブです。CIDR をアクティブにするには、ターゲット リージョンにクラスターを作成する必要があります。リージョンの CIDR がアクティブな場合は、リージョンの VPC ピアリングを作成できます。
AWS で VPC ピアリングを設定する
このセクションでは、AWS で VPC ピアリング接続を設定する方法について説明します。Google Cloud については、 Google Cloud で VPC ピアリングを設定する参照してください。
ステップ1. VPCピアリングリクエストを追加する
VPC ピアリング リクエストは、 TiDB Cloudコンソールのプロジェクト レベルの[ネットワーク アクセス]ページまたはクラスター レベルの[ネットワーキング]ページのいずれかで追加できます。
- VPC peering setting on the project-level Network Access page
- VPC peering setting on the cluster-level Networking page
TiDB Cloudコンソールにログインします。
クリック
左下隅で、複数のプロジェクトがある場合は対象プロジェクトに切り替えて、 [プロジェクト設定]をクリックします。 プロジェクトの「プロジェクト設定」ページで、左側のナビゲーション ペインの「ネットワーク アクセス」をクリックし、 「VPC ピアリング」 > 「AWS」タブをクリックします。
VPC ピアリング構成はデフォルトで表示されます。
右上隅で、 「VPC ピアリングを作成」をクリックし、「 TiDB Cloud VPCリージョン」を選択して、既存の AWS VPC の必要な情報を入力します。
- VPCリージョン
- AWS アカウント ID
- VPCID
- VPC CIDR
このような情報は、 AWS マネジメントコンソールの VPC 詳細ページから取得できます。TiDB TiDB Cloud は、同じリージョン内または 2 つの異なるリージョンの VPC 間の VPC ピアリングの作成をサポートしています。
[作成]をクリックして VPC ピアリング リクエストを送信し、 [VPC ピアリング] > [AWS]タブで VPC ピアリング情報を表示します。新しく作成された VPC ピアリングのステータスは[システム チェック中]です。
新しく作成した VPC ピアリングの詳細情報を表示するには、 [アクション] 列で[...] > [ビュー]をクリックします。 [VPC ピアリングの詳細]ページが表示されます。
ターゲット クラスターの概要ページを開きます。
TiDB Cloudコンソールにログインし、プロジェクトのクラスターページに移動します。
ヒント:
複数のプロジェクトがある場合は、
左下隅にある をクリックして、別のプロジェクトに切り替えます。 ターゲット クラスターの名前をクリックすると、概要ページに移動します。
左側のナビゲーション ペインで、 [Networking]をクリックし、 [Create VPC Peering] をクリックします。
既存の AWS VPC の必須情報を入力します。
- VPCリージョン
- AWS アカウント ID
- VPCID
- VPC CIDR
このような情報は、 AWS マネジメントコンソールの VPC 詳細ページから取得できます。TiDB TiDB Cloud は、同じリージョン内または 2 つの異なるリージョンの VPC 間の VPC ピアリングの作成をサポートしています。
「作成」をクリックして VPC ピアリング リクエストを送信し、 「ネットワーク」 > 「AWS VPC ピアリング」セクションで VPC ピアリング情報を表示します。新しく作成された VPC ピアリングのステータスは「システム チェック中」です。
新しく作成した VPC ピアリングの詳細情報を表示するには、 [アクション] 列で[...] > [ビュー]をクリックします。AWS VPC ピアリングの詳細ページが表示されます。
ステップ2. VPCピアリングを承認して構成する
AWS CLI または AWS ダッシュボードを使用して、VPC ピアリング接続を承認および設定できます。
- Use AWS CLI
- Use the AWS dashboard
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注記:
場合によっては、ルート テーブル ルールが正常に作成された場合でも、エラー
An error occurred (MissingParameter) when calling the CreateRoute operation: The request must contain the parameter routeTableId
が発生することがあります。この場合、作成されたルールを確認して、エラーを無視できます。# 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 マネジメントコンソールにサインインし、上部のメニューバーで[サービス] をクリックします。検索ボックスに
VPC
と入力し、VPC サービス ページに移動します。左側のナビゲーション バーから、 [ピアリング接続]ページを開きます。 [ピアリング接続の作成]タブで、ピアリング接続は[承認保留中]ステータスになっています。
TiDB CloudコンソールのVPC ピアリングの詳細ページで、リクエスターの所有者とリクエスターのVPC がTiDB Cloud AWS アカウント IDとTiDB Cloud VPC IDと一致していることを確認します。ピアリング接続を右クリックし、 [VPC ピアリング接続リクエストの承認]ダイアログで[リクエストの承認]を選択してリクエストを承認します。
各 VPC サブネット ルート テーブルに対して、 TiDB Cloud VPC へのルートを追加します。
左側のナビゲーション バーから、ルート テーブルページを開きます。
アプリケーション VPC に属するすべてのルートテーブルを検索します。
各ルート テーブルを右クリックし、 [ルートの編集]を選択します。編集ページで、 TiDB Cloud CIDR への宛先を持つルートを追加し ( TiDB CloudコンソールのVPC ピアリング構成ページを確認して)、 [ターゲット]列にピアリング接続 ID を入力します。
VPC のプライベート DNS ホストゾーンのサポートが有効になっていることを確認してください。
左側のナビゲーション バーから、 [VPC]ページを開きます。
アプリケーション VPC を選択します。
選択した VPC を右クリックします。設定ドロップダウン リストが表示されます。
設定のドロップダウンリストから、 「DNS ホスト名の編集」をクリックします。DNS ホスト名を有効にして、 「保存」をクリックします。
設定のドロップダウンリストから、 「DNS 解決の編集」をクリックします。DNS 解決を有効にして、 「保存」をクリックします。
これで、VPC ピアリング接続が正常に設定されました。次に、 VPCピアリング経由でTiDBクラスターに接続する 。
Google Cloud で VPC ピアリングを設定する
ステップ1. VPCピアリングリクエストを追加する
VPC ピアリング リクエストは、 TiDB Cloudコンソールのプロジェクト レベルの[ネットワーク アクセス]ページまたはクラスター レベルの[ネットワーキング]ページのいずれかで追加できます。
- VPC peering setting on the project-level Network Access page
- VPC peering setting on the cluster-level Networking page
TiDB Cloudコンソールにログインします。
クリック
左下隅で、複数のプロジェクトがある場合は対象プロジェクトに切り替えて、 [プロジェクト設定]をクリックします。 プロジェクトの「プロジェクト設定」ページで、左側のナビゲーション パネルの「ネットワーク アクセス」をクリックし、 「VPC ピアリング」 > 「Google Cloud」タブをクリックします。
VPC ピアリング構成はデフォルトで表示されます。
右上隅で[VPC ピアリングを作成]をクリックし、 [TiDB Cloud VPCリージョン]を選択して、既存の Google Cloud VPC の必要な情報を入力します。
ヒント:
Google Cloud プロジェクト IDとVPC ネットワーク名フィールドの横にある指示に従って、プロジェクト ID と VPC ネットワーク名を見つけることができます。
- Google Cloud プロジェクト ID
- VPC ネットワーク名
- VPC CIDR
[作成]をクリックして VPC ピアリング リクエストを送信し、 [VPC ピアリング] > [Google Cloud]タブで VPC ピアリング情報を表示します。新しく作成された VPC ピアリングのステータスは[システム チェック中]です。
新しく作成した VPC ピアリングの詳細情報を表示するには、 [アクション] 列で[...] > [ビュー]をクリックします。 [VPC ピアリングの詳細]ページが表示されます。
ターゲット クラスターの概要ページを開きます。
TiDB Cloudコンソールにログインし、プロジェクトのクラスターページに移動します。
ヒント:
複数のプロジェクトがある場合は、
左下隅にある をクリックして、別のプロジェクトに切り替えます。 ターゲット クラスターの名前をクリックすると、概要ページに移動します。
左側のナビゲーション ペインで、 [Networking]をクリックし、 [Create VPC Peering] をクリックします。
既存の Google Cloud VPC の必須情報を入力します。
ヒント:
Google Cloud プロジェクト IDとVPC ネットワーク名フィールドの横にある指示に従って、プロジェクト ID と VPC ネットワーク名を見つけることができます。
- Google Cloud プロジェクト ID
- VPC ネットワーク名
- VPC CIDR
[作成]をクリックして VPC ピアリング リクエストを送信し、 [ネットワーキング] > [Google Cloud VPC ピアリング]セクションで VPC ピアリング情報を表示します。新しく作成された VPC ピアリングのステータスは[システム チェック中]です。
新しく作成した VPC ピアリングに関する詳細情報を表示するには、 [アクション] 列で[...] > [ビュー]をクリックします。Google Cloud VPC ピアリングの詳細ページが表示されます。
ステップ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>
注記:
<your-peer-name>
お好きな名前を付けることができます。
これで、VPC ピアリング接続が正常に設定されました。次に、 VPCピアリング経由でTiDBクラスターに接続する 。
TiDBクラスターに接続する
クラスターページで、ターゲット クラスターの名前をクリックして、概要ページに移動します。
右上隅の[接続] をクリックし、 [接続タイプ]ドロップダウン リストから[VPC ピアリング]を選択します。
VPC ピアリング接続ステータスがシステムチェックからアクティブに変わるまで待ちます (約 5 分)。
[接続方法]ドロップダウン リストで、希望する接続方法を選択します。対応する接続文字列がダイアログの下部に表示されます。
接続文字列を使用してクラスターに接続します。