Azure Migrateを使ってAWSで稼働するAmazon Linux 2インスタンスの移行評価をする

2021.08.16

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

いわさです。

近頃、Azureへの移行ツールがどんなものなのか触っております。
Azureには移行サービスとしてAzure Migrateというサービスがあります。

このAzure Migrateはオンプレミスだけでなく、AWSやGCPなどのパブリッククラウド間での移行も想定されており、ドキュメントも用意されています。

AWSで稼働する、Amazon Linux 2 仮想マシンをAzureのマイグレーションツールで移行させることは出来るのか?
ふと気になったので試してみました。

本日はAzure Migrateを使って、移行のための評価を行ってみました。

方法と構成概要

Azure Migrateを使って検出と評価を行う場合は、移行対象のサーバーと通信する Azure Migrate アプライアンスを用意する必要があります。
アプライアンスはPowerShellスクリプトを使用して、Windows Server 2016上でデプロイを行います。

アプライアンスサービスは移行対象サーバーに移行エージェントをインストールした際にレプリケートデータをAzureへ送信したり、検出・評価エージェントを実行したり、ゲートウェイ的な役割を果たしたりなど様々な機能を有しています。

アプライアンスサービスはアウトバウンドでAzure Migrateのパブリックエンドポイントと通信するため、Azure Migrateを使うために既存ネットワークへインバウンド用の穴を開ける必要がないので嬉しいですね。

ただし、移行サーバーとアライアンスサービスを実行するサーバーは兼用することは出来ません。

Azure Migrate アプライアンス構築

Azureポータルで、Azure Migrateプロジェクトを作成します。

プロジェクト作成すると、プロジェクトキーが生成され、Azure Migrate アプライアンスのインストールスクリプトがダウンロード出来るようになります。
これを予め用意しておいたアプライアンスサービス実行サーバーにコピーします。

アプライアンスサーバー上でインストールスクリプトをPowerShellで実行します。

コンソールで対話形式で入力をしていきます。
途中Edgeをインストールするか問われます。AWSでWindows Server 2016を構築した直後の場合、Edgeはインストールされていないと思いますのでインストールオプションを選択しておきましょう。
アプライアンスツールはWebブラウザを使って操作するためデフォルト設定のIEだとつらいです。

IEをアンインストールオプションも選択出来ますが、再起動を伴います。
ここでは特にアンインストールをする必要はありません。

コンソール処理が完了すると、デスクトップにショートカットが作成されています。
こちらからアプライアンスの構成を行っていきます。

起動すると、前提条件を満たしているかなどのチェックが自動で走ります。
途中プロジェクトキーを入力し、Azureポータルでサインインしてデバイスコードを入力するとAzureサブスクリプションとの紐付けが完了します。

評価対象インスタンスへの接続情報とインスタンス情報を入力します。

ここなのですが、Microsoftのドキュメントではパスワード認証を有効にする必要があるとの記載があります。

Azure Migrate では、AWS インスタンスを検出するときにパスワード認証が使用されます。 AWS インスタンスは、既定ではパスワード認証をサポートしていません。 インスタンスを検出するには、パスワード認証を有効にする必要があります。

しかし、特に設定せずとも鍵で接続出来ました。
移行元への変更は少ないほうが良いので、鍵を使って本日は構成してみましょう。

移行対象インスタンスはVPCのプライベートIPアドレスで良いです。

評価対象サーバーを追加すると自動で検証が走ります。
問題なければStart DiscoveryするとAzure Migrateへの連携が始まります。

Azureポータルでの検出と評価

AzureポータルでMigrate管理画面を更新してみると、Azure Migrateのインベントリに検出済みサーバーとして認識されていると思います。

そこから評価 -> Azure VMでAzure仮想マシンへ移行を想定した評価を行うことが出来ます。

評価が完了するとレポートが確認出来るようになります。
ここではAzureへの対応性とコスト詳細を確認することが出来ます。

Azure対応性では、移行の実現性や懸念ポイントをレビューしてくれるので移行前の確認に使えます。
Amazon Linux 2の場合だと移行機能でサポートされているOSではないのでOS部分で警告表示されていますね。

コスト詳細では移行前のスペックから自動計算された移行後のインスタンスサイズやストレージ使用量からコストについて算出出来ます。
ただし、このインスタンスサイズはAzure Migrateで検出後、ワークロードを1日ほど稼働させたほうが、より現実的なシミュレーションをしてくれるようです。

まとめ

この評価結果を見ると、もしかしてAmazon Linux 2 移行できるかも?と思えますね。
Azure Migrateは移行機能もありまして、別の記事で移行について紹介したいと思います。

オチだけ先に言ってしまうと、Amazon Linux 2 は、Azure Migrateでは移行出来ないです。