AWS DMS を使用して Amazon RDS for Oracle からTiDB Cloudに移行する
このドキュメントでは、AWS Database Migration Service (AWS DMS) を使用して Amazon RDS for Oracle からTiDB サーバーレスにデータを移行する方法のステップバイステップの例について説明します。
TiDB Cloudと AWS DMS の詳細について興味がある場合は、以下を参照してください。
AWS DMS を使用する理由?
AWS DMS は、リレーショナル データベース、データ ウェアハウス、NoSQL データベース、およびその他のタイプのデータ ストアの移行を可能にするクラウド サービスです。
PostgreSQL、Oracle、SQL Server などの異種データベースからTiDB Cloudにデータを移行する場合は、AWS DMS を使用することをお勧めします。
導入アーキテクチャ
大まかに言うと、次の手順に従います。
- ソース Amazon RDS for Oracle をセットアップします。
- ターゲットを設定しますTiDB サーバーレス 。
- 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 行のデータが含まれています。 Oracle で実行するには、次の SQL スクリプトを使用します。
SQL スクリプトの実行が終了したら、Oracle のデータを確認します。次の例では、 Dビーバー使用してデータをクエリします。
ステップ 4. TiDB サーバーレスクラスターを作成する
TiDB Cloudコンソールにログインします。
クラスターページで、ターゲット クラスター名をクリックして、その概要ページに移動します。
右上隅にある[接続]をクリックします。
「パスワードの作成」をクリックしてパスワードを生成し、生成されたパスワードをコピーします。
希望の接続方法とオペレーティング システムを選択し、表示された接続文字列を使用してクラスターに接続します。
ステップ 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 クラスター内のデータを確認する
TiDB サーバーレスクラスターに接続してadmin.github_event
テーブルデータを確認します。次のスクリーンショットに示すように、DMS はテーブルgithub_events
と 10,000 行のデータを正常に移行しました。
まとめ
AWS DMS を使用すると、このドキュメントの例に従って、アップストリームの AWS RDS データベースからデータを正常に移行できます。
移行中に問題や障害が発生した場合は、 クラウドウォッチのログ情報を確認して問題のトラブルシューティングを行うことができます。