[アップデート] 移行後の設定を自動化するPost-launch actionsが追加されました

移行後の設定を自動化するPost-launch actionsでCentOSからRocky Linuxへの変換を試してみました。
2022.07.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

大家好、クラスメソッドの創立記念日を喜ぶ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

AWS MGN Update – Configure DR, Convert CentOS Linux to Rocky Linux, and Convert SUSE Linux Subscription | AWS News Blog

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が使用されます。

終わりに

リリース時点でサポートされているオプションは3つのみですが、裏側で動いているのがSSM Run Commandであるためこの先もっと多くのオプションが出てきそうな気がしています。 欲をいえば任意のDocumentを指定できれば移行が捗りそうですね。

このブログがほんの少しでも世界を良くできれば嬉しいです。
AWS事業本部の西野 (@xiyegen) がお送りしました。