こんばんは。小寺です。
AWS Database Migration Service(以下、DMS)のサーバレスがGAになりました。
DMSとは
AWS Database Migration Service(DMS)についてまず、簡単に解説します!
AWS Database Migration Service(AWS DMS) は、リレーショナルデータベース、データウェアハウス、NoSQL データベース、およびその他のタイプのデータベースの移行、データベースと分析のワークロードを迅速かつ安全に、ダウンタイムをゼロ、データ損失を最小限に抑えて AWS に移行するのを支援するマネージドサービスです。
広く普及している商用およびオープンソースデータベース間のデータの移行ができます。Oracle から Oracle といった同じデータベースの移行だけではなく、Oracle から Amazon Aurora のような、異なるデータベースインフラストラクチャ間の移行もサポートします。
AWS DMS を使えば、AWSまたはオンプレミスからデータ移行ができます。
・移行計画が立てられる: AWS DMS Fleet Advisor
AWS DMS Fleet Advisorを使うことで、自動的に移行計画を立てることができます。DMSの無料の機能で、オンプレミスデータベースと分析サーバーのインベントリと評価を自動的に行ってくれます。
AWS への移行に必要なデータベースエンジンやインスタンスオプションのレコメンドも確認ができます。
・スキーマを確認して、変換できる: AWS DMS Schema Conversion (DMS SC)
AWS DMS Schema Conversion (DMS SC) は、AWS DMS のフルマネージド型の機能です。 インスタンスプロファイル、データプロバイダー、移行プロジェクトの 3 つのコンポーネントから成り立っています。
AWS DMS Schema Conversion は、Oracle からAmazon RDS for PostgreSQL、SQL Server から Amazon RDS for MySQL、SQL Server から Amazon Aurora PostgreSQL 互換エディション、Oracle から Amazon Aurora MySQL 互換エディションといった一般的な異なるデータベース移行にも対応しています。
ソースデータベースのスキーマと、ビュー、ストアドプロシージャ、関数などのデータベースコードオブジェクトの大部分を自動的に評価し、ターゲットデータベースと互換性のある形式に変換します。
もし、自動的に変換できないオブジェクトがある場合は、アクションアイテムとして変換方法が表示されるので手動での変換を行いましょう。
・データベースおよび分析の移行ができる
同じデータベースエンジンの場合、ソースとターゲットのデータベースエンジンが同じ、または Oracle から Amazon RDS for Oracle、MySQL から Amazon Aurora、MySQL から Amazon RDS for MySQL、Microsoft SQL Server から Amazon RDS for SQL Serverがサポートされています。
他のデータベースエンジンへ移行する場合、スキーマ構造、データ型、およびソースデータベースとターゲットデータベースのコードが異なるため、2ステップ移行にかかります。
最初のステップとしては、AWS DMS Schema Conversion を使用して、ソーススキーマとコードをターゲットデータベースのものと一致するように変換します。
2つ目のステップとしては、DMSを利用して、ソースデータベースからターゲットデータベースにデータを移行します。
移行する際はレプリケーションサーバーとしてEC2を利用します。容量に応じて、1 つのレプリケーションインスタンスを使用して、1 つ以上のレプリケーションタスクをホストできます。
・継続的なデータレプリケーション
サポートされているソースからサポートされているターゲットに、低レイテンシーで継続的にデータをレプリケートすることができます。
利用用途としては、ディザスタリカバリのためにオンプレからAWSにデータを送るケースや、他のリージョンへデータを同期しておくケース、開発/テスト環境の同期などがあげられます。
DMS Serverlessとは
AWS DMS サーバーレスは、まずレプリケーションインスタンスが不要になりました。使用状況を手動で監視したり容量を調整したりする必要がなく、データをより柔軟かつ簡単に移行できます。機能としては、DMSと変わりはなく、ソースとターゲットのデータベース エンジンが異なる場合でも、継続的なデータ レプリケーション、データベースの統合、移行が可能です。
サーバレスのメリットとしては、レプリケーションインスタンスが不要になる点かと思います。容量の見積もり、EC2のプロビジョニング、コストの最適化、レプリケーション エンジンのバージョンとパッチ適用の管理などのEC2の管理コストが不要になりますよね。
DMSサーバレスがGA時点でサポートしているソースとターゲットの情報です。
ソース
・Oracle
・Microsoft SQL Server
・PostgreSQL
・MySQL
ターゲット
・Oracle
・Microsoft SQL Server
・PostgreSQL
・MySQL
・Amazon S3
・Amazon Redshift
・SAP Sybase SE
・DynamoDB
・Kinesis Streams
・Apache Kafka
・Amazon DocumentDB
・Amazon Neptune
確認してみる
(1) AWSマネジメントコンソールから、DMSを起動すると左側のメニューに「サーバーレスレプリケーション」が表示されていました。
(2) レプリケーションの作成を確認
レプリケーションの作成の設定を行います。
(3)レプリケーションが開始されると
レプリケーションが開始され、実行状態になると、変化するワークロードに適応するために基盤となるリソースの容量を管理してくれます。
次のレプリケーション設定に基づいてレプリケーション リソースをスケーリングします。
・最小容量単位(MinCapacityUnits)
・最大容量単位(MaxCapacityUnits)
レプリケーションは、使用率の上限しきい値を超えた期間が経過するとスケールアップし、容量使用率が長期間にわたって最小容量使用率のしきい値を下回るとスケールダウンされる仕組になっています。
対象リージョン
以下を除く全てのリージョンで利用可能です。
・China (Beijing, operated by Sinnet)
・China (Ningxia, operated by NWCD)
・AWS GovCloud (US-East)
・AWS GovCloud (US-West)