こんにちは。先週このブログをAWS LightSailからAzure VMに移行しましたので、その手順をこちらに整理しておきたいと思います。
なお、AWS LightSailからAzure VMへの直接移行は行えなさそうなので、AWS LightSail -> AWS EC2 -> Azure VMの順で移行していく必要があります。
今回の一連の手順は以下の公式ドキュメントをベースにしていますが、躓いた点などを随時補足していきたいと思います。
アマゾン ウェブ サービス (AWS) の VM を検出して評価し、Azure に移行する
https://docs.microsoft.com/ja-jp/azure/migrate/tutorial-migrate-aws-virtual-machines
それでは参ります。
Contents
AWS LightSail -> EC2
既に移行元対象がEC2にある場合はこの手順を無視してください。
まずLightSailで対象インスタンスのスナップショットをとります。

これをEC2インスタンスのイメージに変換します。

EC2のページから、AMIが作成されたことが確認できます。

ここまではボタン数クリックでできて超簡単です。イメージは起動せずいったん次のステップに進みます。
EC2 -> Azure VM
Azure Migrateで新規プロジェクト作成
移行にはAzure MigrateというAzure上のサービスを使います。Azure MigrateではさまざまなFromとToの組み合わせに対する移行ができるのですが、今回は「サーバ、データベース、Webアプリ」に該当するので、こちらでプロジェクトを作成します。

適当な名前プロジェクトを作成します。

そしたら「Azure Migrate : Server Migration」から、検出に進みます。

今回はAWSからの移行なので、「物理またはその他」を選択します。

すると、何やらステップがでてきます。要は、移行を仲介してくれるソフトをAWS上のVMにインストールすることでAzure MigrateからVMを検出できるようになる、というしくみのようです。
もう少しちゃんと言うと、移行は移行元VMとAzure VM間で直接行われるわけでなく、アプライアンスサーバーとよばれる別のVMをAWS側にたてて、そこが仲介して行われるようなので、
- アプライアンスサーバ上にアプライアンスソフトウェアをインストールしてAzure Migrateから検出できるようにする
- 移行元VMをアプライアンスサーバに登録することでアプライアンスサーバーから移行元VMを認識できるようにする(このとき登録キーというものを使う)
というステップが必要になります。

そこで使うためのソフトウェア(1)と登録キー(2)をこの画面からダウンロードしておきます。
AWS EC2上にアプライアンスVMを構成する
これはEC2上で行います。新規VM作成で、公式Docに従ってWindows Server 2016で作成します。

アプライアンスサーバーの要件が結構ハード(CPU8コア、メモリ16GB、ディスク600GB・・・)なので、わりとおおきいインスタンスタイプを選ぶ必要がある点に注意。
https://docs.microsoft.com/ja-jp/azure/migrate/migrate-replication-appliance#appliance-requirements

ネットワークですが、移行元VMとAzureと通信可能である必要があります。
移行元VMとはポート443と9443で通信するようなので、これら通信も許可しておく必要があります。

VMが起動したら、リモートデスクトップで接続します。ここに、先ほどAzure Migrateの画面からダウンロードしたイントーラと登録キーをドラッグアンドドロップでコピーします。
起動すると設定がはじまります。

運び込んだ登録キーのパスを指定したり

アプライアンスサーバーの要件チェックがあったり

ネットワーク設定があったり(ここはいじらない)

やっていくと、ソフトウェアのインストールがはじまります。

完了したらパスフレーズが表示されるので、控えておきます。(あとで使います)

次にAzure Site Recovery Configuration Serverからアカウントの設定をします。これは、移行時にAzure Migrateから接続する際に利用する資格情報っぽいです。
ここは適当なアカウント「guest/username」とパスワード「password」を設定すればいいと公式Docにあるので、その通り設定します。

登録キーのパスをここでも改めて指定。

したらアプライアンスサーバーの構成が完了です。
この状態でAzure Migrateを更新すると、ちゃんとアプライアンスサーバーが検出されるようになっているはずです。

とここで次の手順のためにもう1ステップ。以下の場所からMicrosoft-ASR-XXXXXというパッケージがみつかるので、移行元サーバのOSにあったものを手元にダウンロードしておきます。

移行元VMの構成
次に移行元VMの構成。
最初のステップでつくったAMIをもとにインスタンスを起動します。このとき、アプライアンスサーバーと通信できるように、443と9443ポートは解放しておくことに注意。(起動後に設定するでも)
そしたら移行元サーバーとアプライアンスサーバーが動作する状態に。

こっから移行元サーバをアプライアンスサーバーと連携できるようにしていきます。
RDPやSSHで移行元サーバに接続し、先ほどダウンロードしておいたMicrosoft-ASR-XXXXファイルを配置。

こいつを解凍して必要な構成を行っていきます。公式Docの通りやればすんなり終わるはずです。
## 解凍
mkdir /tmp/MobSvcInstaller
tar -C /tmp/MobSvcInstaller -xvf <Installer tarball>
cd /tmp/MobSvcInstaller
## インストーラの実行
sudo ./install -r MS -q
## アプライアンスにエージェントを登録
/usr/local/ASR/Vx/bin/UnifiedAgentConfigurator.sh -i <replication appliance IP address> -P <Passphrase File Path> ## 先ほどアプライアンスサーバ構成時最後に表示されたパスフレーズを、適当なテキストファイルに書いて保存しておき、そのパスを指定すればOK



これでAWS側で必要なステップは完了です。
レプリケート
次にレプリケートです。
Azure Migrate : Server Migrationから、「レプリケート」に進みます。

ここで先ほど作った資格情報を指定して

移行対象のVMを指定し・・・

レプリケート先を指定し・・・



レプリケーションが開始します。これは結構時間がかかりました。(30~1時間ほど?)

レプリケートがエラーで終了してしまう場合は、こちらがヒントになりそうです。
私の場合、9443ポートがあいていないくてこのエラーにぶちあたりました。
移行
レプリケートが終わったらついに移行です。ここまで終わればあとは簡単です。
Azure Migrate上で「移行」に進んで開始すると、移行が始まります。

しばらく待っていると、移行が完了して無事Azure VM上でサービスが立ち上がりました!
感想
- 事前準備が終わった後の移行はあっさりだったけど、その前にアプライアンスサーバを構成したりが、けっこうめんどくさかった・・・次からはもうちょっと簡単に思える気がする
- アプライアンスサーバの要件をよく確認していなかったのでVM作り直しするはめになった。最初によく確認しておかないと・・
- 特に、9443ポートを解放するのを忘れていて、レプリケートがエラーで終了してしまい、アプライアンスサーバ上の実行ログを調べたりなど、トラブルシューティングに手間取った。(ドキュメントに全部書かれてるんだけどね・・・)
というわけでめでたくこのブログはAzureに移行されましたとさ・・
ご参考になりましたら幸いです。
おしまい
コメントを残す