🦈

AWS 移行戦略 7R について簡単にまとめてみた

に公開

概要

AWS における移行戦略 7R を簡単にまとめてみました。
ざっくりと理解することを目的としているので、内容は浅いです。ご容赦ください。

移行戦略

概要

移行戦略 戦略の概要(オンプレのシステムをどうするか) 難易度
Rehost IaaS(EC2)中心の構成に移行する。
Relocate VMware Cloud on AWS に移行する。
Replatform マネージドサービスを中心とした構成に移行する。
Repurchase 同じ価値を提供できる製品(SaaSなど)を購入し、乗り換える。
Refactor すべての設計を見直し、クラウドネイティブな構成に作り直す。
Retire 廃止する。 -
Retain 現状維持。現手を加えずに稼働させ続ける。 -

検討フロー

具体例

Rehost(リホスト)

移行ツールとして、AWS Application Migration Service(AWS MGN) があります。
アンマネージドサービスである EC2 を中心とした構成に乗り換えるため、オンプレミスの構成とギャップが小さいというメリットがあります。
ただし、アプリケーション自体がステートフルなままだと、EC2 をスケーリングできないなどの制約があり、クラウドを利用する旨味が薄くなります。

Replatform(リプラットフォーム)

DBサーバーは、AWS Database Migration Service を利用して、マネージドサービスである RDS や Aurora に移行します。異なる DBエンジンの場合は AWS Schema Conversion Tool で変換します。
ファイルサーバーは、AWS DataSync を利用して、マネージドサービスである S3 や EFS などにデータを移行できます。

また、Elastic Beanstalk などの PaaS にアプリケーションを移行する場合も、Replatform戦略といえるでしょう。

Refactor(リファクタリング)

コンテナ化が良い例ではないでしょうか。


AWS ソリューション構成例 - コンテナを利用した Web サービス

コンテナ化までとは行かずとも、Auto Scaling + EC2 構成でもアプリケーションをステートレスにする必要があります。セッション情報などを ElastiCache などの外部ストレージに保存するようにアプリケーションを変更する必要があります。
アプリケーションの基礎部分の設計から見直すため、移行の難易度およびコストは高くなる一方、クラウドのメリットを最大限に活かすことができます。

移行計画のサポートツール

AWS Cloud Adoption Readiness Tool (CART)

AWS Cloud Adoption Readiness Tool (CART) はクラウド導入支援ツールです。
質問に答えることで、クラウド移行の準備状況と、それに対する大まかな推奨事項のレポートが作成されます。AWSアカウントが無くても利用できるのがポイントです。
https://dev.classmethod.jp/articles/try-migrationreadinessassessment/

AWS Application Discovery Service

AWS Application Discovery Service はオンプレミスの情報を収集して、移行計画をサポートするサービスです。
収集した情報は後述する AWS Migration Hub で確認でき、そのまま移行管理にも利用できます。また、収集した情報を Kinesis Data Firehose 経由で S3 に送信し、Athena で SQLクエリを利用した分析が可能です。


Qiita-【初心者】AWS Application Discovery Service を使ってみる

https://qiita.com/mksamba/items/cb4797763eba25e53ec7

AWS Migration Hub

AWS Migration Hub は移行を管理するサービスです。前述の AWS Application Discovery Service で収集した情報を可視化し、最適な移行サービス(3rd Party製含む)を選択することができます。移行開始後は、移行の進捗状況をトラッキングすることができます。詳しくは下記の記事を参照ください。古い記事ですが、イメージを掴む分には問題ないです。

https://dev.classmethod.jp/articles/20170815-migration-hub/

参考

GitHubで編集を提案

Discussion