プライベートリンク接続を介して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インスタンスの概要ページに移動し、左側のナビゲーションペインで Settings > Networking をクリックします。
- AWS Private Endpoints for External Services 領域で、Create Private Endpoint for External Services をクリックします。
- 表示されたダイアログには、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を許可する受信ルール:
ステップ2. Amazon RDSインスタンスをエンドポイントサービスとして公開する
AWSコンソールでロードバランサーとAWSエンドポイントサービスを設定する必要があります。
ステップ2.1. ロードバランサーの設定
ロードバランサーをRDSと同じリージョンに設定するには、以下の手順を実行してください。
対象グループに移動して、対象グループを作成します。次の情報を入力してください。
- Target type:
IP addressesを選択してください。 - Protocol and Port: プロトコルを
TCPに、ポートをデータベースのポートに設定します。たとえば、MySQL の場合は3306です。 - IP address type:
IPv4を選択してください。 - VPC :RDSが配置されているVPCを選択してください。
- Register targets:Amazon RDSインスタンスのIPアドレスを登録します。RDSエンドポイントにpingを実行すると、IPアドレスを取得できます。
詳細については、 ネットワークロードバランサーのターゲットグループを作成するを参照してください。
- Target type:
ロードバランサーに移動して、ネットワーク ロード バランサーを作成します。次の情報を入力してください。
Schema:
Internalを選択Load balancer IP address type:
IPv4を選択VPC :RDSが配置されているVPCを選択してください。
Availability Zones: TiDB Cloud Essentialインスタンスと重複するアベイラビリティゾーンを選択してください。
Security groups:以下のルールで新しいセキュリティグループを作成します。
MySQL/ Auroraを許可する受信ルール:
- タイプ:
MySQL/Aurora - ソース:
Anywhere-IPv4
- タイプ:
MySQL/ Auroraを許可する送信ルール:
- タイプ:
MySQL/Aurora - 宛先:
Anywhere-IPv4
- タイプ:
Listeners and routing:
- Protocol and Port:プロトコルを
TCPに、ポートをデータベースのポート番号に設定します。例えば、MySQLの場合は3306です。 - Target group: 前の手順で作成した対象グループを選択してください。
- Protocol and Port:プロトコルを
詳細については、 ネットワークロードバランサーを作成するを参照してください。
ステップ2.2. AWSエンドポイントサービスの設定
エンドポイントサービスをRDSと同じリージョンに設定するには、以下の手順を実行してください。
エンドポイントサービスに移動して、エンドポイントサービスを作成します。次の情報を入力してください。
- Load balancer type:
Networkを選択 - Available load balancers:前の手順で作成したロードバランサーを入力してください。
- Supported Regions:地域をまたぐ要件がない場合は空欄のままにしてください。
- Require acceptance for endpoint:
Acceptance requiredを選択することをお勧めします - Supported IP address types:
IPv4を選択してください
- Load balancer type:
エンドポイントサービスの詳細ページに移動し、
com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxxxxxxxxxxの形式でエンドポイントサービス名をコピーしてください。この名前をTiDB Cloudに提供する必要があります。エンドポイントサービスの詳細ページで、 Allow principalsタブをクリックし、前提条件で取得したAWSアカウントIDを許可リストに追加します。例えば、
arn:aws:iam::<account_id>:rootのように追加します。
ステップ3. TiDB CloudでAWSエンドポイントサービスのプライベートリンク接続を作成します。
TiDB CloudコンソールまたはTiDB Cloud CLIを使用して、プライベートリンク接続を作成できます。
詳細については、 AWS Endpoint Service のプライベートリンク接続を作成するを参照してください。