はじめに
インフラチームがお届けするブログリレーです!既に公開されている記事もありますので、こちらから他のメンバーの投稿もぜひチェックしてみてください!
Mitsuoです、ゴールデンウィークはゆっくり休めましたか。私は休めていません。
移行案件の機運が高まっており、今更ながら「Application Migration Service(MGN) 」のハンズオンを試したので記事を書いてみます。
ハンズオンについて
JP Contents HubのAWS Application Migration Service(MGN) ハンズオンです。
ハンズオンのレベルは200程度かと思います。
IAM、VPC、EC2(Auto Scaling含む)に加えてCloudFormationを触ったことがあれば難しくはないです。
なお、ハンズオンは以下のような構成を構築します。

学べること
- AWS Application Migration Service(MGN)の概要
- AWS Application Migration Service(MGN)を利用したWEBサーバの移行手順
- 移行元サーバの構築からカットオーバーまで一連の流れを体験可能
目次
- MGNのセットアップ
- オハイオ環境(移行元)の構築
- バージニア北部環境(移行先)の設定
- テスト移行
- 本番移行
留意点
AWSマネジメントコンソールのアップデートに伴い、手順と若干異なる箇所がありました。
1. MGNのセットアップ
利用開始時にサービス初期化画面が表示されます。

Set up Application Migration Serviceの画面は表示されずテンプレートが自動的に作成されます。
起動設定のサブネットを変更する場合は注意してください。

MGNのAWS管理ポリシーで、AWSApplicationMigrationAgentPolicy とAWSApplicationMigrationAgentPolicy_v2がありますが、ハンズオンではAWSApplicationMigrationAgentPolicyを指定してください。後続の手順で進められなくなります。
IAMユーザ作成時にアクセスキー作成が出来なくなっているため、ユーザ作成後に対応してください。

ユースケースはコマンドラインインターフェイス(CLI)です。

2. オハイオ環境(移行元)の構築
EC2はパブリックサブネット上に構築します。
以下のようなセキュリティグループを設定するためHTTP、SSHあたりはIP制限をかけた方が安全です。
長時間放置することは避けてください。
CloudFormationテンプレート抜粋
# ------------------------------------------------------------#
# SecurityGroup
# ------------------------------------------------------------#
EC2SG:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: SecurityGroup001
GroupDescription: Allow SSH RDP HTTP
VpcId: !Ref VPC
SecurityGroupIngress:
# http
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
# https
- IpProtocol: tcp
FromPort: 443
ToPort: 443
CidrIp: 0.0.0.0/0
# rdp
- IpProtocol: tcp
FromPort: 3389
ToPort: 3389
CidrIp: 0.0.0.0/0
# ssh
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
アクセスキーのIAMポリシーにAWSApplicationMigrationAgentPolicy_v2を使うと以下のようなエラーメッセージが表示されレプリケーションツールのインストールに失敗します。

Windows ServerにIISをインストールしますが、Linuxと比べて起動に時間がかかる場合があるようなので気長に待ちましょう。

3. バージニア北部環境(移行先)の設定
レプリケーションはWindows Serverの方が時間がかかるのでWindows Server→Linuxの順でハンズオンを進めると時間短縮できると思います。

インスタンスタイプの適切なサイズ設定はNoneではなくOffに文言変更されています。

4. テスト移行/5. 本番移行
ジョブが進行中の状態で別のジョブの実行を行うと以下のようなエラーが表示されます。(テストインスタンス起動中でカットオーバーを進める等)

その他
- ハンズオンにクリーンアップに関する記載がないため、作成されたリソースを削除することを忘れないようにしましょう。
- CloudFormationスタックだけではなく、カットオーバインスタンスやMGNが自動生成したセキュリティグループ、サービスロールなども対象です。
- 私が実施した時は起動設定のサブネットにデフォルトVPCのサブネットが指定されていました。案件対応だと閉域網やVPCエンドポイント、VPCピアリング経由の通信になることもあるのであらかじめVPC、サブネットは作成しておき設定変更を忘れないようにしましょう。
最後に
MGNのハンズオンを体験しましたが、操作感はとてもわかりやすい印象を受けました。
もちろん、移行時に配慮するビジネス要件、OS、データ、複雑な通信経路など実案件だと難易度が高くなりますが、まずは入門するに最適なハンズオンだと思いました。
これを機にMGNの他機能も触ってみます。
このハンズオンを利用される際に役に立つ記事であれば幸いです。
Mitsuoでした。