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 を使用することをお勧めします。
導入アーキテクチャ
大まかに言うと、次の手順に従います。
- ソース Amazon RDS for Oracle をセットアップします。
- ターゲットを設定しますTiDB Cloudサーバーレス層 。
- AWS DMS を使用してデータ移行 (全負荷) をセットアップします。
次の図は、アーキテクチャの概要を示しています。
前提条件
開始する前に、次の前提条件をお読みください。
次に、AWS DMS を使用して Amazon RDS for Oracle からTiDB Cloudにデータを移行する方法を学習します。
ステップ 1.VPC を作成する
AWS コンソールにログインし、AWS VPC を作成します。後でこの VPC に Oracle RDS および DMS インスタンスを作成する必要があります。
VPC の作成方法については、 VPC の作成を参照してください。
ステップ 2.Oracle DB インスタンスを作成する
作成したばかりの VPC に Oracle DB インスタンスを作成し、パスワードを覚えておいてパブリック アクセスを許可します。 AWS Schema Conversion Tool を使用するには、パブリック アクセスを有効にする必要があります。本番環境でパブリック アクセスを許可することはお勧めできません。
Oracle DB インスタンスの作成方法については、 Oracle DB インスタンスの作成と Oracle DB インスタンス上のデータベースへの接続を参照してください。
ステップ 3. Oracle でテーブル データを準備する
次のスクリプトを使用して、github_events テーブルに 10000 行のデータを作成して入力します。 github イベント データセットを使用して、 GHアーカイブからダウンロードできます。 10000 行のデータが含まれています。次の SQL スクリプトを使用して、Oracle で実行します。
SQL スクリプトの実行が終了したら、Oracle でデータを確認します。次の例では、 DBeaverを使用してデータをクエリします。
ステップ 4. TiDB Cloud Tier クラスターを作成する
TiDB Cloudコンソールにログインします。プロジェクトの [**クラスター]**ページに移動します。
無料の Serverless Tier クラスターを作成します。
クラスターが作成されたら、[**セキュリティ設定]**をクリックしてユーザー パスワードを設定します。
[生成] ボタンをクリックして、パスワードを生成します。生成されたパスワードを書き留めます。 [送信] ボタンをクリックします。
[接続] ボタンをクリックして、TiDB クラスターを接続します。
ステップ 5.AWS DMS レプリケーションインスタンスを作成する
AWS DMS コンソールのレプリケーション インスタンスページに移動し、対応するリージョンに切り替えます。
VPC に
dms.t3.largeで AWS DMS レプリケーション インスタンスを作成します。
ステップ 6. DMS エンドポイントを作成する
AWS DMS コンソールで、左ペインの
Endpointsメニュー項目をクリックします。Oracle ソース エンドポイントと TiDB ターゲット エンドポイントを作成します。
次のスクリーンショットは、ソース エンドポイントの構成を示しています。
次のスクリーンショットは、ターゲット エンドポイントの構成を示しています。
ステップ 7. スキーマを移行する
この例では、スキーマ定義が単純であるため、AWS DMS がスキーマを自動的に処理します。
AWS Schema Conversion Tool を使用してスキーマを移行する場合は、 AWS SCT のインストールを参照してください。
詳細については、 AWS SCT を使用してソース スキーマをターゲット データベースに移行するを参照してください。
ステップ 8. データベース移行タスクを作成する
AWS DMS コンソールで、 データ移行タスクページに移動します。お住まいの地域に切り替えます。次に、ウィンドウの右上隅にある [タスクの作成] をクリックします。
データベース移行タスクを作成し、選択ルールを指定します。
タスクを作成して開始し、タスクが完了するまで待ちます。
テーブル統計をクリックして、テーブルを確認します。スキーマ名は
ADMINです。
ステップ 9. ダウンストリーム TiDB クラスターのデータを確認する
サーバーレス階層クラスターに接続し、 admin.github_eventのテーブルデータを確認します。次のスクリーンショットに示すように、DMS はテーブルgithub_eventsと 10000 行のデータを正常に移行しました。
概要
AWS DMS を使用すると、このドキュメントの例に従って、アップストリームの AWS RDS データベースからデータを正常に移行できます。
移行中に問題や障害が発生した場合は、 クラウドウォッチのログ情報を確認して問題をトラブルシューティングできます。
















