2012年当時のWindows2008R2環境をNITRO世代のインスタンスに変更してみた

アイキャッチ AWS EC2

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWSチームのすずきです。

最新NITRO世代のインスタンス、古いWindows用AMIで利用するための手順がAWSドキュメントとして公開されています。

より新しいバージョンの Windows に Amazon EC2 Windows Server インスタンスをアップグレードする » 最新世代のインスタンスタイプへの移行

今回、2012年にシステムバックアップとして作成、残されていたWindows Server 2008 R2 Datacenter のAMIを利用して、Nitro世代のM5、Z1dへの変更を試す機会がありましたので紹介させていただきます。

OSとしてLinuxをお使いの場合、次の過去記事を参照ください。

  • Amazon Linux

NITRO世代(C5、M5)へのEC2インスタンスタイプ変更を試してみた(Amazon Linux編) #reinvent

  • Redhat 6

Nitro世代(C5、M5、T3)へのEC2インスタンスタイプ変更を試してみた(Red Hat編)

環境情報

インスタンス

  • AMI: Windows Server 2008 R2 Datacenter (2012年作成)
  • インスタンスタイプ: m4.large

システムログの出力情報

  • OS: Microsoft Windows NT 6.1.7601
  • OsVersion: 6.1
  • OsProductName: Windows Server 2008 R2 Datacenter
  • OsBuildLabEx: 7601.17944.amd64fre.win7sp1_gdr.120830-0333
  • Language: ja-JP
  • EC2 Agent: Ec2Config service v3.9.359

PVドライバー

  • RedHat: 1.3.10.0 (2011/08/05)

PowerShell

  • PSVersion: 2.0

事前準備

  • ドライバーやインストーラが依存するランタイムなどについて、事前更新を行いました。
  • WindowsUpdateは、ドライバーをS3からHTTPSでダウンロードするために実施しています。2012年当時のWindowsのルート証明書、現在のS3で利用されているAmazon発行のサーバ証明書に未対応でした。

WindowsUpdate

  • 重要な更新をすべて実施しました。
  • 更新数は約110、所要時間は5時間程度でした。

Windows Management Framework(WMF) 3.0

.NET Framework 4.5

更新作業

  • AWSドキュメントに準じ、NITRO対応設定を行いました。

より新しいバージョンの Windows に Amazon EC2 Windows Server インスタンスをアップグレードする » 最新世代のインスタンスタイプへの移行

EC2Config更新

PV ドライバー更新

  • NITRO世代に対応する、最新AWS PVドライバーをインストールします。
  • 古いRedhatPVドライバーは、AWS PVへのアップグレードができないため、一旦Citrix PVドライバーへの更新を行います。
  • ドライバー更新後、複数回のOS再起動が発生します。通常のOSのみの再起動と比較して、少し長めの時間を要する場合もあるのでご注意ください。

Redhat → Citrix PV

Citrix PV → AWS PV

ENA ドライバー インストール

  • 最新ENAドライバーAwsEnaNetworkDriver.zip

  • インストーラーを展開したディレクトリに移動(cd)し、インストールスクリプトを実行します

  • PowerShellスクリプトの実行ポリシーは解除「Unrestricted」しています。PowerShellスクリプトの実行制限が望ましい環境の場合「Restricted」などに書き戻しください。

cd C:\Installer\AwsEnaNetworkDriver 
PS C:\Users\Administrator> Set-ExecutionPolicy Unrestricted
PS C:\Users\Administrator> cd C:\temp\AwsEnaNetworkDriver
PS C:\temp\AwsEnaNetworkDriver> .\install.ps1

NVMe ドライバーインストール

PS C:\Users\Administrator> Set-ExecutionPolicy Unrestricted
PS C:\Users\Administrator> cd C:\temp\AWSNVMe
PS C:\temp\AWSNVMe> .\install.ps1

拡張ネットワーキングの有効化

ID='i-00000000000000000'
aws ec2 describe-instances --instance-ids ${ID} --query "Reservations[].Instances[].EnaSupport"
aws ec2 modify-instance-attribute --instance-id ${ID} --ena-support
aws ec2 describe-instances --instance-ids ${ID} --query "Reservations[].Instances[].EnaSupport"

インスタンスタイプ変更

  • OS停止状態で、AWSコンソールを利用してインスタンスタイプを「m4.large」→「m5.large」に変更しました。

性能比較

  • CrystalMark 2004R7を利用して、ベンチマークを取得してみました。
  • 測定設定はデフォルト、測定は1回のみの測定で比較しました
インスタンスタイプ ALU FPU MEM HDD
m4.large 18723 15059 30355 13279
m5.large 22476 18353 37121 29954
z1d.large 32238 24460 49549 30249

m4.large

m5.large

z1d.large

まとめ

6年前のWindows2008R2環境、NITRO世代のインスタンスで利用する事ができ、簡易測定の範囲でも、CPU、IO性能などが向上が確認できました。

ただし、OSドライバーの更新などに問題が発生した場合には、EC2インスタンスの起動不良や、リモート接続が不能な状態が発生する恐れがあります。 本番稼働中のシステムをNITRO化される場合には、AMIから起動した検証用のインスタンスでの十分な事前検証と、 可能であれば上位AWSサポート契約など用意される事をお勧めします。

また、2018年8月以降にAWSからリリースされたWindows用のAMIであれば、デフォルトでNITRO世代のインスタンスタイプに対応しています。OSのクリアインストール、データ移行が可能なシステムについては、最新AMIを利用した新環境の構築と切替による移行を検討頂ければと思います。