顧客管理データやマーケティング情報を集積したデータベースは、企業の重要な資産です。日々増加しつつあるデータに対してシステムの信頼性とレスポンスを高める必要があり、最新の環境を用意しなければなりません。しかし、大規模なデータベースの移行(マイグレーション)には、さまざまな問題が発生します。
AWS DMS(Database Migration Service)は、データベースの移行を実現するクラウドのサービスです。今回はデータベース移行のテーマについて解説します。
データベース移行とAWS DMS
データベース移行には、データのエクスポートとインポート、バックアップとリストアによる方法もありますが、移行ツールを使うと効率化が図れます。まずデータベースの移行時の一般的な注意点を整理します。
システムの老朽化、データベースのソフトウェアのバージョンアップ、オンプレミスからクラウドシフトなどの際には、データベースの移行が必要になります。データベース移行時には、主として以下の3つを考慮することが重要です。
- 移行のための人件費やコストの抑制
- 最小限のダウンタイム
- 異種間のデータベース移行時の変換処理
基幹系システムや顧客管理などに使われるデータベースを停止すると、ビジネスに多大な影響が生じます。したがって、ダウンタイムの時間を最小限にしつつ、移行のための労力やシステムの投資コストを抑制することが求められます。
データベースエンジンが異なる場合、移行元のソースを移行先のターゲットに合わせて変換が必要です。移行関する知識と実績のあるエンジニアが関与することにより、移行がスムーズになります。
データベース移行は、環境の構築やチューニングなどに時間と労力を必要とします。このようなデータベース移行のコスト、時間、労力を大幅に削減するツールがAWS DMSです。
AWS DMSの概要
AWS DMSは、多様なデータストアの移行を簡単に行えるようにするクラウド上のサービスです。概要、仕組み、特長、活用シーンの概要を整理します。
AWS Database Migration Service の紹介 | AWS (日本語字幕)
AWS DMSとは
AWS上のデータベース間の移行はもちろん、オンプレミスとクラウドの移行を可能にします。クラウドシフトに限らず、AWS上のデータベースからオンプレミスに移行することもできます。ただし、移行するソースまたは移行先のターゲットのいずれかが、AWS上にあることが前提です。
移行するデータベースは、リレーショナル・データベースやデータウエアハウスに加えて、NoSQLデータベースにも対応しています。同じ種類のデータベースエンジンに限らず、異なった種類にも対応しています。たとえばOracleであれば、Oracle から Amazon RDS for Oracleのほか、Oracle から Amazon Auroraにも移行できます。
AWS DMSの仕組み
AWS DMSの構成要素ならび実行プロセスを単純化すると以下のようになります。
- Source Endpoint
- Replication Instance
- Replication Task
- Target Endpoint
ソースとなるデータベースから接続定義をして、レプリケーションを実行するインスタンスにてタスクを実行、ターゲットの接続定義により移行を行います。
AWS DMSのメリット
AWS DMSを利用するメリットを列記します。
- 短期間データベースを移行
- コンソール上で簡単に操作して移行が可能
- 主要なデータベースに幅広く対応
- ダウンタイムを最小限に抑制
- 高い障害体制ならびに自己修復性を備えて信頼性
- 利用した時間だけ課金されるためコストパフォーマンス
データベースのデータ連携ツールには、物理的レプリケーションと論理的レプリケーションによる2つの方式があります。物理的レプリケーションでは、ソースのトランザクションログをそのままターゲットに送信します。一方で論理的レプリケーション方式では、変換ソフトウェアを介して独立性の高いSQLなどを生成し、ターゲットのデータベースに反映します。
AWS DMSは、後者の論理的レプリケーション方式です。したがってDBMS(データベース管理システム)の実装に対する影響を受けにくく、テーブルを選択して変更を適用したり、単一のテーブルから複数のテーブルにまたがって変換を行ったりすることができます。
ただし、論理的レプリケーションによる制限や非同期のほか、実行する処理によっては性能が低下する場合があります。大規模なデータベースの移行を行う際にはPoCとともに、バージョンアップの確認や対応が必要になります。
AWS DMSの活用シーン
まずクラウドシフトが活用シーンとして挙げられます。Amazon RDS(Relational Database Service)を使うことにより、PaaSとしてOSやデータベースエンジンの管理を自動化し、運用コストを下げることができます。
AWS DMSでは、ソースのデータをすべてターゲットに移行する全ロード(FullLoad)のほか、データ変更のみを行うCDC(Change Data Capture)のオプションが選択することによってダウンタイムを抑制します。また、全ロードを実行した後で継続的にCDCを行う設定も可能です。
次に複数データベースの統合です。オンプレミス上で複数のデータベースが稼働しているとシステムの運用保守コストを増やしてしまうだけでなく、それぞれのデータベースを管理する知識やスキルが必要になり、人材採用や教育の面からも圧迫します。
AWS DMSは、あらゆるデータベースエンジンに対応しているとともに、変換処理を行うことができるため、データベースを統合するツールとしても最適です。
さらにAWS DMSは、遠隔地におけるバックアップ、検証のためのレプリケーションなどの用途にも活用できます。
AWS DMSの料金体系
AWS DMSの料金体系は、レプリケーションインスタンスのタイプと稼働時間によって課金されます。インスタンスはデータベースの移行時のみ時間単位で支払うとともに、継続的なデータレプリケーションもサポートしているため、利用目的に合わせて選択するとよいでしょう。
レプリケーションインスタンスには、テスト環境や定期的なレプリケーションなどに適した標準的なT2/T3、大規模なデータベースを移行するときに高パフォーマンスと低レイテンシを実現するC4、C5、R4およびR5があります。
すべてのインスタンスの料金には、スワップ領域、レプリケーションログ、データキャッシュのログストレージが含まれていますが、追加料金を支払うことで拡張が可能です。
データ転送のターゲットを、アベイラビリティーゾーン以外、リージョンの異なるデータベース、AWS以外のデータベースに移行する場合には、標準のAWS データ転送料金がかかります。AWS内で移行する場合、基本的にデータ転送料金は無料に設定されています。
料金を試算するときは、以下のWebサイトの計算ツールを使うと便利です。
AWS Database Migration Service の料金
https://aws.amazon.com/jp/dms/pricing/
AWS DMSの使い方
準備段階としてインスタンス、ターゲットポイントとエンドポイント、タスクを設定します。その後タスクを実行しますが、ダッシュボードから簡単に移行ができます。おおまかな流れは以下のようになります。
レプリケーションインスタンスの作成
ダッシュボードのメニューから「レプリケーションインスタンス」をクリックして設定します。インスタンスクラスでは処理能力に合わせた最適なインスタンスを選択し、エンジンバージョンは最新を選択することが一般的です。VPC、マルチAZ、パブリックアクセスなどの設定を行います。アドバンストとメンテナンスの項目も設定します。
ソースエンドポイントとターゲットエンドポイントの作成
ダッシュボードのメニューから「エンドポイント」をクリックして設定します。エンドポイントタイプとして、ソースとターゲットの2種類の設定が必要です。データベースタイプ(ソースエンジン)、サーバー名、ポートなど各項目を入力します。
エンドポイントの設定が終了したら接続テストを行います。接続が失敗した場合には、入力項目の誤りのほか、ファイアーウォールやセキュリティなどの条件を見直すようにします。
移行タスクの作成
ダッシュボードのメニューから「タスク」をクリックして設定します。インスタンスやエンドポイントのほか、全ロードもしくはCDCの移行タイプの設定があります。
「作成時にタスクを実行」をチェックすることにより、そのままタスクを実行することが可能です。タスクは、既存データの全ロード、キャッシュされたデータの適用、継続的なレプリケーションなどを行うことができます。
タスクを実行した際には監視を行い、問題ない場合には「ロード完了」が表示されます。
おわりに
技術の進歩に合わせて、データベースを最新の状態にアップデートする必要があります。成長がめざましい企業においては、データの増加に合わせてデータベースを拡張しなければなりません。AWS DMSはデータベース移行の効率化を実現します。クラウドシフトなどを検討する場合に、活用してはいかがでしょう。
ベトナムオフショア開発でのマイグレーションの実績
弊社ではベトナムでマイグレーションを実施することで、低コストでのDXの実現を提案しています。アプリケーションのマイグレーションについてはたくさんの実績があります。データベースのマイグレーションに関しても優秀なベトナムチームで対応が可能です。お気軽にお問合せください。
ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。
ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。
- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい
AWS DMSを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。
AWS導入について相談する