AWS Database Migration Service の特徴

概要

AWS Database Migration Service (AWS DMS) は、データベースを AWS に迅速かつ安全に移行するのに役立ちます。AWS DMS では、1 つの集中型サービスの下でデータベースと分析システムを大規模に計画、評価、変換、移行できるため、時間、リソース、コストを節約できます。移行中でもソースデータベースは完全に利用可能な状態に保たれ、データベースを利用するアプリケーションのダウンタイムは最小限に抑えられます。AWS Database Migration Service は、広く普及しているほとんどの商用データベースとオープンソースデータベース間のデータ移行でご利用いただけます。

AWS DMS に加えて、AWS Schema Conversion Tool (AWS SCT) を使用してデータウェアハウスを移行できます。AWS SCT がサポートしているソースの完全なリストを参照してください。

データベースのイラスト

特徴のメリット

AWS DMS は簡単に使えます。ほとんどのケースにおいてドライバーやアプリケーションをインストールする必要はなく、ソースデータベースに変更を求められることはありません。AWS マネジメントコンソールで数ステップで、データベースの移行を始められます。

AWS DMS によって、お客様のデータベースの AWS への移行を事実上ダウンタイムなしで行えます。データ移行中にソースデータベースで行われるすべての変更はターゲットに継続的にレプリケートされるため、移行プロセスの間もソースデータベースは完全に利用可能な状態に保たれます。

データベース移行の完了後は、任意の期間にわたってターゲットデータベースとソースデータベースを同期させておくことが可能なため、お客様にとって都合のよい時に切り替えを実行できます。

AWS DMS は低コストのサービスです。移行プロセス中に使用したコンピューティングリソースと、追加ログのストレージに対してのみ料金が発生します。

テラバイトサイズのデータベースの移行を低コストで実施できます。料金は、サポートされている同種、異種データベース間の移行の両方に適用されます。これは非常に高額となりうる従来のデータベース移行方式と著しい対照をなしています。

AWS DMS は耐障害性が高く、自己修復機能を備えています。継続的にソースおよびターゲットデータベース、ネットワークの接続性、レプリケーションインスタンスをモニタリングします。移行が中断された場合には、プロセスが自動的に再起動され、停止した場所から移行が続行されます。Amazon Relational Database Service (Amazon RDS) マルチ AZ オプションを使用することにより、冗長レプリケーションインスタンスを有効化して、データベース移行の高可用性と継続的なデータレプリケーションを実現できます。

AWS DMS タスクは、1 回限りの移行または進行中のレプリケーションのいずれかに設定できます。進行中のレプリケーションタスクにより、ソースデータベースとターゲットデータベースの同期が維持されます。セットアップが完了すると、進行中のレプリケーションタスクは、レイテンシーを最小限に抑えながら、ソースの変更をターゲットに継続的に適用します。データ検証や変換などのすべての AWS DMS 機能は、1 つのレプリケーションタスクで使用できます。

AWS DMS を使用すると、開発を目的としたクラウド内外へのデータ移行を実施できます。これには、2 つの一般的なシナリオがあります。1 つ目は、開発、テスト、ステージング用のシステムを AWS にデプロイし、クラウドのスケーラビリティと迅速なプロビジョニングを活用することです。これにより、デベロッパーとテスターは、実際の本番データのコピーを使用し、更新した内容をオンプレミスの本番システムにコピーして戻すことができます。

2 つ目のシナリオは、開発システムがオンプレミス (または個人のノート PC) にあり、このようなオンプレミスシステムに AWS のプロダクションデータベースの現在のコピーを 1 回または継続的に移行する場合です。本番システムの最新状態を確実に反映できると同時に、既存の DevOps プロセスの中断を避けることができます。

AWS DMS を使用して、複数のソースデータベースを単一のターゲットデータベースに統合できます。 データベースの統合は、同種間および異種間の移行で利用可能で、またこの機能はサポートされているデータベースエンジンでご利用いただけます。ソースデータベースは、AWS 以外のお客様のオンプレミスで実行される Amazon Elastic Compute Cloud (Amazon EC2) インスタンスまたは Amazon RDS データベースに配置できます。ソースデータベースを異なる場所に分散することもできます。

例えば、ソースデータベースの 1 つを AWS 外部にあるお客様の設備内に、2 つ目を Amazon EC2 内に、3 つ目を Amazon RDS データベースに配置できます。ターゲットデータベースは、Amazon EC2 または Amazon RDS 内のデータベースに配置できます。

移行計画

