⚠️

[Azure VM] Windows Server 2012 R2 を Azure 上で動かす

2024/11/11に公開

「あと少しの期間だけ Windows Server 2012 R2 を使う必要があるんや…Azure 上で使わせてくれ…」そんなお声が定期的に耳に入ってきます。私も過去に運用の現場にいたため、すごく気持ちはわかります。

現場に寄り添った情報をお届けしたい気持ちから、企業様やシステムをお抱えのご担当者様に少しでもお役に立てればと思い、個人のナレッジとしてみなさまにシェアしたいと思います。

前置き/注意事項

  • Windows Server 2012 R2 は 2023年10月10日でサポート期間を終えたOSであり、本記事はサポート期間を終えたOSの利用を推奨するものではありません。
  • サポート期間内であるOSの利用を大前提としてご検討頂き、それでも逃げ道が無い場合において、本記事を見て頂けると幸いです。
  • 既に Microsoft Azure 上では、Windows Server 2012 R2 のイメージはマーケットプレイスから選択できないようになっています。
  • 本稿では、技術的な内容に完全特化しています。OSのライセンス/条件についての参考情報は貼っておりますが、Windows に限らず、RHEL などをお使いの場合においても、必ず購入元にご確認ください。
  • 現場のご担当者様のお力添えになればとおもい、個人のナレッジをシェアしています
  • サポート期間を終えたOSはマイクロソフトサポートにお問い合わせ頂いても回答できないことがあります、またはお断りさせて頂くことがあります
  • 本記事は 全て管理者権限を使った内容です

記事を書くことにした背景

システムを運用するにあたり、様々な理由でサポート終了したOSを使用しなければならないことがあるかと思います。
Windows Server 2012 R2 もその1つで、2023年10月10日でサポート終了となっています。
各製品のサポート開始日、終了日に関してはこちらから確認できます。
(参考)
製品およびサービスのライフサイクル情報の検索
https://learn.microsoft.com/ja-jp/lifecycle/products/?terms=Windows Server 2012

企業システムにおいて、サポート終了したOSを使用したい状況は、これまでも多く見届けてきました…Windows Server 2003 , Windows Server 2008 , RHEL6 , RHEL7 等…

早くバージョンアップしましょう、と言うだけであれば簡単なお話ですが、サポート終了したOSを使わざる得ない状況は想像するだけでも多彩なバリエーションがあります。

  • 社内利用者が多いパッケージソフトが新しいOSをサポートしていない
  • スクラッチで開発したアプリケーションが新しいOSで動作確認していない
  • ハードウェア保守が切れるタイミングで新しいOSへアプリケーションを移行したいが、アプリケーションの動作確認や移行が間に合わない。一方でハードウェア保守は切れてしまうため、落とし所をどこにするか担当者が白目を向いている
  • 新しいOSでサポート終了した機能を現在のアプリケーションで使っている
  • 全社的にクラウドファーストとなっているため、今から物理的なサーバーは買うには社内事情として厳しい

想像すれば様々な理由が次々に出てきます。

そこで、1つの手段として使えるのが Azure VM として、サポート終了したOSを稼働させるというものです。
まだ多く残存していると想定している、Windows Server 2012 R2 を使った内容を記載します。

ライセンスについて

前置きにも記載しましたが、本稿は技術的な内容に絞って記載します。
Windows OS をご利用の際にはライセンス/条件がございますので、ご購入頂いたところに必ずご確認ください。
一般的な Azure Virtual Machines のライセンス FAQ が公開されていますので、参考までに記載します。

https://azure.microsoft.com/ja-jp/pricing/licensing-faq/

Azure 上で Windows Server 2012 R2 を Azure 上で動かす

前置きが長くなりましたが、本題に入ります。
結論から申し上げると、Azure では、Windows Server 2012 R2 をVMとして稼働させることができます。
大まかな流れとしては、ローカルの Hyper-V 環境で、Windows Server 2012 R2 の VM を作成したあと、VHDファイルを Azure 上にアップロードして、VMを作成します。
方法について情報を公開しています。

https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image

ポイント

  • 前提条件なども記述されているため、きちんと読むことをオススメします。
  • 特に、容量可変長(VMware 用語でいうところの Thin Provisioning)のVHDだとAzure VM作成時にエラーとなり、作成できません。

実際にやってみるとわかることも多いため、今回は実施してみようと思います。

Hyper-V で Windows Server 2012 R2 を作成する…

私の場合、手元に Windows Server 2012 R2 の VHD を持っているわけもなく、まずは移行元のVMを作成していきます…。
手元の Windows 11 のSurface Laptop 6 で作成しています。

手元に Windows Server 2012 R2 のインストールメディアが物理的なDVDしかなかったため、USB DVDドライブをマウントしています…

インストール画面ばかりのスクリーンショットを貼り付けても意味がないので、省略しつつ、インストール完了しました。

順番に手順を実施していく

再掲:
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image

システムファイルチェッカー

※実施しなくてもほとんどの場合大丈夫
sfc.exe /scannow
Windows のシステムファイルをスキャンして修復などをしてくれるツール

Azure 用の Windows 構成を設定する

内容を順番にコマンドを実行していくのみになります。
主な実施の意図としては、Azure VM は起動時に停止してしまったり、ネットワーク的に孤立してしまうと接続できないなどの困った状況になるため、既定値に戻しましょう、という内容です。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image#set-windows-configurations-for-azure

