プライベートリンク接続を介してAmazon RDSに接続する
このドキュメントではAWS Endpoint Service プライベートリンク接続を使用してTiDB Cloud EssentialインスタンスをAmazon RDSインスタンスに接続する方法について説明します。
前提条件
既存のAmazon RDSインスタンスをお持ちであるか、またはインスタンスを作成するために必要な権限をお持ちであること。
お客様のアカウントには、ネットワークコンポーネントを管理するための以下の権限があります。
- セキュリティグループを管理する
- ロードバランサーを管理する
- エンドポイントサービスを管理する
お客様のTiDB Cloud EssentialはAWS上でホストされており、現在アクティブです。後で使用するために、以下の詳細情報を取得して保存してください。
- AWSアカウントID
- 利用可能ゾーン(AZ)
AWSアカウントIDとアベイラビリティゾーンを表示するには、以下の手順を実行してください。
- TiDB CloudコンソールTiDB Cloud Essentialインスタンスの概要ページに移動し、左側のナビゲーションペインで「設定」 > 「ネットワーク」をクリックします。
- データフローのプライベートリンク接続領域で、 [プライベートリンク接続の作成]をクリックします。
- 表示されたダイアログには、AWSアカウントIDとアベイラビリティゾーンが表示されます。
ステップ1. Amazon RDSインスタンスをセットアップする
使用する Amazon RDS インスタンスを特定するか、 新しいものを作成する。
Amazon RDSインスタンスは、以下の要件を満たす必要があります。
リージョンの一致:インスタンスは、 TiDB Cloud Essentialインスタンスと同じAWSリージョンに存在する必要があります。
Amazon RDS インスタンスのサブネットグループには、TiDB Cloud Essentialインスタンスのアベイラビリティ ゾーンと重複するアベイラビリティ ゾーンが必要です。
Amazon RDSインスタンスに適切なセキュリティグループを設定し、VPC内からアクセス可能であることを確認してください。例えば、以下のルールを持つセキュリティグループを作成できます。
- MySQL/ Auroraを許可する受信ルール:
- タイプ:
MySQL/Aurora - ソース:
Anywhere-IPv4
- タイプ:
- MySQL/ Auroraを許可する送信ルール:
- タイプ:
MySQL/Aurora - 宛先:
Anywhere-IPv4
- タイプ:
- MySQL/ Auroraを許可する受信ルール:
注記
現在、 TiDB Cloud Essentialではリージョン間接続はサポートされていません。リージョン間接続が必要な場合は、 TiDB Cloud Premiumをご利用いただき、VPCピアリングによる接続を確立してください。
ステップ2. Amazon RDSインスタンスをエンドポイントサービスとして公開する
AWSコンソールでロードバランサーとAWSエンドポイントサービスを設定する必要があります。
ステップ2.1. ロードバランサーの設定
ロードバランサーをRDSと同じリージョンに設定するには、以下の手順を実行してください。
対象グループに移動して、対象グループを作成します。次の情報を入力してください。
- 対象タイプ:
IP addressesを選択してください。 - プロトコルとポート: プロトコルを
TCPに、ポートをデータベースのポートに設定します。たとえば、MySQL の場合は3306です。 - IPアドレスタイプ:
IPv4を選択してください。 - VPC :RDSが配置されているVPCを選択してください。
- ターゲットの登録:Amazon RDSインスタンスのIPアドレスを登録します。RDSエンドポイントにpingを実行すると、IPアドレスを取得できます。
詳細については、 ネットワークロードバランサーのターゲットグループを作成する参照してください。
- 対象タイプ:
ロードバランサーに移動して、ネットワーク ロード バランサーを作成します。次の情報を入力してください。
スキーマ:
Internalを選択ロードバランサーのIPアドレスタイプ:
IPv4を選択VPC :RDSが配置されているVPCを選択してください。
アベイラビリティゾーン: TiDB Cloud Essentialインスタンスと重複するアベイラビリティゾーンを選択してください。
セキュリティグループ:以下のルールで新しいセキュリティグループを作成します。
MySQL/ Auroraを許可する受信ルール:
- タイプ:
MySQL/Aurora - ソース:
Anywhere-IPv4
- タイプ:
MySQL/ Auroraを許可する送信ルール:
- タイプ:
MySQL/Aurora - 宛先:
Anywhere-IPv4
- タイプ:
リスナーとルーティング:
- プロトコルとポート:プロトコルを
TCPに、ポートをデータベースのポート番号に設定します。例えば、MySQLの場合は3306です。 - 対象グループ:前の手順で作成した対象グループを選択してください。
- プロトコルとポート:プロトコルを
詳細については、 ネットワークロードバランサーを作成する参照してください。
ステップ2.2. AWSエンドポイントサービスの設定
エンドポイントサービスをRDSと同じリージョンに設定するには、以下の手順を実行してください。
エンドポイントサービスに移動して、エンドポイントサービスを作成します。次の情報を入力してください。
- ロードバランサータイプ:
Networkを選択 - 利用可能なロードバランサー:前の手順で作成したロードバランサーを入力してください。
- サポート対象地域:地域をまたぐ要件がない場合は空欄のままにしてください。
- エンドポイントの承認を必須にする:
Acceptance requiredを選択することをお勧めします - サポートされているIPアドレスタイプ:
IPv4を選択してください
- ロードバランサータイプ:
エンドポイントサービスの詳細ページに移動し、
com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxxxxxxxxxxの形式でエンドポイントサービス名をコピーしてください。この名前をTiDB Cloudに提供する必要があります。エンドポイントサービスの詳細ページで、 [プリンシパルを許可]タブをクリックし、前提条件で取得したAWSアカウントIDを許可リストに追加します。例えば、
arn:aws:iam::<account_id>:rootのように追加します。
ステップ3. TiDB CloudでAWSエンドポイントサービスのプライベートリンク接続を作成します。
TiDB CloudコンソールまたはTiDB Cloud CLIを使用して、プライベートリンク接続を作成できます。
詳細については、 AWS Endpoint Service のプライベートリンク接続を作成する参照してください。