AWS Database Migration Service (AWS DMS) Fleet Advisor は、AWS DMS の無料のフルマネージド機能です。この機能を使用すると移行計画を自動化し、最小の労力でデータベースと分析フリートをクラウドに大規模に移行することができます。移行を加速するために、AWS DMS Fleet Advisor はオンプレミスデータベースと分析サーバーのインベントリと評価を自動的に行い、潜在的な移行パスを識別します。Fleet Advisor は、自己管理型データベースから収集された過去のパフォーマンスと使用パターンを使用して、対象となるデータベースエンジンとインスタンスオプションを推奨し、コストを見積ることができます。AWS DMS を使用すると、実質的にダウンタイムなしでデータベースと分析システムを AWS に確実に移行できます。

AWS DMS Fleet Advisor は、Oracle、Microsoft SQL Server、MySQL、PostgreSQL など、AWS DMS でサポートされる同じソースデータベースを検出および分析します。AWS DMS Fleet Advisor では、従来、数週間から数か月を要していた結果を数時間で得ることができます。サードパーティー製ツールを使用する必要や、移行エキスパートを雇用する必要はありません。

AWS DMS コンソールのいくつかのステップで AWS DMS Fleet Advisor を使用して移行計画を開始できます

スキーマの評価と変換

AWS Database Migration Service Schema Conversion (AWS DMS SC) は、AWS DMS のフルマネージド型の機能です。これにより、自動的にデータベーススキーマとコードオブジェクトをダウンタイムゼロで大規模に評価および変換できます。AWS DMS SC は、Oracle から Amazon Relational Database Service (Amazon RDS) for PostgreSQLSQL Server から Amazon Relational Database Service (Amazon RDS) for MySQLSQL Server から Amazon Aurora PostgreSQL 互換エディションOracle から Amazon Aurora MySQL 互換エディションといった一般的な異種移行をサポートしています。数週間または数か月かかる手動の時間とリソースを、AWS DMS コンソールで数ステップで削減することができます。

また、スキーマ変換の複雑さに関する評価レポートを数ステップで生成できます。このレポートには、ソースデータベースエンジンとターゲットデータベースエンジンの非互換性を解決する方法についての規範ガイダンスが記載されています。AWS DMS SC の詳細については、ドキュメント開始方法ガイドをご覧ください。

あるいは、AWS SCT をダウンロードして、ローカルシステムで同様の評価と変換を実施することもできます。AWS SCT ユーザーガイドは、開始方法ベストプラクティス、およびトラブルシューティングについての詳細な手順を示します。

データベースおよび分析の移行

移行サポート: AWS DMS は広く普及している商用およびオープンソースデータベース間でデータを移行させることができます。 Oracle から Oracle といった同種間の移行のみならず、Oracle から Aurora のような、異なるデータベースインフラストラクチャ間の移行もサポートします。

AWS DMS は、ソースとターゲットのエンドポイントとして 20 を超えるデータベースとデータウェアハウスをサポートしています。

スキーマ構造、データ型、およびデータベースコードが、ソースとターゲットのデータベース間で互換性があるため、この種の移行は 1 回の処理で行えます。ソースデータベースからターゲットデータベースを接続して移行するタスクを作成し、ボタンをクリックして移行を開始します。残りの処理は AWS DMS が自動的に行います。

ソースデータベースは、AWS 外部にあるお客様の設備内、実行中の Amazon EC2 インスタンス内、または Amazon RDS データベース内のデータベースに配置できます。ターゲットデータベースは、Amazon EC2 または Amazon RDS 内のデータベースに配置できます。

AWS DMS には、同種の移行を実行するためのオプションがいくつかあります。1 つ目の選択肢は、組み込みのネイティブデータベースツールを使用して、レプリケーションインスタンスを管理しなくてもターゲットデータベースに自動的に移行する方法です。MySQL と PostgreSQL を移行する際に、すべてのデータタイプとセカンダリオブジェクトをターゲットエンジンとして Aurora と Amazon RDS に移行する場合に最適です。その他のすべてのエンジンでは、AWS Database Migration Service (AWS DMS) Serverless またはオンデマンドレプリケーションインスタンスを使用する代替オプションを使用できます。

  • データベースの異種間移行: データベースの異種間移行では、Oracle から AuroraOracle から PostgreSQL、または Microsoft SQL Server から MySQL といった場合のように、ソースとターゲットのデータベースのエンジンが異なります。

    この場合、スキーマ構造、データ型、およびソースデータベースとターゲットデータベースのコードが大きく異なっており、データ移行を開始する前にスキーマとコードの変換が必要となります。

    そのため、異種データベース間で移行するには、2 つのステップが必要です。 まず、AWS DMS SC を使用して、ソーススキーマとコードをターゲットデータベースのものと一致するように変換します。その後、AWS DMS を利用して、ソースデータベースからターゲットデータベースにデータを移行します。AWS DMS には、オンデマンドレプリケーションインスタンスまたは AWS DMS サーバーレスを使用するオプションがあります。これにより、移行リソースのプロビジョニング、モニタリング、スケーリングという時間のかかるタスクが自動化され、移行が簡単になります。

    必要なデータ型はすべて、移行時に自動的に変換されます。 ソースデータベースは、AWS 外のお客様の設備内、サードパーティのデータベースサービス、Amazon EC2 インスタンス Amazon データベースに配置できます。同様に、ターゲットデータベースは AWS の外部、EC2 インスタンス、またはマネージド Amazon データベースと分析サービスに配置できます。サポートされているソースエンジンとターゲットエンジンのリストを参照してください。

