プライベートリンク接続経由で Amazon RDS に接続する
このドキュメントでは、 AWS エンドポイントサービスプライベートリンク接続を使用してTiDB Cloud Essential クラスターをアマゾンRDSインスタンスに接続する方法について説明します。
前提条件
既存の Amazon RDS インスタンスがあるか、インスタンスを作成するために必要な権限があります。
アカウントには、ネットワーク コンポーネントを管理するための次の権限があります。
- セキュリティ グループを管理する
- ロードバランサーの管理
- エンドポイントサービスの管理
TiDB Cloud Essential は AWS でホストされており、アクティブです。後で使用するために、以下の詳細情報を取得して保存してください。
- AWSアカウントID
- 可用性ゾーン(AZ)
AWS アカウント ID とアベイラビリティーゾーンを表示するには、次の手順を実行します。
- TiDB Cloudコンソールで、TiDB クラスターのクラスター概要ページに移動し、左側のナビゲーション ペインで[設定] > [ネットワーク]をクリックします。
- [データフローのプライベート リンク接続]領域で、 [プライベート リンク接続の作成] をクリックします。
- 表示されたダイアログで、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を許可するインバウンドルール:
注記
クロスリージョン RDS インスタンスに接続するには、 TiDB Cloudサポートお問い合わせください。
ステップ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 クラスターと重複する可用性ゾーンを選択します
Securityグループ: 次のルールで新しいセキュリティ グループを作成します。
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 エンドポイントサービスプライベートリンク接続を作成する参照してください。