ONETECH
ONETECH
今すぐ相談する
ContactinsightScanX
ソフトウェア開発

AWS DMSとは?データベースを移行する流れとメリット、料金体系を解説

Nguyen Duong

07/03/2022

Amazon Web Services(AWS)の公式情報(新しいタブで開きます)によると、AWS Database Migration Service(AWS DMS)は、移行元データベースを稼働させたままダウンタイムを最小限に抑えて、AWSへのデータベース移行および継続的なデータレプリケーションを支援するマネージドサービスです。オンプレミスからクラウドへの移行をはじめ、異種データベース間のスキーマ変換や本番環境からのリアルタイム同期など、企業のデータ基盤刷新において中心的な役割を果たします。

データベース移行における課題とAWS DMSの役割

大規模なデータベース移行では、システム停止によるビジネスの不利益を避けるための最小限のダウンタイム確保と、データ損失の防止が最優先課題となります。AWS DMSは、移行中もソースデータベースの運用を継続可能にすることで、業務への影響を抑えた円滑なデータマイグレーションを実現します。

AWS DMSとは?データベースを移行する流れとメリット、料金体系を解説

従来のデータベース移行では、データのエクスポートやリストアに伴い長時間のサービス停止が必要となったり、異種データベースエンジン間での構造の違いによる変換ミスが生じたりするリスクがありました。AWS DMSは、同種間(例:PostgreSQLからRDS for PostgreSQL)はもちろん、異種間(例:OracleからAmazon Aurora)の移行にも対応しています。

異種間移行の際には、構造やコードの事前評価・変換を支援するAWS Schema Conversion Tool(AWS SCT)と組み合わせることで、移行作業の負担や人的エラーのリスクを最小限に抑えることができます。

AWS DMSの基本概要と仕組み

AWS DMSは、レプリケーションインスタンス上で動くタスクが、ソース(移行元)からデータを取得してターゲット(移行先)へ書き込む仕組みで動作します。論理的レプリケーションを採用しているため、ソースDBに直接的な悪影響を与えずに柔軟なデータ変換や抽出が可能です。

AWS DMSの基本アーキテクチャは、主に以下の構成要素によって成り立っています。

  • Source Endpoint(ソースエンドポイント): 移行元のデータベース接続情報(IPアドレス、認証情報、エンジン種別など)を定義します。
  • Target Endpoint(ターゲットエンドポイント): 移行先のデータストア(Amazon RDS、Amazon S3、DynamoDBなど)の接続情報を定義します。
  • Replication Instance(レプリケーションインスタンス): データ移行・同期処理を実行する専用のサーバーリソースです。プロビジョニング型のほか、トラフィックに応じて自動スケーリングするAWS DMS Serverlessも利用できます。
  • Replication Task(レプリケーションタスク): どのテーブルをどのように移行するかというルールや処理方式を指定して実行するユニットです。

移行タスクの処理方式には、既存データ全量を一括転送する「フルロード(Full Load)」、データ変更ログを読み取って差分を適用し続ける「継続的レプリケーション/変更データキャプチャ(CDC)」、および両者を組み合わせる方式があります。

なお、CDCタスクにおいて障害が発生した際の個別再試行待機時間(RecoverableErrorThrottlingMax)は、デフォルト設定の上限値として1,800秒(30分)が定義されています(AWS Database Blog(新しいタブで開きます)参照)。これにより、ネットワークの一時的な瞬断や過負荷時にも高い障害回復力を維持します。

AWS DMSを利用する主なメリット

AWS DMSを利用する最大のメリットは、本番システムを稼働させたまま低コストかつ安全に移行を完了できる点にあります。高度な専門知識がなくても管理コンソールから直感的に移行タスクを設定・運用できます。

具体的には、以下のような利点があります。

  • ダウンタイムの最小化: 初期データのフルロード後にCDC(差分同期)を実施することで、最終的な切り替え時のみ短い停止時間で移行を完了できます。
  • 広範なデータストアへの対応: 商用DB(Oracle、SQL Server)からオープンソースDB(MySQL、PostgreSQL)、クラウドネイティブDB(Amazon Aurora、Redshift)、NoSQL(DynamoDB、S3)まで多様に対応します。
  • 論理的レプリケーションによる柔軟性: 特定テーブルのみの選択移行や、列の抽出・データ変換処理を移行プロセス内で柔軟に行えます。
  • 高信頼性と自己修復機能: タスク監視や自動再試行機能が組み込まれており、ネットワークエラーなどの障害時もデータを保護します。
  • 従量課金によるコスト効率化: プロビジョニング型では移行期間中のインスタンス稼働時間のみ、Serverless型では消費キャパシティに応じた課金となるため初期投資を抑制できます。

AWS DMSの主な活用事例

AWS DMSは単なるクラウド移転ツールにとどまらず、開発効率化やデータ分析基盤の構築、BCP対策など多角的な業務課題の解決に活用されています。

Amazon RDS(Relational Database Service)

1. オンプレミスからクラウドへのデータベース移行

既存のオンプレミス環境やデータセンターで稼働している社内システム・基幹DBを、Amazon RDSやAmazon Auroraなどのクラウド環境へ円滑に移行します。AWS移行サービスを活用することで、ハードウェアの老朽化対応や運用管理コストの削減を実現できます。

2. 開発・テスト環境の迅速な構築

