PR
4/1朝まで
どなたでも有料記事が読み放題「無料開放デー」開催中!

オンプレミス環境のRDBMSは、クラウドが提供する様々なサービスへの移行が検討可能だ。商用製品からOSSのRDBMSに乗り換えればコスト削減が見込めるが、移行難易度は高くなる。データベースの移行に当たっては移行支援ツールなどを活用し、作業効率を引き上げたい。

 今回から、実際にクラウドへ移行する際の移行計画や移行方法について、アーキテクチャーの側面から説明していく。

 基幹システムのクラウド移行プロジェクトでは、取り扱うデータ量が多く、データ変換ルールなども複雑になりがちだ。また、複数のテーブルを結合するような難易度の高いアプリケーションが多数存在するケースが多い。そのため、プロジェクトの「現状分析」「新システム設計・移行データ準備」「本番運用」の全工程を通じて、既存の設計文書が信頼できないとの前提に基づき計画を立てるべきである(図1)。

図1 データ移行の落とし穴
図1 データ移行の落とし穴
[画像のクリックで拡大表示]

 今回は、データ移行のメインターゲットであるリレーショナルデータベース(RDBMS)を例に具体的なアプローチについて説明する。

データベース構成の選択肢

 既存システムのRDBMSは、OSS(オープンソースソフトウエア)ではなく、Oracleに代表される商用ソフトウエアが使われているケースが多い。

 一方で、クラウド移行のタイミングで、ライセンス費用やトランザクションデータのボリューム、OSS製品の成熟度などを考慮して、OSS版のRDBMSの利用を検討する場合がある。例えば、Amazon Web Services(AWS)のRDBMSサービスの一つ「Amazon Aurora」では、OSSのMySQLおよびPostgreSQL互換の2種類を提供している。オンプレミス(自社所有)環境のデータベースをクラウドに移行する際の選択肢を図2にまとめた。

図2 クラウドへのDB移行の選択肢
図2 クラウドへのDB移行の選択肢
[画像のクリックで拡大表示]

 クラウドを利用する場合、バックアップや運用監視など運用面の管理コストの軽減を期待し、③のクラウドDBサービスの活用を第一候補とするケースは多い。オンプレミス環境で利用しているRDBMSと同じ製品のサービスを選択すれば、データベースの互換性は確保できており、アプリケーションの改修やテストに関わる工数を大幅に減らせる。

 ただし、旧来型のアーキテクチャーで構築した既存システムでは、ネットワークのレイテンシー(遅延)を考慮し、DBサーバー上にバッチ処理を実装しているケースがある。ところが、クラウドのマネージドDBサービスはアプリケーションやファイル操作に対応していないので、既存バッチアプリケーションの改修が必要になる。

 またジョブスケジューラーまで必要としない時刻起動の処理ではOSのcronコマンドを使うが、これもマネージドサービスでは使えない。そのため、仮想マシンサービスにDBをインストールしたほうが、使い慣れた運用環境を踏襲できて、運用面で優位なこともある。マネージドサービスに乗り換えるか、それとも仮想マシンにインストールするかの選択指針を図3にまとめた。

図3 クラウドサービスやインストールタイプの選択指針
図3 クラウドサービスやインストールタイプの選択指針
[画像のクリックで拡大表示]