サーバーレス

AWS DMS Serverless では、レプリケーションインスタンスをプロビジョニングしたり、手動で使用状況をモニタリングしたり、容量を調整したりすることなく、データを柔軟かつ簡単に移行できます。移行リソースを自動的にプロビジョニング、モニタリング、スケーリングして、需要を満たすために必要な最適な容量に調整します。AWS DMS Serverless は、ソースとターゲットのデータベースエンジンが異なる場合でも、継続的なデータレプリケーション、データベース統合、移行などの一般的な AWS DMS ユースケースをサポートします。数十または数百のワークロードを同時に移行したり、AWS で継続的なデータレプリケーションを実行したりするなど、最も複雑な移行も支援します。

AWS DMS Serverless は、ピーク時の需要に合わせてリソースを過剰にプロビジョニングする必要がなくなるため、費用対効果が高くなります。お支払いいただくのは、使用したデータ移行容量に対してのみです。詳細については、AWS DMS Serverless のドキュメントをご覧ください。

類似のエンジンや互換性のあるエンジン間での同種移行を実現するために、AWS DMS には、自動スケーリング機能を備えた組み込みのネイティブツールを使用してシームレスなデータベース移行を行うオプションも用意されています。使用した時間に対してのみお支払いいただきます。

継続的なデータレプリケーション

AWS DMS を使用すると、サポートされているソースからサポートされているターゲットに、低レイテンシーで継続的にデータをレプリケートすることができます。継続的なデータレプリケーションのユースケースとして、ディザスタリカバリインスタンスの同期、データベースの地理的分散、および開発環境とテスト環境の同期などさまざまな用途が考えられます。

AWS DMS は、サポートされているデータベースエンジンについて、同種間と異種間両方のデータレプリケーションに使用できます。 ソースデータベースや複製先データベースは、AWS 外部にあるお客様の設備内、実行中の Amazon EC2 インスタンス内、または Amazon RDS データベース内のデータベースに配置できます。

単一のデータベースから 1 つ、または複数のターゲットデータベースにデータをレプリケートしたり、または複数のデータベースから 1 つ、または複数のターゲットデータベースにデータを統合して、レプリケートすることが可能です。

例えば、複数のソースから Amazon Simple Storage Service (Amazon S3) にレプリケートすることで、高可用性のスケーラブルなデータレイクソリューションを構築することができます。また、Amazon Redshift にデータをストリーミングすることで、データベースをペタバイト規模のデータウェアハウスに統合することもできます。

AWS DMS レプリケーションインスタンスのセットアップ方法を学び、AWS DMS レプリケーションインスタンスを使用して開始します。

よくある質問

AWS DMS は、継続的なデータレプリケーションやデータベース統合に加えて、AWS へのデータベースと分析の移行、および AWS からの移行に使用されます。AWS DMS を使用すると、Aurora を含むマネージドサービスにモダナイズできます。AWS DMS には、スキーマとソースコードを変換する AWS DMS SC や、キャパシティリソースを自動的にプロビジョニング、モニタリング、スケーリングしてロータッチで移行する AWS DMS Serverless などの機能が含まれています。

AWS DMS 無料利用枠には、Single-AZ dms.t2.micro インスタンスの場合、1 か月あたり最大 750 時間が含まれます。機能によって、使用量に応じたコストがかかります。AWS DMS Fleet Advisor と AWS SC については、使用したストレージの分のみお支払いいただきます。AWS DMS 移行オプションについては、レプリケーションインスタンスを使用するかサーバーレスオプションを使用するかにかかわらず、使用した分を時間単位でお支払いいただきます。詳細については、AWS DMS の料金をご覧ください。