AWS DMS をTiDB Cloudクラスターに接続する
AWS データベース移行サービス (AWS DMS)は、リレーショナルデータベース、データウェアハウス、NoSQL データベース、その他さまざまなデータストアの移行を可能にするクラウドサービスです。AWS DMS を使用して、 TiDB Cloudクラスター間でデータを移行できます。このドキュメントでは、AWS DMS をTiDB Cloudクラスターに接続する方法について説明します。
前提条件
十分なアクセス権を持つAWSアカウント
DMS関連リソースを管理するための十分なアクセス権を持つAWSアカウントをお持ちであることが前提となります。お持ちでない場合は、以下のAWSドキュメントをご参照ください。
TiDB Cloudアカウントと TiDB クラスター
TiDB Cloudアカウントと、 TiDB Cloud Starter、 TiDB Cloud Essential、またはTiDB Cloud Dedicated クラスターをお持ちであることが前提となります。お持ちでない場合は、以下のドキュメントを参照して作成してください。
ネットワークを構成する
DMSリソースを作成する前に、DMSがTiDB Cloudクラスターと通信できるようにネットワークを適切に設定する必要があります。AWSに詳しくない場合は、AWSサポートにお問い合わせください。以下に、参考までにいくつかの設定例を示します。
TiDB Cloud Starter またはTiDB Cloud Essential の場合、クライアントはパブリックエンドポイントまたはプライベートエンドポイントを介してクラスターに接続できます。
パブリックエンドポイント経由でTiDB Cloud Starter または Essential クラスターに接続する場合、次のいずれかを実行して、DMS レプリケーションインスタンスがインターネットにアクセスできることを確認します。
レプリケーションインスタンスをパブリックサブネットにデプロイし、 Public accessibleを有効にします。詳細については、 インターネットアクセスのコンフィグレーションを参照してください。
レプリケーションインスタンスをプライベートサブネットにデプロイし、プライベートサブネット内のトラフィックをパブリックサブネットにルーティングします。この場合、少なくとも3つのサブネット(プライベートサブネット2つとパブリックサブネット1つ)が必要です。2つのプライベートサブネットは、レプリケーションインスタンスが存在するサブネットグループを形成します。次に、パブリックサブネットにNATゲートウェイを作成し、2つのプライベートサブネットのトラフィックをNATゲートウェイにルーティングする必要があります。詳細については、 プライベートサブネットからインターネットにアクセスするを参照してください。
プライベートエンドポイント経由でTiDB Cloud Starter またはTiDB Cloud Essential クラスターに接続するには、まずAWS PrivateLink 経由でTiDB Cloud Starter または Essential に接続しますを参照してプライベートエンドポイントを設定し、レプリケーションインスタンスをプライベートサブネットにデプロイします。
TiDB Cloud Dedicated の場合、クライアントはパブリックエンドポイント、プライベートエンドポイント、または VPC ピアリングを介してクラスターに接続できます。
パブリックエンドポイント経由でTiDB Cloud Dedicated クラスターに接続するについては、DMS レプリケーションインスタンスがインターネットにアクセスできることを確認するために、次のいずれかを実行します。さらに、レプリケーションインスタンスまたは NAT ゲートウェイのパブリック IP アドレスをクラスターのIPアクセスリストに追加する必要があります。
レプリケーションインスタンスをパブリックサブネットにデプロイし、 Public accessibleを有効にします。詳細については、 インターネットアクセスのコンフィグレーションを参照してください。
レプリケーションインスタンスをプライベートサブネットにデプロイし、プライベートサブネット内のトラフィックをパブリックサブネットにルーティングします。この場合、少なくとも3つのサブネット(プライベートサブネット2つとパブリックサブネット1つ)が必要です。2つのプライベートサブネットは、レプリケーションインスタンスが存在するサブネットグループを形成します。次に、パブリックサブネットにNATゲートウェイを作成し、2つのプライベートサブネットのトラフィックをNATゲートウェイにルーティングする必要があります。詳細については、 プライベートサブネットからインターネットにアクセスするを参照してください。
プライベートエンドポイント経由でTiDB Cloud Dedicated クラスターに接続するには、 プライベートエンドポイントを設定する 、プライベートサブネットにレプリケーションインスタンスをデプロイします。
VPC ピアリング経由でTiDB Cloud Dedicated クラスターに接続するには、 VPCピアリング接続を設定する 、プライベートサブネットにレプリケーションインスタンスをデプロイします。
AWS DMS レプリケーションインスタンスを作成する
AWS DMSコンソールのReplication instancesページに移動し、対応するリージョンに切り替えます。AWS DMSでは、 TiDB Cloudと同じリージョンを使用することをお勧めします。
Create replication instanceをクリックします。
インスタンス名、ARN、説明を入力します。
Instance configurationセクションで、インスタンスを構成します。
- Instance class: 適切なインスタンスクラスを選択します。詳細については、 レプリケーションインスタンスタイプの選択を参照してください。
- Engine version: デフォルト構成を維持します。
- High Availability: ビジネス ニーズに応じて、Multi-AZまたはSingle-AZを選択します。
Allocated storage (GiB)フィールドでストレージを構成します。
接続とセキュリティを設定します。ネットワーク設定については前のセクションを参照してください。
- Network type - new: IPv4を選択します。
- Virtual private cloud (VPC) for IPv4: 必要な VPC を選択します。
- Replication subnet group: レプリケーションインスタンスのサブネット グループを選択します。
- Public accessible: ネットワーク構成に基づいて設定します。
必要に応じて、 Advanced settings 、 Maintenance 、 Tagsセクションを構成し、 Create replication instanceをクリックしてインスタンスの作成を完了します。
TiDB Cloud DMSエンドポイントを作成する
接続に関しては、 TiDB Cloudクラスターをソースとして使用する場合とターゲットとして使用する場合の手順は似ていますが、DMS ではソースとターゲットでデータベース設定要件が異なります。詳細については、 MySQLをソースとして使用するまたはMySQLをターゲットとして使用するを参照してください。TiDB Cloudクラスターをソースとして使用する場合、TiDB は MySQL binlogをサポートしていないため、Migrate existing dataのみが可能です。
AWS DMS コンソールで、 Endpointsページに移動し、対応するリージョンに切り替えます。
Create endpointをクリックして、ターゲットデータベース エンドポイントを作成します。
Endpoint typeセクションで、 Source endpointまたはTarget endpointを選択します。
Endpoint configurationセクションで、Endpoint identifierとARNフィールドに入力します。次に、Source engineまたはTarget engineとしてMySQLを選択します。
Access to endpoint databaseフィールドで、 Provide access information manuallyチェックボックスをオンにし、次のようにクラスター情報を入力します。
- Server name: クラスターの
HOST。 - Port: クラスターの
PORT。 - User name: 移行先クラスターのユーザー。DMSの要件を満たしていることを確認してください。
- Password: クラスター ユーザーのパスワード。
- Secure Socket Layer (SSL) mode:パブリックエンドポイント経由で接続する場合は、トランスポートセキュリティを確保するために、モードをverify-fullに設定することを強くお勧めします。プライベートエンドポイント経由で接続する場合は、モードをnoneに設定できます。
- (オプション) CA certificate: ISRGルートX1証明書を使用します。詳細については、 TiDB Cloud Starter または Essential への TLS 接続を参照してください。
- Server name: TiDB Cloud Dedicatedクラスターの
HOST。 - Port: TiDB Cloud Dedicated クラスターの
PORT。 - User name:移行用のTiDB Cloud Dedicatedクラスタのユーザー。DMS要件を満たしていることを確認してください。
- Password: TiDB Cloud Dedicated クラスター ユーザーのパスワード。
- Secure Socket Layer (SSL) mode:パブリックエンドポイント経由で接続する場合は、トランスポートセキュリティを確保するために、モードをverify-fullに設定することを強くお勧めします。プライベートエンドポイント経由で接続する場合は、 noneに設定できます。
- (オプション) CA certificate: TiDB Cloud DedicatedへのTLS接続に従って CA 証明書を取得します。
- Server name: クラスターの
エンドポイントをTarget endpointとして作成する場合は、Endpoint settingsセクションを展開し、Use endpoint connection attributesチェックボックスをオンにして、Extra connection attributesを
Initstmt=SET FOREIGN_KEY_CHECKS=0;に設定します。必要に応じて、 KMS KeyとTagsのセクションを設定します。 Create endpointをクリックしてインスタンスの作成を完了します。



