ここから本文です

Microsoft Azure最新機能フォローアップ(20)

@IT 7月7日(木)6時10分配信

 2016年6月末、Microsoft Azureの「クラシックデプロイモデル」から「Azure Resource Manager(ARM)デプロイモデル」への、Azure IaaSとストレージアカウントの移行が正式にサポートされました。

【その他の画像】Azure仮想マシンの移行を試す

●クラシック環境から新しいARM環境へのAzure IaaSの移行が簡単に

 Microsoft AzureのIaaS(Infrastructure as a Service)である「Azure仮想マシン(Azure Virtual Machine:Azure VM)」には、2つのデプロイメント(展開)モデルがあります。

 1つは、2015年12月以前の「Azureポータル」およびAzure Resource Manager APIを使用した「Azure Resource Manager(ARM)デプロイメントモデル」(以下、ARM)です。

 2015年まではAzure仮想マシンといえば、クラシックデプロイメントモデルのことを指していました。そのため、ARMデプロイメントモデルで作成されたAzure仮想マシンを、従来のAzure仮想マシンと区別するために「Azure仮想マシンV2」や「Azure VM V2」と呼ぶこともあります。

 現在、クラシックポータルで作成、管理できるのは“クラシックデプロイモデルのAzure仮想マシンのみ”です。新しいAzureポータルでは、ARMとクラシックの両方のデプロイメントモデルに対応しています。新しいAzureポータル上では、ARMデプロイメントモデルのAzure仮想マシンを「Virtual Machines」、クラシックデプロイメントモデルのAzure仮想マシンを「仮想マシン(クラシック)」として区別しています。

 ARMとクラシックのデプロイメントモデルに互換性はなく、サポートされる機能も違います。Azure仮想マシンの仮想HDD(VHD)を格納するストレージアカウントやAzure仮想マシンを接続する仮想ネットワークは、ARMとクラシックでそれぞれ別のサービスとして用意されています。

 また、クラシックでは「クラウドサービス」の中にAzure仮想マシンを作成するという形ですが、ARMでは「リソースグループ」の中でAzure仮想マシンのための全リソース(ストレージアカウント、仮想ネットワーク、仮想マシン、ネットワークアダプター、IPアドレス、ネットワークセキュリティグループなど)をまとめて管理します。

 マイクロソフトでは新規作成するAzure仮想マシンについては、ARMの使用を推奨しています。しかし、利用できる機能の違いや、シンプルに作成、管理できる分かりやすさなどから、2015年12月以降も意図的にクラシックでAzure仮想マシンを作成、運用している場合もあるでしょう。

 例えば、ポータルのGUI(Graphical User Interface)を使用したカスタムイメージのキャプチャーと、ギャラリーのマイイメージを使用したカスタムイメージからのAzure仮想マシンの作成は、クラシックでのみ利用可能です。

 この他、以前は、ARMのAzure仮想マシンは「Azure Backup」や「Azure Site Recovery」でサポートされていない、リモートデスクトップ接続のための構成や管理者パスワードをポータルからリセットできないなど、クラシックでは利用できるのに、ARMでは利用できない機能もありました。現在では、これらの機能はARMのAzure仮想マシンでも利用できるようになっています。

 問題は、これまで“クラシックからARMに移行するための、標準的な手段が提供されていなかった”ことです。

 既にクラシック環境で運用中のAzure仮想マシンと関連リソースをARMに移行するには、Azure仮想マシン(VHDファイル)をARMのストレージアカウント間でコピーし、リソースグループに仮想ネットワークやゲートウェイなどを準備した上で、コピーしたVHDファイルを接続したAzure仮想マシンを作成するという複雑なマニュアル操作(主にWindows PowerShellによる操作)が必要でした。クラシック環境しか存在しなかったころからのMicrosoft Azure利用者は、より簡単にARM環境に移行できる手段を求めていたと思います。

 今回、正式リリースとなったのは、2016年5月からプレビュー提供されてきたクラシックからARMへのAzure仮想マシンの移行機能です。同時に、クラシックからARMへのストレージアカウントの移行も正式にサポートされるようになりました。

●Azure PowerShellコマンドレットで簡単に移行可能

 クラシックからARMへのAzure仮想マシンの移行は、以下のドキュメントで概要、サポートされる構成、移行手順が説明されています。

・[概要]Technical deep dive on platform-supported migration from classic to Azure Resource Manager[英語](Microsoft Azure)
・[計画]Platform-supported migration of IaaS resources from classic to Azure Resource Manager[英語](Microsoft Azure)
・[手順]Migrate IaaS resources from classic to Azure Resource Manager by using Azure PowerShell[英語](Microsoft 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)」です。後でストレージアカウントを移行するために、Azure仮想マシンのVHDが格納されているストレージアカウントも確認しておいてください。

 Move-AzureServiceコマンドレットを「-Prepare」パラメーター付きで実行すると、ARMに「<クラウドサービス名>-Migrated」という名前のリソースグループが作成され、その中に仮想マシン、ロードバランサー、ネットワークインタフェース、パブリックIPアドレス、仮想ネットワークなどのリソースが準備されます。

 Move-AzureServiceコマンドレットでは、リソースグループにストレージアカウントは準備、移行されません。Move-AzureServiceコマンドレットで移行したAzure仮想マシンは、クラシック環境のストレージアカウントをそのまま使用するようになっているからです。

 リソースグループの準備にはしばらく時間がかかりますが、準備が完了したら、Move-AzureServiceコマンドレットを「-Commit」パラメーター付きで実行します。これはすぐに終わり、クラシックから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サイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。

最終更新:7月7日(木)6時10分

@IT

TEDカンファレンスのプレゼンテーション動画

暗闇で光るサメと驚くほど美しい海洋生物たち
波のほんの数メートル下で、海洋生物学者であり、ナショナルジオグラフィックのエクスプローラーかつ写真家のデビッド・グルーバーは、素晴らしいものを発見しました。海の薄暗い青い光の中で様々な色の蛍光を発する驚くべき新しい海洋生物たちです。彼と一緒に生体蛍光のサメ、タツノオトシゴ、ウミガメ、その他の海洋生物を探し求める旅に出て、この光る生物たちがどのように私たちの脳への新たな理解を明らかにしたのかを探りましょう。[new]