Amazon Web Services ブログ

Oracle Database による AWS Database Migration Service と Accelario によるダウンタイムゼロの移行

これは Accelario の共同設立者で副社長の R&D の マイケル・リトナー (Michael Litner) のゲストポストです。

Accelario は、Amazon Web Services(AWS)に Oracle データベースを簡単かつ迅速にロードするためのデータベース移行ソフトウェアです。初期ロードの終了時に、AWS Database Migration Service (AWS DMS)を使用してデータベースの同期がすぐに開始されます。その結果、データベースのダウンタイム移行がゼロ になります。

データベースのクラウド移行時には、週7日24時間(無休)業務を必要とする事業は大問題に直面しています。これまでのところ、ダウンタイムを最小限に抑えるための経費効率の高いオプションはほとんどありませんでした。Accelario は、AWS DMS との最近の統合により、すぐに使用できるゼロダウンタイムのフルデータベース移行ソリューション、つまり、ユーザー、手順、ビューなどのデータベース全体が移行を提供します。プロセスが完了すると、データベースにアクセスしてアプリケーションで即座に使用することができます。

そのような事業に影響を及ぼすもう1つの重大問題は、機密情報がプロセスの一部として公開されないようにすることです。これは、データ保護ポリシーや規制の遵守にとって重要です。Amazon Relational Database Service (Amazon RDS)でサポートされている Oracle の組み込み機能(ネットワーク・データ暗号化を含む)を使用して、転送中のデータの暗号化を実現できます。

本投稿では、この組み合わせソリューションを使用してデータベースを Amazon EC2 または Amazon RDS(データマスキングも使用)に移行する方法について説明します。また、クラウドに入った後に簡単にデータベースをリフレッシュする方法についても説明します。

仕組みの説明

Accelario は論理的な移行を実行します。それはソースデータベースを読み取り、その内容を解析して宛先にコピーします。エンジンはデータ自体がソースからデスティネーションに直接流れて、移行プロセスを調整します。Accelario は、データベース内のすべてのオブジェクトタイプ(表、索引、パッケージ、順序、許可、表スペースなど)を処理します。

この初期ロードの終了時に、Accelario は AWS 上の新しいターゲットとソース間の 進行中の変更 を複製するAWS DMS 環境を自動的に構築します。複製が同期された後、いつでもカットオーバを要求できます。

大規模なデータベースでこのソリューションを使用する場合のベストケース

大規模なデータベース移行で Accelario を使用する一般的なシナリオを次に示します。

  • データベースは、多くの特殊オブジェクトと構成 (表領域のレイアウト、表プロパティ、または PL/SQL オブジェクト)で複雑です。
  • 初期ロードを短縮する事業要件があります。
  • 手操作による介入と作業(スクリプト、フォールトトレランスなど)の一部を削除する必要があります。

Accelario Oracle Database Migration エンジンは、AWS Marketplace 上で利用できます。移行プロセスは、わずか2部から構成されています:

  1. 初期ロード
  2. 進行中のデータキャプチャ

ソリューションの展開と使用

Accelario に慣れ親しむため、次の内容を含む AWS CloudFormation テンプレートを作成しました:

  • Amazon RDS 上で動作するソース Oracle データベース。
  • Amazon RDS を実行する宛先 Oracle データベース。
  • AWS Marketplaceから直接配備された Accelario サーバー。

テンプレートのダウンロードは、この GitHub リポジトリからできます。テンプレートファイルをダウンロードしたら、AWS CloudFormation consoleを開きスタックを作成します。必要なパラメータは、スタック名VPC IDキーペアマスター RDS ユーザー名パスワードです。他のすべてのフィールドはデフォルト設定を維持します。

最後に、出力 タブで Accelario リンクを見つけることができます。このリンクを使用して、新たに作成した Accelario サーバーに接続し、AccelarioUserAccelarioPasswordをログイン用の認証情報として使用します。

このデモのために、ソースデータベースにサンプルデータをいくつか作成します:

mypasswordで特定されるユーザー sample3 を作成します;
無制限の表領域を sample3 に付与します;
表 sample3.emp1(ID番号、名前 varchar2(100)、生年月日) を作成します;
表 sample3.emp1を訂正し、インデックスを使用して制約 emp1_pkを追加します;

デモの次のステップでこの表を使用します。

Accelario での移行の設定

Accelario は、移行のためのスキーマと表を選択する簡単なウィザードを使用して構成します。(詳しい手順については、Accelario User Guideをダウンロードしてください。) 以下のように、再マッピングやデータマスキングなどの高度な機能を選択することもできます。

また、このウィザードを使用して、次の進行中の複製の設定を行うこともできます。

移行の実行

設定がすべて完了したので、移行の初期ロードを実行して進行状況を監視できます。

最初のロードが完了すると、Accelario は進行中の変更、複製インスタンス、エンドポイント、タスクを適用する AWS DMS 設定を自動的に設定します。複製の開始点は、ソース・データベースのシステム変更番号(SCN)に従って正確に設定されます。設定がセットされている場合は、Accelario UI(下図を参照)と AWS DMS コンソールの両方から管理できます。

AWS DMSコンソールでは、複製インスタンスを操作できます。

また、ソースとターゲットのエンドポイントの管理もできます。

また、AWS DMS タスクでアクションを実行することもできます。

すべて完了! データベースはすぐに使用できます。すべてのデータ、オブジェクト、ユーザー、セキュリティコンポーネントが移行され、すべての継続的変更が連続して適用されます。唯一残されていることは、適切なカットオーバー時間を選択することです。

(オプション)複製の確認

進行中の複製を確認することもできます。ソースデータベースから開始します。表は最初空です。

SOURCE> * from emp1から選択します;
4 行選択されました

宛先テーブルも空です。

次に、この表に行を挿入します。

SOURCE> emp1 values に挿入する (1, 'John', '01-JAN-2018');
1行が作成されました。
SOURCE>コミット;
コミット完了しました。

行が自動的に宛先データベースに追加されたこともわかります。

TARGET> emp1から選択する*;
        ID 氏名			誕生
---------- ------------ ---------		
         1 John         01-JAN-18

結論

組み合わされた Accelario-AWS DMS ソリューションを使用することで、少しも手間をかけずに素早く立ち上げることができ、ダウンタイムも何ら発生しませんでした。このソリューションは、あらゆるサイズのデータベースに適しており、1時間に数百ギガバイトを移行します。

ご自身で試してみたいときは、AWS MarketplaceでAccelario が利用できます。Accelario と AWS DMS はいずれも1時間単位で販売されています。料金設定については、Accelario Oracle Database Migration および AWS Database Migration Service pricingの料金設定を参照してください。.

Accelario 機能の詳細については、info@accelario.comまでお問い合わせください。


今回のブログ投稿者について

マイケル・リトナー(Michael Litner)氏は Accelario Software 社の副社長を務め、長年に渡って複数の大企業のシニアデータベースエンジニアとして活躍しています。DB の移行、パフォーマンス、同期、セキュリティ、および問題解決の専門家です。