AWS DMS をTiDB Cloudクラスターに接続する

AWS データベース移行サービス (AWS DMS) 、リレーショナル データベース、データ ウェアハウス、NoSQL データベース、およびその他の種類のデータ ストアの移行を可能にするクラウド サービスです。AWS DMS を使用して、 TiDB Cloudクラスターから、または 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 レプリケーションインスタンスを作成する

  1. AWS DMS コンソールで、 レプリケーションインスタンスページに移動し、対応するリージョンに切り替えます。AWS DMS にはTiDB Cloudと同じリージョンを使用することをお勧めします。

    Create replication instance

  2. レプリケーションインスタンスの作成をクリックします。

  3. インスタンス名、ARN、説明を入力します。

  4. インスタンス構成セクションで、インスタンスを構成します。

    • インスタンスクラス: 適切なインスタンスクラスを選択します。詳細については、 レプリケーションインスタンスタイプの選択を参照してください。
    • エンジン バージョン: デフォルト設定を維持します。
    • 高可用性: ビジネス ニーズに応じて、マルチ AZまたはシングル AZを選択します。
  5. 割り当てられたstorage(GiB)フィールドでstorageを構成します。

  6. 接続性とセキュリティを構成します。ネットワーク構成については前のセクションを参照してください。

    • ネットワークタイプ - 新規: IPv4を選択します。
    • IPv4 用の仮想プライベート クラウド (VPC) : 必要な VPC を選択します。
    • レプリケーション サブネット グループ: レプリケーション インスタンスのサブネット グループを選択します。
    • パブリックアクセス可能: ネットワーク構成に基づいて設定します。

    Connectivity and security

  7. 必要に応じて、 [詳細設定][メンテナンス]、 [タグ]セクションを構成し、 [レプリケーション インスタンスの作成]クリックしてインスタンスの作成を完了します。

注記:

AWS DMS はサーバーレスレプリケーションもサポートしています。詳細な手順については、 サーバーレスレプリケーションの作成参照してください。レプリケーションインスタンスとは異なり、AWS DMS サーバーレスレプリケーションではパブリックアクセス可能オプションは提供されません。

TiDB Cloud DMSエンドポイントを作成する

接続に関しては、 TiDB Cloudクラスターをソースとして使用する場合もターゲットとして使用する場合も手順は似ていますが、DMS ではソースとターゲットでデータベース設定要件が異なります。詳細については、 MySQLをソースとして使用するまたはMySQLをターゲットとして使用するを参照してください。TiDB TiDB Cloudクラスターをソースとして使用する場合、TiDB は MySQL binlogをサポートしていないため、既存のデータの移行のみが可能です。

  1. AWS DMS コンソールで、 エンドポイントページに移動し、対応するリージョンに切り替えます。

    Create endpoint

  2. エンドポイントの作成をクリックして、ターゲット データベース エンドポイントを作成します。

  3. [エンドポイント タイプ]セクションで、 [ソース エンドポイント]または[ターゲット エンドポイント]を選択します。

  4. エンドポイント設定セクションで、エンドポイント識別子と ARN フィールドに入力します。次に、ソース エンジンまたはターゲット エンジンとしてMySQLを選択します。

  5. [エンドポイント データベースへのアクセス]フィールドで、 [アクセス情報を手動で提供する]チェックボックスをオンにし、次のようにクラスター情報を入力します。

    • 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 証明書を取得します。

    Provide access information manually

  6. エンドポイントをターゲット エンドポイントとして作成する場合は、エンドポイント設定セクションを展開し、エンドポイント接続属性を使用するチェックボックスをオンにして、追加の接続属性をInitstmt=SET FOREIGN_KEY_CHECKS=0;に設定します。

  7. 必要に応じて、 KMS キータグのセクションを構成します。エンドポイントの作成をクリックして、インスタンスの作成を完了します。

このページは役に立ちましたか?