本番データベースの最新データを、開発環境やStaging環境のデータベースへ定期的に複製・適用します。実データに近い安全なテスト環境を短時間で用意できるため、新機能の開発品質向上や検証作業の効率化に寄与します。

3. 複数データベースの統合(データコンソリデーション)

事業部ごとや拠点で分散稼働している複数のデータベースを、AWS上のAmazon RedshiftやAmazon S3などに集約・統合します。分散データの一元化によって運用管理の手間を減らすだけでなく、社内全データの横断分析やBIツールとの連携を容易にします。

4. 継続的データレプリケーション(リアルタイム同期・DR対策)

本番DBで発生した変更差分を、リアルタイムに近い低レイテンシーで別リージョンやバックアップ環境に適用し続けます。災害対策(DR)のバックアップサイト構築や、分析用水源地(データレイク)へのデータストリーミングに最適な構成です。

AWS DMSの料金体系とコスト最適化

AWS DMSの料金体系は、レプリケーション処理を実行するリソースの利用時間とストレージ容量、およびデータ転送料金によって決まります。用途に応じた構成を選択することで、コストの無駄を排除できます。

プロビジョニング型の場合、選択したレプリケーションインスタンスのタイプ(T3、C5、R5など)と稼働時間(1時間単位)に応じて課金されます。テストや小規模移行にはT3、大規模高負荷な移行にはR5などの高メモリタイプが適しています。また、自動調整を行うAWS DMS Serverlessを利用する場合は、消費されたDMS Capacity Unit(DCU)の時間あたり従量課金となります。

同一アベイラビリティゾーン内でのRDS・Auroraへのデータ移行などでは転送料金が無料となるケースが多いですが、リージョン間やAWS外部へのデータ転送時には標準のAWSデータ転送料金が適用されます。

AWS DMSを利用したデータベース移行の具体的なステップ

AWS DMSを使用した移行プロセスは、事前準備から本番切替まで体系的な手順で進めます。適切なステップを踏むことで不具合のリスクを低減できます。

  1. 事前評価とスキーマ変換: 移行元と移行先の互換性を確認します。異種DB間移行の場合はAWS SCTを用いてテーブル構造やビュー、ストアドプロシージャを事前に変換・作成します。
  2. レプリケーションインスタンスの作成: ワークロード規模に適したインスタンスタイプを選択し、VPCやセキュリティグループ、マルチAZ構成などを設定して起動します(またはServerless設定を作成)。
  3. ソースおよびターゲットエンドポイントの接続設定: 接続文字列や認証キーを登録し、テスト接続を実施して疎通を確認します。
  4. 移行タスクの作成と実行: 移行対象テーブルのマッピングルールを指定し、「フルロード+CDC」等の移行タイプを選択してタスクを開始します。
  5. データのモニタリングと切替(Cutover): ダッシュボードで移行状況やCDCレイテンシーを監視し、データ同期が追いついたタイミングでアプリケーションの接続先を切り替え作業を行います。

AWS DMSに関するよくある質問(FAQ)

異種データベース間(例:OracleからAmazon Aurora)の移行は可能ですか?

はい、可能です。AWS DMSは異なるデータベースエンジン間のデータ移行に対応しています。テーブル構造やコードの変換作業には、併用ツールであるAWS Schema Conversion Tool(AWS SCT)を利用することで自動化と効率化を図ることができます。

移行中に本番データベースを停止する必要はありますか?

初期データの一括転送(フルロード)と差分同期(CDC)を組み合わせることで、移行中も本番データベースを稼働させ続けることができます。最終的な接続先の切り替え(カットオーバー)時にのみ、わずかな停止時間が発生します。

レプリケーションタスクでエラーが発生した場合の動作はどうなりますか?

AWS DMSには自動再試行機能が備わっています。一時的なネットワークエラーやリソース負荷によるエラーが発生しても、設定された待機時間と上限回数に従って自動復旧を試みます。

AWS DMSの費用を抑えるポイントは何ですか?

移行作業が完了したプロビジョニング型レプリケーションインスタンスは速やかに削除することが重要です。また、転送料金が発生する構成を事前に確認し、同一リージョン・VPC内でのデータ転送を活用することでネットワーク費用を低減できます。

大規模なデータベース移行を行う前にPoC(概念実証)は必要ですか?

必須と言えます。テーブルのデータサイズや制約、データ型互換性、変更ログの発生頻度によってレプリケーション速度が変化するため、本番移行前に一部データを用いたPoCと事前評価を実施することが推奨されます。

まとめと今後のステップ

AWS DMSは、データベース移行時のダウンタイム短縮、コスト削減、高い信頼性を実現する強力なクラウドサービスです。単なるクラウドマイグレーションだけでなく、データ統合や開発環境の効率化など多様なニーズに応えます。

ONETECHは、「建設DXをAIで加速するテクノロジーカンパニー」として、AI活用や3Dデータ連携をはじめ、基幹クラウドインフラの構築からデータベース最適化までトータルで支援しています。AWSセレクトティアサービスパートナーとして、要件定義から移行作業、運用保守まで経験豊富なエンジニアがサポートいたします。

データベース移行やクラウド基盤の刷新に関するご相談は、ぜひお気軽にお問い合わせください。

お問い合わせ

AI・XR・建設DXに関するご相談、お見積もり、採用に関するご質問など、お気軽にお問い合わせください。