これはアーカイブされた TiDB のドキュメントであり、更新は行われていません。最新の LTS バージョンのドキュメントを表示する

AWS DMS を使用して Amazon RDS for Oracle からTiDB Cloudに移行する

このドキュメントでは、AWS Database Migration Service (AWS DMS) を使用して Amazon RDS for Oracle からTiDB Cloudサーバーレス層にデータを移行する方法の例を段階的に説明します。

TiDB Cloudと AWS DMS について詳しく知りたい場合は、以下を参照してください。

AWS DMS を使用する理由

AWS DMS は、リレーショナル データベース、データ ウェアハウス、NoSQL データベース、およびその他のタイプのデータ ストアの移行を可能にするクラウド サービスです。

PostgreSQL、Oracle、SQL Server などの異種データベースからTiDB Cloudにデータを移行する場合は、AWS DMS を使用することをお勧めします。

導入アーキテクチャ

大まかに言うと、次の手順に従います。

  1. ソース Amazon RDS for Oracle をセットアップします。
  2. ターゲットを設定しますTiDB Cloudサーバーレス層
  3. AWS DMS を使用してデータ移行 (全負荷) をセットアップします。

次の図は、アーキテクチャの概要を示しています。

Architecture

前提条件

開始する前に、次の前提条件をお読みください。

次に、AWS DMS を使用して Amazon RDS for Oracle からTiDB Cloudにデータを移行する方法を学習します。

ステップ 1.VPC を作成する

AWS コンソールにログインし、AWS VPC を作成します。後でこの VPC に Oracle RDS および DMS インスタンスを作成する必要があります。

VPC の作成方法については、 VPC の作成を参照してください。

Create VPC

ステップ 2.Oracle DB インスタンスを作成する

作成したばかりの VPC に Oracle DB インスタンスを作成し、パスワードを覚えておいてパブリック アクセスを許可します。 AWS Schema Conversion Tool を使用するには、パブリック アクセスを有効にする必要があります。本番環境でパブリック アクセスを許可することはお勧めできません。

Oracle DB インスタンスの作成方法については、 Oracle DB インスタンスの作成と Oracle DB インスタンス上のデータベースへの接続を参照してください。

Create Oracle RDS

ステップ 3. Oracle でテーブル データを準備する

次のスクリプトを使用して、github_events テーブルに 10000 行のデータを作成して入力します。 github イベント データセットを使用して、 GHアーカイブからダウンロードできます。 10000 行のデータが含まれています。次の SQL スクリプトを使用して、Oracle で実行します。

SQL スクリプトの実行が終了したら、Oracle でデータを確認します。次の例では、 DBeaverを使用してデータをクエリします。

Oracle RDS Data

ステップ 4. TiDB Cloud Tier クラスターを作成する

  1. TiDB Cloudコンソールにログインします。プロジェクトの [**クラスター]**ページに移動します。

  2. 無料の Serverless Tier クラスターを作成します。

    Create TiDB Cloud Serverless Tier

  3. クラスターが作成されたら、[**セキュリティ設定]**をクリックしてユーザー パスワードを設定します。

    Set TiDB Cloud Serverless Tier Password

    Set TiDB Cloud Serverless Tier Password

  4. [生成] ボタンをクリックして、パスワードを生成します。生成されたパスワードを書き留めます。 [送信] ボタンをクリックします。

  5. [接続] ボタンをクリックして、TiDB クラスターを接続します。

    Connect to TiDB Cloud Serverless Tier

ステップ 5.AWS DMS レプリケーションインスタンスを作成する

  1. AWS DMS コンソールのレプリケーション インスタンスページに移動し、対応するリージョンに切り替えます。

  2. VPC にdms.t3.largeで AWS DMS レプリケーション インスタンスを作成します。

    Create AWS DMS Instance

ステップ 6. DMS エンドポイントを作成する

  1. AWS DMS コンソールで、左ペインのEndpointsメニュー項目をクリックします。

  2. Oracle ソース エンドポイントと TiDB ターゲット エンドポイントを作成します。

    次のスクリーンショットは、ソース エンドポイントの構成を示しています。

    Create AWS DMS Source endpoint

    次のスクリーンショットは、ターゲット エンドポイントの構成を示しています。

    Create AWS DMS Target endpoint

ステップ 7. スキーマを移行する

この例では、スキーマ定義が単純であるため、AWS DMS がスキーマを自動的に処理します。

AWS Schema Conversion Tool を使用してスキーマを移行する場合は、 AWS SCT のインストールを参照してください。

詳細については、 AWS SCT を使用してソース スキーマをターゲット データベースに移行するを参照してください。

ステップ 8. データベース移行タスクを作成する

  1. AWS DMS コンソールで、 データ移行タスクページに移動します。お住まいの地域に切り替えます。次に、ウィンドウの右上隅にある [タスクの作成] をクリックします。

    Create task

  2. データベース移行タスクを作成し、選択ルールを指定します。

    Create AWS DMS migration task

    AWS DMS migration task selection rules

  3. タスクを作成して開始し、タスクが完了するまで待ちます。

  4. テーブル統計をクリックして、テーブルを確認します。スキーマ名はADMINです。

    Check AWS DMS migration task

ステップ 9. ダウンストリーム TiDB クラスターのデータを確認する

サーバーレス階層クラスターに接続し、 admin.github_eventのテーブルデータを確認します。次のスクリーンショットに示すように、DMS はテーブルgithub_eventsと 10000 行のデータを正常に移行しました。

Check Data In TiDB

概要

AWS DMS を使用すると、このドキュメントの例に従って、アップストリームの AWS RDS データベースからデータを正常に移行できます。

移行中に問題や障害が発生した場合は、 クラウドウォッチのログ情報を確認して問題をトラブルシューティングできます。

Troubleshooting

こちらもご覧ください