AWS Database Migration Service (DMS) を活用して VMware Cloud on AWS 上の MySQL を Amazon Aurora に移行する

所要時間4分
コンテンツレベル: 上級
1

モダナイゼーションの一環として VMware Cloud on AWS を利用する例を紹介します

はじめに

お客様は VMware 仮想化テクノロジーを使用して、オンプレミスのアプリケーションとデータベースを強化しています。アプリケーションをリファクタリングせずに移行するための最初のステップとして VMware Cloud on AWS が利用されます。その後、AWS DMS を使用して、VMware Cloud on AWS で実行されているデータベースを Amazon リレーショナルデータベースサービス (Amazon Aurora と Amazon RDS) に移行することもできます。これにより、ビジネスへの影響やリスクを最小限に抑えながら、VMware Cloud on AWS 上のアプリケーションを維持しながら、モダナイゼーション に向けたクラウドジャーニーの次のステップが可能になります。

この投稿では、VMware Cloud on AWS 上で実行されているデータベースを、AWS DMS を活用して Amazon Aurora に移行する方法について説明します。

AWS DMS について

AWS DMS は AWS の移行サービスの1つで、最小限のダウンタイムで 100 万以上のデータベースを安全に移行できるとして世界中のお客様からご利用いただいています。

1. Overview of AWS Database Migration Service (AWS DMS)

VMware Cloud on AWS と AWS DMS

この投稿では、AWS DMS を使用して、VMware Cloud on AWS で実行されている MySQL を Amazon Aurora に移行する方法を紹介します。Amazon Aurora は、大規模環境でのパフォーマンスと高可用性を提供する最新の リレーショナルデータベース サービスであり、オープンソースの MySQL および PostgreSQL 互換エディションを提供し、サーバーレスならびに機械学習 (ML) 駆動型アプリケーションを構築するためのさまざまな開発者ツールをサポートしています。

概要

次のアーキテクチャの概要は、AWS DMS が VMware Cloud on AWS 上で実行されている MySQL データベース仮想マシン (DB VM) を、Elastic Network Interface (ENI) を介して Connected VPC にデプロイされた Amazon Aurora に移行する方法を示しています。

2. Architecture overview of migrating MySQL running on VMware Cloud on AWS environment to Amazon Aurora by using AWS DMS

VMware Cloud on AWS と Connected VPC 間の通信は ENI を介して内部的に接続されているため、上図の通信はすべてプライベートに保たれていることにもご留意ください。

前提条件

一般

データベースの詳細

ターゲットのデータベース

  • Amazon Aurora (MySQL 互換) は接続された VPC 内で実行されている

3. Amazon Aurora (MySQL compatible) is running within the Connected VPC

ソースのデータベース

  • MySQL は WordPress のデータベースとして設定されている

4. MySQL is already set up as WordPress database

ステップ

この例では、次のセクションにわたって AWS DMS の設定について説明します。

  1. Connected VPC にレプリケーションインスタンスを作成
  2. ソースとターゲットのエンドポイントの作成
  3. データベース移行タスクを作成して実行
  4. WordPress の DB アクセスを MySQL から Amazon Aurora に切り替えてテスト

ステップ 1. AWS DMS レプリケーションインスタンスを作成

AWS DMS レプリケーションインスタンスを作成すると、AWS DMS は VPC 内の Amazon EC2 インスタンスにそのインスタンスを作成します。このレプリケーションインスタンスを使用してデータベースを移行します。高可用性とフェイルオーバーサポートが必要な場合は、マルチ AZ オプションを選択できます。

この例では、シングル AZ オプションを選択し、Connected VPC にレプリケーションインスタンスをデプロイしました。

Connected VPC に DMS レプリケーションインスタンスを作成

Connected VPC にレプリケーションインスタンスを作成します。

5.step1_DMSreplication_instance

パラメータチェック

環境と要件に応じてパラメータを選択できます。

6.step1_DMS_replicaiton_instance_confing

ステップ 2. ソースとターゲットのエンドポイントの作成

エンドポイントの作成

ソース (MySQL 側) とターゲット (Amazon Aurora 側) の両方にエンドポイントを作成します。

エンドポイントは、データストアに関する接続、データストアのタイプ、およびロケーションの情報を提供します。AWS DMS はこの情報を使用してデータストアに接続し、ソースエンドポイントからターゲットエンドポイントにデータを移行します。エンドポイントの設定を使用して、エンドポイントに追加の接続タイプを指定できます。

7.step2_endpoints

ソースエンドポイントの作成

まず、ソースエンドポイントを作成します。VMware Cloud on AWS 上で稼働している DB VM (MySQL) のアクセス情報を登録します。

8.source_endpoint

ターゲットエンドポイントの作成

次に、ターゲットエンドポイントを作成します。Connected VPC 上で稼働する Amazon Aurora へのアクセス情報を登録します。

9.target_endpoint

(オプション) ターゲットエンドポイント接続テスト

ターゲットエンドポイントを作成する前に、レプリケーションインスタンスへの接続をテストすることが可能です。

10.target_endpoint_connection_test

これで、AWS DMS での移行前のセットアップは完了です。

ステップ 3. データベース移行タスクを作成して実行する

AWS DMS タスクはすべての作業が行われる場所です。移行や、ロギング要件、制御テーブルデータ、エラー処理などの特別な処理に使用するテーブル (またはビュー) とスキーマを指定します。

タスクは次の 3 つの主要なフェーズで構成されます。

  • 既存データの移行 (全負荷)
  • キャッシュされた変更の適用
  • 継続的なレプリケーション (変更データキャプチャ)

AWS DMS 移行タスクがデータを移行する方法の詳細と概要については、AWS DMS の概要 を参照してください。

既存データの移行

この例では、MySQL から Amazon Aurora にデータを移行するために「Migration of existing data」を選択しています。

11.create_db_migration_task

Amazon Aurora に移行するために MySQL スキーマ「wordpress」を選択しています。

12.db_schema_wordpress

実行状況は「Status」で確認できます。

13.migration_status

これで、MySQL のデータを Amazon Aurora に移行することができました。

次に、WordPress アプリケーションからもデータ移行が成功していることを確認しましょう。

ステップ 4. WordPress のデータベースアクセスを MySQL から Amazon Aurora に切り替えてテスト

データベースを移行したら、WordPress アプリケーションでテストしてみましょう。 「wp-config.php」設定ファイルを更新して WordPress (App VM) の DB アクセスを切り替えると、WordPress は Amazon Aurora にアクセスします。

WordPress (App VM) の DB アクセスの切り替え

14.wordpress_config

マイグレーションチェック

以下に示すように、すべての WordPress 投稿が正常に移行されたことがわかります。

15.wordpress_post

その他の考慮事項

まとめ

データベースの移行が難しいことは想像に難くありませんが、AWS DMS はそのプロセスのハードルを大幅に下げることができます。この記事をきっかけに、さらなるモダナイゼーションを検討していただけると嬉しいです。 AWS DMS には多くの参考資料があります。以下に概要を示します。そちらもぜひチェックしてみてください。

その他のリソース

原文はこちらです。