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 Serverless またはTiDB Cloud Dedicated クラスターが必要です。ない場合は、次のドキュメントを参照して作成してください。
ネットワークを構成する
DMS リソースを作成する前に、DMS がTiDB Cloudクラスターと通信できるようにネットワークを適切に構成する必要があります。AWS に詳しくない場合は、AWS サポートにお問い合わせください。以下に、参考までにいくつかの可能な構成を示します。
- TiDB Cloud Serverless
- TiDB Cloud Dedicated
TiDB Cloud Serverless の場合、クライアントはパブリック エンドポイントまたはプライベート エンドポイントを介してクラスターに接続できます。
パブリックエンドポイント経由でTiDB Cloud Serverlessクラスタに接続する場合、次のいずれかを実行して、DMS レプリケーション インスタンスがインターネットにアクセスできることを確認します。
パブリックサブネットにレプリケーションインスタンスをデプロイ、パブリックアクセスを有効にします。詳細については、 インターネットアクセスのコンフィグレーション参照してください。
レプリケーション インスタンスをプライベート サブネットにデプロイ、プライベート サブネットのトラフィックをパブリック サブネットにルーティングします。この場合、少なくとも 3 つのサブネット (2 つのプライベート サブネットと 1 つのパブリック サブネット) が必要です。2 つのプライベート サブネットは、レプリケーション インスタンスが存在するサブネット グループを形成します。次に、パブリック サブネットに NAT ゲートウェイを作成し、2 つのプライベート サブネットのトラフィックを NAT ゲートウェイにルーティングする必要があります。詳細については、 プライベートサブネットからインターネットにアクセスする参照してください。
プライベート エンドポイント経由でTiDB Cloud Serverless クラスターに接続するには、まずプライベートエンドポイントを設定する実行し、プライベート サブネットにレプリケーション インスタンスをデプロイします。
TiDB Cloud Dedicated の場合、クライアントはパブリック エンドポイント、プライベート エンドポイント、または VPC ピアリングを介してクラスターに接続できます。
パブリックエンドポイント経由でTiDB Cloud Dedicatedクラスタに接続する実行するには、次のいずれかを実行して、DMS レプリケーション インスタンスがインターネットにアクセスできることを確認します。さらに、レプリケーション インスタンスまたは NAT ゲートウェイのパブリック IP アドレスをクラスターのIPアクセスリストに追加する必要があります。
パブリックサブネットにレプリケーションインスタンスをデプロイ、パブリックアクセスを有効にします。詳細については、 インターネットアクセスのコンフィグレーション参照してください。
レプリケーション インスタンスをプライベート サブネットにデプロイ、プライベート サブネットのトラフィックをパブリック サブネットにルーティングします。この場合、少なくとも 3 つのサブネット (2 つのプライベート サブネットと 1 つのパブリック サブネット) が必要です。2 つのプライベート サブネットは、レプリケーション インスタンスが存在するサブネット グループを形成します。次に、パブリック サブネットに NAT ゲートウェイを作成し、2 つのプライベート サブネットのトラフィックを NAT ゲートウェイにルーティングする必要があります。詳細については、 プライベートサブネットからインターネットにアクセスする参照してください。
プライベート エンドポイント経由でTiDB Cloud Dedicated クラスターに接続するには、まずプライベートエンドポイントを設定する実行し、プライベート サブネットにレプリケーション インスタンスをデプロイします。
VPC ピアリング経由でTiDB Cloud Dedicated クラスターに接続するには、まずVPCピアリング接続を設定する実行し、プライベート サブネットにレプリケーション インスタンスをデプロイします。
AWS DMS レプリケーションインスタンスを作成する
AWS DMS コンソールで、 レプリケーションインスタンスページに移動し、対応するリージョンに切り替えます。AWS DMS にはTiDB Cloudと同じリージョンを使用することをお勧めします。
レプリケーションインスタンスの作成をクリックします。
インスタンス名、ARN、説明を入力します。
インスタンス構成セクションで、インスタンスを構成します。
- インスタンスクラス: 適切なインスタンスクラスを選択します。詳細については、 レプリケーションインスタンスタイプの選択参照してください。
- エンジン バージョン: デフォルト設定を維持します。
- 高可用性: ビジネス ニーズに応じて、マルチ AZまたはシングル AZを選択します。
割り当てられたstorage(GiB)フィールドでstorageを構成します。
接続性とセキュリティを構成します。ネットワーク構成については前のセクションを参照してください。
- ネットワークタイプ - 新規: IPv4を選択します。
- IPv4 用の仮想プライベート クラウド (VPC) : 必要な VPC を選択します。
- レプリケーション サブネット グループ: レプリケーション インスタンスのサブネット グループを選択します。
- パブリックアクセス可能: ネットワーク構成に基づいて設定します。
必要に応じて、 [詳細設定] 、 [メンテナンス] 、 [タグ]セクションを構成し、 [レプリケーション インスタンスの作成] をクリックしてインスタンスの作成を完了します。
注記:
AWS DMS はサーバーレスレプリケーションもサポートしています。詳細な手順については、 サーバーレスレプリケーションの作成参照してください。レプリケーションインスタンスとは異なり、AWS DMS サーバーレスレプリケーションではパブリックアクセス可能オプションは提供されません。
TiDB Cloud DMSエンドポイントを作成する
接続に関しては、 TiDB Cloudクラスターをソースとして使用する場合もターゲットとして使用する場合も手順は似ていますが、DMS ではソースとターゲットでデータベース設定要件が異なります。詳細については、 MySQLをソースとして使用するまたはMySQLをターゲットとして使用する参照してください。TiDB TiDB Cloudクラスターをソースとして使用する場合、TiDB は MySQL binlogをサポートしていないため、既存のデータの移行のみが可能です。
AWS DMS コンソールで、 エンドポイントページに移動し、対応するリージョンに切り替えます。
エンドポイントの作成をクリックして、ターゲット データベース エンドポイントを作成します。
[**エンドポイント タイプ]セクションで、 [ソース エンドポイント]または[ターゲット エンドポイント]**を選択します。
エンドポイント設定セクションで、エンドポイント識別子と ARN フィールドに入力します。次に、ソース エンジンまたはターゲット エンジンとしてMySQL を選択します。
[エンドポイント データベースへのアクセス]フィールドで、 [アクセス情報を手動で提供する] チェックボックスをオンにし、次のようにクラスター情報を入力します。
- TiDB Cloud Serverless
- TiDB Cloud Dedicated
- サーバー名: TiDB Cloud Serverless クラスターの
HOST
。 - TiDB Cloud Serverless クラスターのポート:
PORT
。 - ユーザー名: 移行用のTiDB Cloud Serverless クラスターのユーザー。DMS 要件を満たしていることを確認してください。
- パスワード: TiDB Cloud Serverless クラスター ユーザーのパスワード。
- セキュリティ Socket Layer (SSL) モード: パブリック エンドポイント経由で接続する場合は、トランスポート セキュリティを確保するために、モードをverify-fullに設定することを強くお勧めします。プライベート エンドポイント経由で接続する場合は、モードをnoneに設定できます。
- (オプション) CA 証明書: ISRG ルート X1 証明書使用します。詳細については、 TiDB Cloud ServerlessへのTLS接続参照してください。
- サーバー名: TiDB Cloud Dedicated クラスターの
HOST
。 - ポート: TiDB Cloud Dedicated クラスターの
PORT
。 - ユーザー名: 移行用のTiDB Cloud専用クラスターのユーザー。DMS 要件を満たしていることを確認してください。
- パスワード: TiDB Cloud Dedicated クラスター ユーザーのパスワード。
- セキュリティ Socket Layer (SSL) モード: パブリック エンドポイント経由で接続する場合は、トランスポート セキュリティを確保するために、モードをverify-fullに設定することを強くお勧めします。プライベート エンドポイント経由で接続する場合は、 noneに設定できます。
- (オプション) CA 証明書: TiDB Cloud DedicatedへのTLS接続に従って CA 証明書を取得します。
エンドポイントをターゲット エンドポイントとして作成する場合は、エンドポイント設定セクションを展開し、エンドポイント接続属性を使用するチェックボックスをオンにして、追加の接続属性を
Initstmt=SET FOREIGN_KEY_CHECKS=0;
に設定します。必要に応じて、 KMS キーとタグのセクションを構成します。エンドポイントの作成をクリックして、インスタンスの作成を完了します。