VPC ピアリング経由で接続
ノート:
VPC ピアリング接続は、Dedicated Tier クラスターでのみ使用できます。 VPC ピアリングを使用してサーバーレス階層クラスターに接続することはできません。
VPC ピアリング経由でアプリケーションをTiDB Cloudに接続するには、 TiDB CloudでVPC ピアリングをセットアップする必要があります。このドキュメントでは、VPC ピアリング接続AWS でおよびGCP 上をセットアップし、VPC ピアリングを介してTiDB Cloudに接続する方法について説明します。
VPC ピアリング接続は、プライベート IP アドレスを使用してそれらの間でトラフィックをルーティングできるようにする 2 つの VPC 間のネットワーク接続です。どちらの VPC のインスタンスも、同じネットワーク内にあるかのように相互に通信できます。
現在、 TiDB Cloudは、同じプロジェクトの同じリージョンでの VPC ピアリングのみをサポートしています。同じリージョン内の同じプロジェクトの TiDB クラスターは、同じ VPC に作成されます。したがって、VPC ピアリングがプロジェクトのリージョンで設定されると、このプロジェクトの同じリージョンで作成されたすべての TiDB クラスターを VPC で接続できます。 VPC ピアリングのセットアップは、クラウド プロバイダーによって異なります。
ヒント:
アプリケーションをTiDB Cloudに接続するには、TiDB Cloud を使用してプライベート エンドポイント接続をセットアップすることもできますTiDB Cloudは安全でプライベートであり、データを公共のインターネットに公開しません。 VPC ピアリング接続でプライベート エンドポイントを使用することをお勧めします。
前提条件: プロジェクト CIDR を設定する
Project CIDR (Classless Inter-Domain Routing) は、プロジェクト内のネットワーク ピアリングに使用される CIDR ブロックです。
VPC ピアリング リクエストをリージョンに追加する前に、プロジェクトのクラウド プロバイダー (AWS または GCP) のプロジェクト CIDR を設定して、アプリケーションの VPC へのピアリング リンクを確立する必要があります。
プロジェクトの最初の Dedicated Tier を作成するときに、プロジェクトの CIDR を設定できます。層を作成する前にプロジェクト CIDR を設定する場合は、次の操作を実行します。
TiDB Cloudコンソールで、ターゲット プロジェクトを選択し、[ネットワーク アクセス] タブをクリックします。
[プロジェクト CIDR ] タブをクリックします。
クラウド プロバイダに応じて [ AWS のプロジェクト CIDR を追加] または [Google Cloud のプロジェクト CIDR を追加] をクリックし、[プロジェクト CIDR ] フィールドに次のいずれかのネットワーク アドレスを指定して、[確認] をクリックします。
ノート:
アプリケーションが配置されている VPC の CIDR との競合を回避するには、このフィールドに別のプロジェクト CIDR を設定する必要があります。
- 10.250.0.0/16
- 10.250.0.0/17
- 10.250.128.0/17
- 172.30.0.0/16
- 172.30.0.0/17
- 172.30.128.0/17
クラウド プロバイダーと特定のリージョンの CIDR をビューします。
リージョン CIDR は、デフォルトでは非アクティブです。リージョン CIDR を有効にするには、ターゲット リージョンにクラスターを作成する必要があります。リージョン CIDR がアクティブな場合、リージョンの VPC ピアリングを作成できます。
AWS で VPC ピアリングをセットアップする
このセクションでは、AWS で VPC ピアリング接続をセットアップする方法について説明します。 GCP については、 GCP で VPC ピアリングを設定するを参照してください。
ステップ 1.VPC ピアリング リクエストを追加する
TiDB Cloudコンソールで、VPC ピアリングのターゲット プロジェクトを選択し、[ネットワーク アクセス] タブをクリックします。
[ VPC ピアリング] タブをクリックします。
デフォルトでは、 VPC ピアリング構成が表示されます。
[追加] をクリックし、AWS アイコンを選択してから、既存の AWS VPC の必要な情報を入力します。
- リージョン
- AWS アカウント ID
- VPC ID
- VPC CIDR
これらの情報は、VPC ダッシュボードの VPC の詳細から取得できます。
[**初期化]**をクリックします。 [ VPC ピアリングの承認] ダイアログが表示されます。
ステップ 2. VPC ピアリングを承認して構成する
次の 2 つのオプションのいずれかを使用して、VPC ピアリング接続を承認および構成します。
オプション 1.AWS CLI を使用する
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 --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 クラスターに接続するで結果を確認できます。
オプション 2.AWS ダッシュボードを使用する
AWS ダッシュボードを使用して、VPC ピアリング接続を構成することもできます。
AWS コンソールでピア接続リクエストを受け入れることを確認します。
AWS コンソールにサインインし、上部のメニュー バーで [サービス] をクリックします。検索ボックスに
VPCと入力し、VPC サービス ページに移動します。左側のナビゲーション バーから、[**ピアリング接続]**ページを開きます。 [ピアリング接続の作成] タブで、ピアリング接続は[承認待ち] ステータスになっています。
リクエスタの所有者がTiDB Cloud (
380838443567) であることを確認します。ピアリング接続を右クリックし、[ Accept Request ] を選択して、[ Accept VPC peering connection request ] ダイアログでリクエストを受け入れます。
VPC サブネット ルート テーブルごとに、 TiDB Cloud VPC へのルートを追加します。
左側のナビゲーション バーから、[**ルート テーブル]**ページを開きます。
アプリケーション VPC に属するすべてのルート テーブルを検索します。
各ルート テーブルを右クリックし、[ルートの編集] を選択します。編集ページで、宛先を含むルートをプロジェクト CIDR に追加し ( TiDB CloudコンソールのVPC Peering構成ページを確認して)、[ターゲット] 列にピアリング接続 ID を入力します。
VPC のプライベート DNS ホスト ゾーン サポートが有効になっていることを確認します。
左側のナビゲーション バーから、[ **Your VPCs]**ページを開きます。
アプリケーション VPC を選択します。
選択した VPC を右クリックします。設定ドロップダウン リストが表示されます。
設定ドロップダウン リストから、[ DNS ホスト名の編集] をクリックします。 DNS ホスト名を有効にして、[保存] をクリックします。
設定ドロップダウン リストから、[ DNS 解決の編集] をクリックします。 DNS 解決を有効にして、[保存] をクリックします。
これで、VPC ピアリング接続が正常にセットアップされました。次に、 VPC ピアリング経由で TiDB クラスターに接続する 。
GCP で VPC ピアリングを設定する
TiDB Cloudコンソールで、VPC ピアリングのターゲット プロジェクトを選択し、[ネットワーク アクセス] タブをクリックします。
[ VPC ピアリング] タブをクリックします。
デフォルトでは、 VPC ピアリング構成が表示されます。
[追加] をクリックし、Google Cloud アイコンを選択して、既存の GCP VPC の必要な情報を入力します。
- リージョン
- アプリケーション GCP プロジェクト ID
- VPC ネットワーク名
- VPC CIDR
[**初期化]**をクリックします。 [ VPC ピアリングの承認] ダイアログが表示されます。
TiDB 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 ピアリングのStatusがactiveであることを確認できます。ステータスがまだシステム チェック中の場合は、約 5 分間待ってから、もう一度ダイアログを開きます。
[**エンドポイントを取得]**をクリックして、数分間待ちます。次に、接続コマンドがダイアログに表示されます。
ダイアログ ボックスの [ステップ 2: SQL クライアントに接続する] で、希望する接続方法のタブをクリックし、接続文字列を使用してクラスターに接続します。







