こんにちは。先週このブログを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に移行されましたとさ・・
ご参考になりましたら幸いです。
おしまい
コメントを残す