📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

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



このドキュメントでは、AWS Database Migration Service (AWS DMS) を使用して Amazon RDS for Oracle からTiDB Cloud Starterへデータを移行する手順を段階的に説明します。

ヒント:

このドキュメントの手順は、 TiDB Cloud Starterインスタンスに加えて、 TiDB Cloud Essentialインスタンスでも適用できます。

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

AWS DMSを使う理由とは?

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

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

デプロイメントアーキテクチャ

大まかに言うと、以下の手順に従ってください。

  1. Oracle用のAmazon RDSソースを設定します。
  2. TiDB Cloud Starterインスタンスを作成します。
  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スキーマ変換ツールを使用するには、パブリックアクセスを有効にする必要があります。なお、本番環境でパブリックアクセス権限を付与することは推奨されません。

Oracle DB インスタンスの作成方法については、「Oracle DB インスタンスOracle DBインスタンスを作成し、Oracle DBインスタンス上のデータベースに接続する

Create Oracle RDS

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

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

SQLスクリプトの実行が完了したら、Oracleのデータを確認してください。以下の例では、 DBeaverを使用してデータを照会します。

Oracle RDS Data

ステップ4. TiDB Cloud Starterインスタンスを作成する

  1. TiDB Cloudコンソールにログインします。

  2. TiDB Cloud Starterインスタンスを作成する

  3. 私のTiDBページで、対象のTiDB Cloud Starterインスタンスの名前をクリックすると、その概要ページに移動します。

  4. 右上隅にある「接続」をクリックします。

  5. 「パスワードを生成」をクリックしてパスワードを生成し、生成されたパスワードをコピーしてください。

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

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

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

    Create AWS DMS Instance

注記:

TiDB Cloud Starterで動作する AWS DMS レプリケーション インスタンスを作成する詳細な手順については、 AWS DMSをTiDB Cloudに接続するを参照してください。

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

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

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

    以下のスクリーンショットは、ソースエンドポイントの設定を示しています。

    Create AWS DMS Source endpoint

    以下のスクリーンショットは、ターゲットエンドポイントの設定を示しています。

    Create AWS DMS Target endpoint

注記:

TiDB Cloud Starter DMS エンドポイントを作成する詳細な手順については、 AWS DMSをTiDB Cloudに接続する参照してください。

ステップ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のデータを確認する

TiDB Cloud Starterインスタンスに接続します。そして、 admin.github_eventテーブルのデータを確認します。次のスクリーンショットに示すように、DMSはgithub_eventsテーブルと10000行のデータを正常に移行しました。

Check Data In TiDB

まとめ

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

移行中に問題や障害が発生した場合は、 CloudWatchのログ情報を確認して問題のトラブルシューティングを行ってください。

Troubleshooting

関連項目

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