Windows サービスの確認

こちらも同様に順番にコマンドを実行していくのみになります。
Azure 上で稼働したはいいが、VM にRDP接続できない、という事態を防ぐための準備です。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image#update-remote-desktop-registry-settings

Windows ファイアウォール規則の構成

こちらも同様に順番にコマンドを実行していくことになりますが、個人的には Windows ファイアウォールは、一旦全て無効化するほうがよい気がしています。後から再設定もすぐ出来ますし、わざわざ
通信で使用するRDPポートやICMPを許可していくよりもラクな気がしています。
私の手元では一旦全て無効化で対応しました。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image#configure-windows-firewall-rules

VM の確認

順番に手順を実施していくことになりますが、
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image#verify-the-vm

Windows 更新プログラムのインストール

記事の中で、更新プログラムを全て適用しなければいけない記述がありますが、ここでお伝えしたいことはOS起動中に止ってしまうと、Azure ではGUI操作ができなくなってしまうため、回避する意味合いが強いです。当然、更新プログラムは最新にすることを強くオススメしますが、更新プログラムを適用したくない環境も中にはあるでしょう。適用せずにこの先に進んでも私の環境では問題ありませんでしたが、問題が発生した場合は、更新プログラムの適用をしてから進みましょう。

https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image#install-windows-updates

Sysprep を使用する状況の判断

重要な内容です!
既存環境をマイグレーションするために本手順を実施する場合は sysprep を実施してはいけません。
Windows 起動途中で止まってしまいます。つまり操作できなくなります。
また、PC のセキュリティ識別子 (SID) などの Windows 固有の情報を削除してしまいますので、マイグレーション時には実施してはいけません。
この環境のイメージを一般化(つまり使い回す)ときには実施する必要があります。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image#determine-when-to-use-sysprep

仮想ディスクを容量固定の VHD に変換する

方法としては、Hyper-V マネージャーで実施する or PowerShell で実施する どちらでも問題ありません。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image#convert-the-virtual-disk-to-a-fixed-size-vhd

Hyper-V マネージャーで新規にVMを作成した場合、デフォルトでは仮想ディスクが可変長のディスクになっているため、固定長のディスクに変換が必要です。
VMware用語でいうところのシンプロビジョニングからシックプロビジョニングに変換という意味です。
Hyper-V マネージャーからの流れはいくつかスクリーンショットを貼っておきます。

手順の中にひっそりと、VMware環境からの移行についても記載がありますので、必要な場合は Azure Migrate もお試しください。

推奨される構成を完了する

一見、"推奨される構成" だからと思いがちですが、必須と思ったほうがいい手順です。
特に仮想マシンエージェントは他のAzureサービスとの連携時に必要であるため、個人的には必須の手順です。
補足:基本的にAzure マーケットプレイスから提供されるVM全てに仮想マシンエージェントは入っているます。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image#complete-the-recommended-configurations

完成した仮想ディスクファイルを Azure Blob Storage にアップロードする

あらかじめ、Azure Storage アカウント内に、「Blob Container」を作成し、仮想ディスクファイルをアップロードします。
公式ドキュメントがありますが、私は色々面倒であったため、Microsoft Azure Storage Explorer を使ってアップロードしています。

公開ドキュメント:
https://learn.microsoft.com/ja-jp/azure/virtual-machines/windows/disks-upload-vhd-to-managed-disk-powershell

無事アップロード完了しています。

アップロードした仮想ディスクをマネージドディスクにします

公開情報としてはこちらになります。書いてる通りに進めます。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/attach-os-disk?tabs=portal

Azure Portal からディスクを選びます。

作成をクリックする。

先ほどアップロードした仮想ディスクファイルの場所を指定します。

デプロイ完了

Azure VM を作成する

作成されたディスクを選ぶと、上部に [VMの作成]ボタン があるので、クリックします。

このディスクをベースにAzure VM を作成していきます。

デプロイ完了

デプロイ直後はこのような警告が出ていますが、事前に仮想マシンエージェントをインストールしているため、Windowsが正常起動すると警告は消えます。

起動しているかブート診断で見てみましょう。
正常起動していそうです。

Azure VM にRDP接続する

では、パブリック IP アドレスを指定して、RDP 接続しましょう。

無事接続できました。

最後の私見

Microsoft は「Empower every person and every organization on the planet to achieve more.(地球上のすべての個人とすべての組織が、より多くのことを達成できるようにする)」を企業ミッションと掲げています。
https://www.microsoft.com/ja-jp/mscorp/college/msd-company-mv

より多くのことを達成できるようにするには、過去の財産を新しい活動へうまく活用していくことが大切です。
活用していく中でのプランニングの際に、どうしても昔の Windows や OS に頼る場面もあるのではないでしょうか。
最後にあらためて念押ししますが、サポート期間を終えたOSの利用を推奨するために本記事を投稿しているわけではなく、どうしても使わざる得ない状況で情シスの方やシステム導入される方の1つの心の拠り所として投稿しています。

システム運用の現場は日々大変です。
スケジュールに追われ、上層部からは詰められ、ユーザーからは日々文句が来るような日常です。

これからも現場視点の情報を投稿していくようにします。

【補足】
突貫で作成した記事であるため、随時更新する可能性があります。
更新時にはここに更新日を記載していこうかと思います。

Tomoya @ MS
https://www.linkedin.com/in/tomoya-n/

Microsoft (有志)

Discussion