[アップデート] 移行後の設定を自動化するPost-launch actionsが追加されました
大家好、クラスメソッドの創立記念日を喜ぶAWS事業本部の西野です。
2022年5月、AWS Application Migration Service (AWS MGN) にPost-launch actionsと呼ばれる新たな機能が追加されました。
本稿では、このPost-launch actionsのオプションのひとつであるCentOSからRocky Linuxへの変換を試してみます。
AWS Application Migration Service now supports automated application modernizations
Post-launch actionsとは
Post-launch actionsとは、AWS MGNによって立ち上げられたテストインスタンスおよびカットオーバーインスタンスに対する設定を自動で行なう機能です。 2022年7月現在以下のオプションがサポートされています。
- Disaster Recover
- 移行対象のインスタンスに AWS Elastic Disaster Recovery Service Agentをインストールし、ターゲットリージョンへのレプリケーションを設定
- CentOS Conversion
- CentOSをRocky Linuxに変換
- SUSE Subscription Conversion
- SUSE LinuxサブスクリプションをAWS提供のSUSEサブスクリプションに変換
なお、これらのPost-launch actionsを実行するためには移行対象インスタンスへのSSM Agentインストールが必要です。SSM AgentインストールはMGNによって自動的に行われます。(詳しくは後述)
CentOSからRocky Linuxへの変換を試してみた
前提条件
- ソースサーバーとして下記のAMIを使用
- ami-00f65b9dfc6773444 / CentOS 8 (x86_64) - with Updates HVM
- Post-launch actionsを除くAWS MGNの各種設定を実施済み(手順は割愛します)
- Replication settingsおよびLaunch settingsの設定
- EC2 Launch Templateの設定
- ソースサーバーへのAWS Replication Agentインストール
- レプリケーションの実行
Post-launch actionsの設定
Application Migration Service > Settings > Post-launch setttings template の画面で [ Edit ] をクリックします。
続く画面でInstall the Systems Manager agent and allow executing actions on launched servers
のトグルボタンをクリックしPost-launch actionsを有効化します。前述の通り、SSM AgentのインストールはPost-launch actionsの前提条件です。
DeploymentではPost-launch actionsを実行する対象インスタンスを選択します。Test and cutover instances (recommended)
にチェックを入れます。
3つあるオプションの中のOperating systemでConvert CentOS to Rocky Linux distribution
にチェックを入れ、[ Save template ] をクリックします。
ここまででPost-launch actionsの設定は完了です。
テストインスタンスの起動
ソースサーバーの一覧から対象のソースサーバーを選択し、テストインスタンスを起動します。
Post-launch actions実行の確認
Application Migration Service > Source servers > 対象ソースサーバー > Migration dashboard の画面下部でPost-launch actionsの実行状況を確認できます。
インスタンスの起動後しばらくすると、SSM Agentのインストールおよび選択したPost-launch actions(今回の場合はCentOS to Rocky)が順次実行されていきます。
CentOS to Rocky
をクリックしてみましょう。
すると、SSMのRun Command実行履歴に飛びます。
AWS MGNのPost-launch actionsの実体がRun Commandの実行であり、CentOSからRocky Linuxへの変換の場合はSSM Document
AWSMigration-ConvertCentOsToRockyLinuxDistributionが用いられていることがわかります。
当該Documentを参照したところ、Rocky Linuxが公式で提供しているスクリプト(migrate2rocky)が元になっているようでした。
# migrate2rocky - Migrate another CentOS 8 distribution to RockyLinux 8. # By: Amazon Web Services, Inc. # Adapted from: https://github.com/rocky-linux/rocky-tools
実際に利用する際にはスクリプトの内容を確認した上でテストインスタンス上で動作確認を実施すると良いでしょう。
その他のオプションで使用されるSSM Document
Disaster RecoverとSUSE Subscription Conversionにおいてはそれぞれ以下のSSM Documentが使用されます。
- Disaster Recover
- SUSE Subscription Conversion
終わりに
リリース時点でサポートされているオプションは3つのみですが、裏側で動いているのがSSM Run Commandであるためこの先もっと多くのオプションが出てきそうな気がしています。 欲をいえば任意のDocumentを指定できれば移行が捗りそうですね。
このブログがほんの少しでも世界を良くできれば嬉しいです。
AWS事業本部の西野 (@xiyegen) がお送りしました。