クラシックからARMへのAzure仮想マシンの移行は、以下のドキュメントで概要、サポートされる構成、移行手順が説明されています。
日本語化されたドキュメントもあります(URLの「en-us」の部分を「ja-jp」に置き換える)。ただし、更新日は英語版と同じであっても、本文は古いままの場合もあるので、まずは英語版を確認するとよいでしょう。
クラシック環境の仮想マシンがサポートされる構成(例えば、1つのクラウドサービスに複数の可用性セットが含まれる場合はサポートされない)であれば、簡単な手順でダウンタイムなし、または短時間のダウンタイムでARM環境に移行することが可能です。
クラシックからARMへの移行は実質メタデータを移行するだけであり、仮想マシンは同じハードウェア、同じストレージ、同じネットワーク上で動作し続けます。実行中の仮想マシンは、ダウンタイムなしでARMに移行できます。
ただし、移行元のクラシック環境が仮想ネットワークに接続されていない場合、ARMでは仮想ネットワークへの接続が必須となるため、新しい仮想ネットワークに接続するために仮想マシンが再起動されます。その間、ダウンタイムが発生します。
なお、移行前のクラウドサービスのパブリックIPアドレスに割り当てられていたDNS(Domain Name System)名「<クラウドサービス名>.cloudapp.net」は、移行後もそのまま維持されます。ARMの既定のDNS名「<DNSラベル>.<リージョン(japanwestなど)>.cloudapp.azure.com」に置き換わることはありません。
移行操作はAzureポータルからではなく、Windows PowerShellでAzure PowerShellのコマンドレットを実行して行います。Windows PowerShellのコマンドライン操作というと、難しそうに思えるかもしれませんが、安心してください。Azure仮想マシンの移行は「Move-AzureService」コマンドレット、ストレージアカウントの移行は「Move-AzureStorageAccount」コマンドレットの簡単なコマンドラインを実行するだけです。
Azure仮想マシンの移行は、クラウドサービス単位で実行できます。Move-AzureServiceコマンドレットに必要なパラメーターは、最低限「クラウドサービス名(ServiceName)」と「デプロイメント名(DeploymentName)」です(画面2)。後でストレージアカウントを移行するために、Azure仮想マシンのVHDが格納されているストレージアカウントも確認しておいてください。
Move-AzureServiceコマンドレットを「-Prepare」パラメーター付きで実行すると、ARMに「<クラウドサービス名>-Migrated」という名前のリソースグループが作成され、その中に仮想マシン、ロードバランサー、ネットワークインタフェース、パブリックIPアドレス、仮想ネットワークなどのリソースが準備されます(画面3)。
Move-AzureServiceコマンドレットでは、リソースグループにストレージアカウントは準備、移行されません。Move-AzureServiceコマンドレットで移行したAzure仮想マシンは、クラシック環境のストレージアカウントをそのまま使用するようになっているからです。
リソースグループの準備にはしばらく時間がかかりますが、準備が完了したら、Move-AzureServiceコマンドレットを「-Commit」パラメーター付きで実行します(画面4)。これはすぐに終わり、クラシックからARMへの移行が完了します(クラシック環境から対象の仮想マシンは消えます)。
「-Commit」パラメーター付きで実行する前であれば、「-Abort」パラメーター付きで実行して移行を中止することもできます。ただし、「-Commit」パラメーター付きで移行した後は、元のクラシック環境には戻せないことに注意してください。
この時点で、ストレージアカウントについては、クラシックのままです。ストレージアカウントが他のクラシック環境のリソースの格納に使用されていないのであれば、Move-AzureStorageAccountコマンドレットでARMに移行できます。Move-AzureStorageAccountコマンドレットもまた、「-Prepare」「-Commit」「-Abort」パラメーター付きで実行します。
クラシック環境のAzure仮想マシンは、できるだけ早くARM環境に移行した方がよいのでしょうか。
答えはノーです。無理に移行する必要はありません。
前述のドキュメントの「Frequently asked questions(よく寄せられる質問)」に書いてありますが、クラシックデプロイメントモデルが廃止される予定はありません。
ARM環境でのみ利用可能な機能(例えば、ネットワークセキュリティグループによる高度なアクセス制御など)が必要な場合は、今回正式リリースとなったこの機能を使えば簡単に移行できるということです。
ただし、前述したようにMove-AzureServiceコマンドレットの「-Commit」パラメーター付きの実行は中止できませんし、移行後にロールバックすることもできません。また、移行対象のAzure仮想マシンに関連付いた「ロール(役割)ベースのアクセス制御(Role-Based Access Control:RBAC)」や「Azure Automation」は移行されないため、移行後に再設定が必要になることにも留意してください。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.