AWS DMS と AWS SCT を使用して、Oracle データベースを Amazon EC2 から Amazon RDS for MariaDB に移行する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS DMS と AWS SCT を使用して、Oracle データベースを Amazon EC2 から Amazon RDS for MariaDB に移行する

作成者: Veeranjaneyulu Grandhi (AWS)、vinod kumar (AWS)

環境:PoC またはパイロット

ソース: データベース: リレーショナル

ターゲット: Amazon RDS for MariaDB

R タイプ: リアーキテクト

ワークロード: Oracle

テクノロジー: 移行、データベース

AWS サービス: Amazon RDS

[概要]

このパターンでは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス上の Oracle データベースを、Amazon DB インスタンスの Amazon Relational Database Service (Amazon RDS) に移行する手順を、順を追って説明します。このパターンでは、データ移行に AWS Data Migration Service (AWS DMS) を使用し、スキーマ変換に AWS Schema Conversion Tool (AWS SCT) を使用します。

EC2 インスタンスで Oracle データベースを管理することは、Amazon RDS 上のデータベースを使用するよりも多くのリソースを必要とし、コストもかかります。Amazon RDS を使用すると、クラウドでリレーショナルデータベースを簡単に設定、運用、拡張できます。Amazon RDS は、ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップなどの時間のかかる管理タスクを自動化しながら、コスト効率が高くサイズ変更可能な容量を提供します。

前提条件と制限

前提条件

制限

  • データベースサイズの上限: 64 TB 

製品バージョン

  • バージョン 10.2 以降の 11g から 12.2 まで、および 18c のすべてのエディションの Oracle データベース。サポートされているバージョンの最新リストについては、AWS ドキュメントの「Using an Oracle Database as a Source for AWS DMS」と「AWS SCT version table」を参照してください。

  • Amazon RDS は、MariaDB サーバーコミュニティサーバーのバージョン 10.3、10.4、10.5、および 10.6 をサポートしています。サポートされているバージョンの最新リストについては、Amazon RDS ドキュメントを参照してください。

アーキテクチャ

ソーステクノロジースタック

  • EC2 インスタンス上の Oracle データベース

ターゲットテクノロジースタック

  • Amazon RDS for MariaDB

データ移行アーキテクチャ

移行に AWS DMS を使用する。

ターゲット アーキテクチャ

移行に AWS SCT を使用する。

ツール

  • AWS Schema Conversion Tool (AWS SCT) は、ソースデータベースのスキーマと大部分のデータベースコードオブジェクト (ビュー、ストアドプロシージャ、関数など) をターゲットデータベースと互換性のある形式に自動的に変換することで、異種データベースの移行を予測可能にします。AWS SCT を使用してデータベーススキーマとコードオブジェクトを変換した後、AWS DMS を使用してソースデータベースからターゲットデータベースにデータを移行し、移行プロジェクトを完了できます。詳細については、AWS SCT ドキュメントの「Using Oracle as a Source for AWS SCT」を参照してください。

  • AWS Database Migration Service (AWS DMS) – データベースを迅速かつ安全に AWS に移行するのに役立ちます。移行中でもソースデータベースが完全に維持され、このデータベースを利用するアプリケーションのダウンタイムは最小限に抑えられます。AWS DMS は、広く普及しているほとんどの商用データベースとオープンソースデータベース間のデータ移行にご利用いただけます。AWS DMS は、Oracle から Oracle への同種移行だけでなく、Oracle や Microsoft SQL Server から Amazon Aurora へなど、異なるデータベースプラットフォーム間の異種移行もサポートしています。Oracle データベースの移行の詳細については、AWS DMS のドキュメントの「Using an Oracle Database as a Source for AWS DMS」を参照してください。

エピック

タスク説明必要なスキル

バージョンとデータベースエンジンを特定します。

ソースデータベースとターゲットデータベースについて、バージョンとエンジンを特定します。

DBA、開発者

レプリケーションインスタンスを特定します。

AWS DMS レプリケーションインスタンスを特定します。

DBA、開発者

ストレージ要件を特定します。

ストレージの種類と容量を特定します。

DBA、開発者

ネットワーク要件を特定します。

ネットワークの遅延と帯域幅を特定します。

DBA、開発者

ハードウェア要件を特定します。

ソースサーバーインスタンスとターゲットサーバーインスタンスのハードウェア要件を (Oracle 互換性リストと容量要件に基づいて) 特定します。

DBA、開発者

セキュリティ要件を特定します。

ソースとターゲットデータベースのネットワークアクセスセキュリティ要件を特定します。

DBA、開発者

ドライバーをインストールします。

最新の AWS SCT および Oracle ドライバーをインストールします。

DBA、開発者

バックアップ戦略を決定します。

DBA、開発者

可用性の要件を決定します。

DBA、開発者

アプリケーション移行/スイッチオーバー戦略を選択してください。

DBA、開発者

インスタンスタイプを選択します。

容量、ストレージ、ネットワーク機能に基づいて適切なインスタンスタイプを選択します。

DBA、開発者
タスク説明必要なスキル

