VPC ピアリング経由でTiDB Cloud Dedicated に接続する
注記:
VPC ピアリング接続は、AWS および Google Cloud でホストされている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ピアリングの設定はクラウドプロバイダーによって異なります。
ヒント:
アプリケーションを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コンソールのプロジェクト レベルの [**ネットワーク アクセス]ページまたはクラスタ レベルの[ネットワーキング]**ページのいずれかで追加できます。
TiDB Cloudコンソールで、左上隅のコンボ ボックスを使用してターゲット プロジェクトに切り替えます。
左側のナビゲーション ペインで、 [プロジェクト設定] > [ネットワーク アクセス]をクリックします。
[ネットワーク アクセス] ページで、 [VPC ピアリング]タブをクリックし、 [AWS]サブタブをクリックします。
VPC ピアリング構成はデフォルトで表示されます。
右上隅で[VPC ピアリングの作成] をクリックし、 [TiDB Cloud VPCリージョン]を選択して、既存の AWS VPC の必要な情報を入力します。
- VPCリージョン
- AWSアカウントID
- VPC ID
- VPC CIDR
このような情報は、 AWS マネジメントコンソールの VPC 詳細ページから取得できます。TiDB TiDB Cloud は、同じリージョン内または 2 つの異なるリージョンの VPC 間における VPC ピアリングの作成をサポートしています。
「作成」をクリックしてVPCピアリングリクエストを送信し、 「VPCピアリング」 > 「AWS」タブでVPCピアリング情報を確認します。新しく作成されたVPCピアリングのステータスは「システムチェック中」です。
新しく作成したVPCピアリングの詳細情報を表示するには、 「アクション」列の「... 」> 「ビュー」をクリックします。 「VPCピアリングの詳細」ページが表示されます。
ターゲット クラスターの概要ページを開きます。
TiDB Cloudコンソールにログインし、プロジェクトのクラスターページに移動します。
ヒント:
左上隅のコンボ ボックスを使用して、組織、プロジェクト、クラスターを切り替えることができます。
ターゲット クラスターの名前をクリックすると、概要ページに移動します。
左側のナビゲーション ペインで、 [設定] > [ネットワーク] をクリックします。
[ネットワーク]ページで[VPC ピアリングの作成]をクリックし、既存の AWS VPC の必要な情報を入力します。
- VPCリージョン
- AWSアカウントID
- VPC ID
- VPC CIDR
このような情報は、 AWS マネジメントコンソールの VPC 詳細ページから取得できます。TiDB TiDB Cloud は、同じリージョン内または 2 つの異なるリージョンの VPC 間における VPC ピアリングの作成をサポートしています。
「作成」をクリックしてVPCピアリングリクエストを送信し、 「ネットワーク」 > 「AWS VPCピアリング」セクションでVPCピアリング情報を確認します。新しく作成されたVPCピアリングのステータスは「システムチェック中」です。
新しく作成したVPCピアリングの詳細情報を表示するには、 「アクション」列の「... 」> 「ビュー」をクリックします。AWS VPCピアリングの詳細ページが表示されます。
ステップ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注記:
ルートテーブルルールが正常に作成されたにもかかわらず、エラー
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ピアリングが作成されます。1 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 ホストゾーンのサポートが有効になっていることを確認してください。
左側のナビゲーション バーから、 [Your VPCs]ページを開きます。
アプリケーション VPC を選択します。
選択したVPCを右クリックします。設定ドロップダウンリストが表示されます。
設定ドロップダウンリストから「DNSホスト名の編集」をクリックします。DNSホスト名を有効にして「保存」をクリックします。
設定ドロップダウンリストから「DNS解決の編集」をクリックします。DNS解決を有効にして「保存」をクリックします。
これでVPCピアリング接続の設定が完了しました。次に、 VPCピアリング経由でTiDBクラスターに接続する .
Google Cloud で VPC ピアリングを設定する
ステップ1. VPCピアリングリクエストを追加する
VPC ピアリング リクエストは、 TiDB Cloudコンソールのプロジェクト レベルの [**ネットワーク アクセス]ページまたはクラスタ レベルの[ネットワーキング]**ページのいずれかで追加できます。
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コンソールにログインし、プロジェクトのクラスターページに移動します。
ヒント:
左上隅のコンボ ボックスを使用して、組織、プロジェクト、クラスターを切り替えることができます。
ターゲット クラスターの名前をクリックすると、概要ページに移動します。
左側のナビゲーション ペインで、 [設定] > [ネットワーク] をクリックします。
[ネットワーキング]ページで[VPC ピアリングを作成]をクリックし、既存の 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 分)。
「接続方法」ドロップダウンリストで、希望する接続方法を選択します。対応する接続文字列がダイアログの下部に表示されます。
接続文字列を使用してクラスターに接続します。