AWSのマネジメントコンソール…
金融システムの運用保守や情報システム部門のIT支援などを経て、現在は顧客へのAWS導入・移行の提案、構築などを担当。社内向けの勉強会、技術支援などを実施し、AWSエンジニアの育成にも挑戦中。好きな食べ物はカレーと餃子。
執筆・監修者ページ/掲載記事:6件
こんにちは。エンジニアの中井です。
最近、メガネを買い換えました。乱視が進んでいたようで、ずいぶんとスッキリ見えるようになりました。
何事も測ってみないとわかりませんね。
本記事では、AWS Database Migration Service(AWS DMS)についてご紹介します。
少し長くなってしまったため、前編と後編の2回に分けてご紹介します。
AWS Database Migration Service(AWS DMS)は、その名前のとおりデータベースをAWSに移行するためのサービスです。
特徴としては以下のとおりです。
AWS DMSの他に、AWSではサーバーの移行サービスとして、AWS Server Migration Service(AWS SMS)やAWS Application Migration Service(AWS MGN)などがあります。
簡単に違いをまとめると以下のとおりです。
本記事ではAWS DMSを実際に利用し、オンプレミスに見立てたEC2からRDSへのデータ移行の手順をご紹介します。
データベースエンジンはどちらもMySQLを利用し、バージョンについてはEC2側は5.7、RDS側は8.0としました。
なお、異なるデータベースエンジン間では、AWS Schema Conversion Tool(SCT)を利用することにより移行を実現しますが、今回は利用しません。
SCTについて詳しくは、下記のドキュメントをご参照ください。
AWS Schema Conversion Tool とは – AWS Schema Conversion Tool
また、本記事ではAWS DMSの利用イメージを掴んでいただくために、例としてMySQLからMySQLへのデータ移行を実施しております。
移行元・移行先のデータベースが同種類の場合、まずはデータベースエンジンが提供する移行ツールを利用検討いただく方が、実際のデータ移行に対しては有効な選択肢となります。
Using a MySQL-compatible database as a source for AWS DMS – AWS Database Migration Service
以下が今回の構成イメージです。
オンプレミスのサーバー想定で、AWS上にEC2(Amazon Linux 2)を用意し、MySQL 5.7をセットアップします。
ターゲットとなるRDSも、MySQL 8.0を起動しておきます。
インターネット経由でのデータ転送を行い、移行先のRDSへデータ移行を行います。
なお、インターネット経由で移行元データベースへ接続する際、MySQLの場合はデータベースへのアクセス権限の付与が必要ですが、本記事では説明を割愛します。DBAなどへ確認の上、許可設定をしておきます。
AWS Database Migration Service(AWS DMS)のセットアップを行います。
DMS用に作成するVPC設定については説明を割愛しますが、基本的なパブリックサブネットとプライベートサブネットを用意します。
詳細は公式ドキュメントをご参照ください。
Prerequisites for AWS Database Migration Service – AWS Database Migration Service
レプリケーションインスタンスに設定するセキュリティグループを事前に作成しておきます。
AWS DMSのコンソールに初めてアクセスすると、レプリケーションインスタンスを作成するように案内されますが、後述するサブネットグループの設定から始めます。
右上「サブネットグループの作成」をクリックします
サブネットグループを作成します。
次に、レプリケーションインスタンスを作成します。
レプリケーションインスタンスの設定を行います。
ネットワーク関連の設定です。
メンテナンスとタグの設定です。
少し待つと、レプリケーションインタンスの作成が完了します。
前編では、AWS DMSの簡単な説明とレプリケーションインスタンスの作成までを実施しました。
後編では、エンドポイントの作成と実際のデータ移行をご紹介します。
(後編を読む)