仮想プライベートクラウド (VPC) を作成します。

ソース、ターゲット、レプリケーションインスタンスは、同じ VPC と同じアベイラビリティゾーンにある必要があります (推奨)。

開発者

セキュリティグループを作成します。

データベースアクセスに必要なセキュリティグループを作成します。

開発者

キーペアを生成します。

キーペアを生成して設定します。

開発者

その他のリソースを設定します。

サブネット、アベイラビリティゾーン、CIDR ブロックを設定します。

開発者
タスク説明必要なスキル

EC2 インスタンスを起動します。

手順については、Amazon EC2 のドキュメントを参照してください。

開発者

Oracle データベースをインストールします。

EC2 インスタンスに Oracle データベースを、必要なユーザーとロールとともにインストールします。

DBA

タスクの説明にあるステップに従って、EC2 インスタンスの外部から Oracle にアクセスします。

  1. tnsnames でローカルホストを Amazon EC2 パブリック DNS に変更します。

  2. listener のローカルホストを Amazon EC2 パブリック DNS に変更します。

  3. リスナーを停止して再起動します。

DBA

Amazon EC2 パブリック DNS を更新します。

EC2 インスタンスが再起動すると、パブリック DNS が変更されます。必ず tnsnames および listener で Amazon EC2 パブリック DNS を更新するか、Elastic IP アドレスを使用してください。

DBA、開発者

EC2 インスタンスのセキュリティグループを設定します。

EC2 インスタンスのセキュリティグループを設定して、レプリケーションインスタンスと必要なクライアントがソースデータベースにアクセスできるようにします。

DBA、開発者
タスク説明必要なスキル

RDS DB インスタンスを起動します。

Amazon RDS for MariaDB インスタンスを設定し、起動します。

開発者

テーブルスペースを作成します。

Amazon RDS MariaDB データベースに必要なテーブルスペースをすべて作成します。

DBA

セキュリティグループを設定します。

レプリケーションインスタンスと必要なクライアントがターゲットデータベースにアクセスできるようにセキュリティグループを設定します。

開発者
タスク説明必要なスキル

ドライバーをインストールします。

最新の AWS SCT および Oracle ドライバーをインストールします。

開発者

接続。

適切なパラメータを入力し、ソースとターゲットに接続します。

開発者

スキーマ変換レポートを生成します。

AWS SCT スキーマ変換レポートを生成します。

開発者

必要に応じてコードとスキーマを修正してください。

コードとスキーマ (特にテーブルスペースと引用符) を必要に応じて修正します。

DBA、開発者

スキーマを検証します。

データをロードする前に、ソースとターゲットのスキーマを検証します。

開発者
タスク説明必要なスキル

接続属性を設定します。

フルロードおよび変更データキャプチャ (CDC) の場合、または CDC のみの場合は、追加の接続属性を設定します。詳細については、「 Amazon RDS ドキュメント」を参照してください。

開発者

補足的なログを有効にします。

ソースデータベースでの補足的なログ記録を有効にします。

DBA、開発者

アーカイブログモードを有効にします。

フルロードと CDC (または CDC のみ) の場合は、ソースデータベースのアーカイブログモードを有効にします。

DBA

エンドポイントを作成してテストします。

ソースエンドポイントとターゲットエンドポイントを作成し、接続をテストします。詳細については、Amazon DMS のドキュメントを参照してください。

開発者

レプリケーションタスクを作成します。

エンドポイントが正常に接続された後、レプリケーションタスクを作成します。詳細については、Amazon DMS のドキュメントを参照してください。

開発者

[レプリケーション] タイプを選択します。

タスクで [CDC のみ] または [フルロードと CDC] を選択して、それぞれ連続レプリケーションのみ、またはフルロードと継続的な変更の変更をキャプチャします。

開発者

タスクを開始して監視します。

レプリケーションタスクを開始し、Amazon CloudWatch ログをモニタリングします。詳細については、Amazon DMS のドキュメントを参照してください。

開発者

データを検証します。

ソースデータベースとターゲットデータベースのデータを検証します。

開発者
タスク説明必要なスキル

選択したアプリケーション移行戦略に従ってください。

DBA、アプリ所有者、デベロッパー

選択したアプリケーションのカットオーバー/スイッチオーバー戦略に従ってください。

DBA、アプリ所有者、デベロッパー
タスク説明必要なスキル

スキーマとデータを検証します。

プロジェクトを終了する前に、スキーマとデータがソースとターゲットで正常に検証されていることを確認します。

DBA、開発者

メトリクスを収集します。

移行時間、手動タスクとツールタスクの比率、コスト削減などの基準に関する指標を収集します。

DBA、アプリ所有者、デベロッパー

ドキュメントを確認します。

プロジェクト文書とアーティファクトをレビューして検証します。

DBA、アプリ所有者、デベロッパー

リソースをシャットダウンします。

一時的な AWS リソースをシャットダウンします。

DBA、開発者

プロジェクトを閉じます。

移行プロジェクトを閉じて、フィードバックを送ってください。

DBA、アプリ所有者、デベロッパー

関連リソース