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 レプリケーション インスタンスがインターネットにアクセスできることを確認します。
レプリケーションインスタンスをパブリックサブネットにデプロイ、 「パブリックアクセス可能」を有効にします。詳細については、 インターネットアクセスのコンフィグレーション参照してください。
レプリケーションインスタンスをプライベートサブネットにデプロイ、プライベートサブネット内のトラフィックをパブリックサブネットにルーティングします。この場合、少なくとも3つのサブネット(プライベートサブネット2つとパブリックサブネット1つ)が必要です。2つのプライベートサブネットは、レプリケーションインスタンスが存在するサブネットグループを形成します。次に、パブリックサブネットにNATゲートウェイを作成し、2つのプライベートサブネットのトラフィックをNATゲートウェイにルーティングする必要があります。詳細については、 プライベートサブネットからインターネットにアクセスする参照してください。
プライベート エンドポイント経由で TiDB Cloud Starter または TiDB Cloud Essential クラスターに接続するには、まずAWS PrivateLink 経由で TiDB Cloud Starter に接続する参照してプライベート エンドポイントを設定し、レプリケーション インスタンスをプライベート サブネットにデプロイします。
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を選択します。
[エンドポイント データベースへのアクセス]フィールドで、 [アクセス情報を手動で提供する] チェックボックスをオンにし、次のようにクラスター情報を入力します。
- サーバー名: クラスターの
HOST
。 - ポート: クラスターの
PORT
。 - ユーザー名: 移行先クラスターのユーザー。DMSの要件を満たしていることを確認してください。
- パスワード: クラスター ユーザーのパスワード。
- セキュリティ Socket Layer (SSL) モード:パブリックエンドポイント経由で接続する場合は、トランスポートセキュリティを確保するために、モードをverify-fullに設定することを強くお勧めします。プライベートエンドポイント経由で接続する場合は、モードをnoneに設定できます。
- (オプション) CA証明書: ISRGルートX1証明書使用します。詳細については、 TiDB Cloud Starter または Essential への 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キーとタグのセクションを設定します。 「エンドポイントの作成」をクリックしてインスタンスの作成を完了します。