AWS Windows インスタンス用 NVMe ドライバー - Amazon Elastic Compute Cloud

AWS Windows インスタンス用 NVMe ドライバー

Amazon EBS ボリュームおよびインスタンスストアボリュームは、AWS Nitro System 上に構築されたインスタンスで NVMe ブロックデバイスとして公開されます。Windows Server 2012 R2 以降にはマイクロソフトにより提供される NVMe ドライバーである StorNVMe が含まれています。ただし、Amazon EBS が提供するパフォーマンスや機能をフルに発揮するには、NVMe ブロックデバイスを使用する際に AWS NVMe ドライバーをインストールする必要があります。最新の Windows Server 2008 R2 以降用の AWS Windows AMI には、必要な AWS NVMe ドライバーが含まれています。

EBS および NVMe の詳細については、「Amazon EBS ユーザーガイド」の「Amazon EBS および NVMe」を参照してください。SSD インスタンスストアと NVMe の詳細については、「SSD インスタンスストアボリューム」を参照してください。

PowerShell を使用して AWS NVMe ドライバーをインストールまたはアップグレードする

Amazon が提供する最新の AWS Windows AMI を使用していない場合は、以下の手順に従って、最新の AWS NVMe ドライバーをインストールしてください。この更新は、インスタンスを再起動できる時に実施しなければなりません。インストールスクリプトを入力するとインスタンスが再起動されますが、再起動されない場合には、最終段階で再起動する必要があります。

前提条件

PowerShell 3.0 以降

最新の AWS NVMe ドライバーをダウンロードしてインストールするには
  1. 変更を元に戻す必要がある場合に備えて、AMI をバックアップとして作成することをお勧めします。

    1. インスタンスを停止すると、インスタンスストアボリューム上のデータは消去されます。インスタンスを停止する前に、必要なデータをインスタンスストアボリュームから永続的ストレージ (Amazon EBS や Amazon S3 など) にコピーしていることを確認します。

    2. ナビゲーションペインで、[インスタンス] を選択します。

    3. ドライバーのアップグレードが必要なインスタンスを選択し、[インスタンスの状態]、[インスタンスの停止] の順に選択します。

    4. インスタンスを停止したら、インスタンスを選択し、[アクション]、[イメージとテンプレート]、[イメージの作成] の順に選択します。

    5. [Instance state (インスタンスの状態)]、[Start instance (インスタンスの開始)] の順に選択します。

  2. インスタンスに接続してローカル管理者としてログインします。

  3. 次のいずれかのオプションを使用して、インスタンスにドライバをダウンロードし抽出します。

    • ブラウザを使用する:

      1. インスタンスに最新のドライバーパッケージをダウンロードします。

      2. zip アーカイブを展開します。

    • PowerShell を使用する:

      Invoke-WebRequest https://s3.amazonaws.com/ec2-windows-drivers-downloads/NVMe/Latest/AWSNVMe.zip -outfile $env:USERPROFILE\nvme_driver.zip Expand-Archive $env:userprofile\nvme_driver.zip -DestinationPath $env:userprofile\nvme_driver
  4. install.ps1 ディレクトリ (nvme_driver) から .\install.ps1 PowerShell スクリプトを実行し、ドライバーをインスタンスにインストールします。エラーが発生した場合は、PowerShell 3.0 以降を使用していることを確認してください。

    1. (オプション) AWS NVMe バージョン 1.5.0 以降、Windows Server 2016 以降ではスモールコンピュータシステムインターフェイス (SCSI) の永続予約がサポートされます。この機能により、共有 Amazon EBS ストレージによる Windows Server フェイルオーバークラスタリングのサポートが追加されました。デフォルトでは、この機能はインストール中には有効になっていません。

      install.ps1 スクリプトを実行してドライバーをインストールするときに、EnableSCSIPersistentReservations パラメータに $true という値を指定すると、この機能を有効にできます。

      PS C:\> .\install.ps1 -EnableSCSIPersistentReservations $true

      install.ps1 スクリプトを実行してドライバーをインストールするときに、EnableSCSIPersistentReservations パラメータに $false という値を指定すると、この機能を無効にできます。

      PS C:\> .\install.ps1 -EnableSCSIPersistentReservations $false
    2. AWS NVMe 1.5.0 以降、install.ps1 スクリプトは常に ebsnvme-id ツールをドライバーとともにインストールします。

      (オプション) バージョン 1.4.01.4.1、および 1.4.2 の場合、install.ps1 スクリプトを使用して ebsnvme-id ツールをドライバーとともにインストールするかどうかを指定できます。

      1. ebsnvme-id ツールをインストールするには、InstallEBSNVMeIdTool ‘Yes’ を指定します。

      2. ツールをインストールしない場合は、InstallEBSNVMeIdTool ‘No’ を指定します。

        InstallEBSNVMeIdTool を指定しない場合で、かつツールが既に C:\ProgramData\Amazon\Tools に存在している場合、パッケージはデフォルトでツールをアップグレードします。ツールが存在しない場合は、install.ps1 は、デフォルトではツールをアップグレードしません。

        ツールをパッケージの一部としてインストールせず、後でインストールする場合は、ドライバーパッケージにツールの最新バージョンがあります。または、Amazon S3 からバージョン 1.0.0 をダウンロードすることもできます。

        ebsnvme-id ツールをダウンロードします。

  5. インストーラがインスタンスを再起動しない場合には、手動でインスタンスを再起動します。

ディストリビューターによる AWS NVMe ドライバーのインストールまたはアップグレード

ディストリビューター (AWS Systems Manager の機能) を使用して、NVMe ドライバーパッケージを 1 回インストールすることも、スケジュールされた更新を使用してインストールすることもできます。

  1. ディストリビューターを使用して NVMe ドライバーパッケージをインストールする方法については、「Amazon EC2 Systems Manager ユーザーガイド」の「パッケージのインストールまたは更新」を参照してください。

  2. [名前] で、AWSNVMe を選択します。

  3. [インストールタイプ] で、[アンインストールと再インストール] を選択します。

  4. (オプション) AdditionalArguments の値を指定してインストールをカスタマイズします。

    1. AWS NVMe 1.5.0 以降、このドライバーは Windows Server 2016 以降の SCSI 永続予約をサポートしています。デフォルトでは、この機能はインストール中には有効になっていません。この機能を有効にするには、AdditionalArguments{"SSM_EnableSCSIPersistentReservations": $true} を指定します。この機能を有効にしない場合は、AdditionalArguments{"SSM_EnableSCSIPersistentReservations": $false} を指定します。

    2. AWS NVMe 1.5.0 以降、install.ps1 スクリプトは常に ebsnvme-id ツールをインストールします。

      (オプション) バージョン 1.4.01.4.1、および 1.4.2 の場合、install.ps1 スクリプトを使用して ebsnvme-id ツールをドライバーとともにインストールするかどうかを指定できます。

      1. ebsnvme-id ツールをインストールするには、AdditionalArguments{"SSM_InstallEBSNVMeIdTool": "Yes"} を指定します。

      2. ツールをインストールしない場合は、AdditionalArguments{"SSM_InstallEBSNVMeIdTool": "No"} を指定します。

        AdditionalArgumentsSSM_InstallEBSNVMeIdTool が指定されていない場合で、かつツールが既に C:\ProgramData\Amazon\Tools に存在している場合、パッケージはデフォルトでツールをアップグレードします。ツールが存在しない場合、パッケージはデフォルトでツールをアップグレードしません。追加の引数は、有効な JSON 構文を使用した形式にする必要があります。aws configure パッケージの追加の引数を渡す方法の例については、「Amazon EC2 Systems Manager ドキュメント」を参照してください。

        ツールをパッケージの一部としてインストールせず、後でインストールする場合は、ドライバーパッケージにツールの最新バージョンがあります。または、Amazon S3 からバージョン 1.0.0 をダウンロードすることもできます。

        ebsnvme-id ツールをダウンロードします。

  5. インストーラがインスタンスを再起動しない場合には、手動でインスタンスを再起動します。

SCSI 永続予約を設定する

AWS NVMe ドライバーバージョン 1.5.0 以降をインストールした後は、Windows Server 2016 以降の Windows レジストリを使用して SCSI 永続予約を有効または無効にできます。これらのレジストリ変更を反映するにはインスタンスを再起動する必要があります。

SCSI 永続予約は、次のコマンドで EnableSCSIPersistentReservations の値を 1 に設定すると有効にできます。

PS C:\> $registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\AWSNVMe\Parameters\Device" Set-ItemProperty -Path $registryPath -Name EnableSCSIPersistentReservations -Value 1

SCSI 永続予約は、次のコマンドで EnableSCSIPersistentReservations の値を 0 に設定すると無効にできます。

PS C:\> $registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\AWSNVMe\Parameters\Device" Set-ItemProperty -Path $registryPath -Name EnableSCSIPersistentReservations -Value 0

AWS NVMe ドライバーのバージョン履歴

次の表に、Amazon EC2 の Windows Server バージョンごとにダウンロードする NVMe ドライバーの各バージョンを示します。

Windows Server バージョン AWSNVMe ドライバーバージョン
Windows Server 2022 最新
[Windows Server 2019] 最新
Windows Server 2016 最新
Windows Server 2012 R2 最新
Windows Server 2012 最新
Windows Server 2008 R2 1.3.2 以前

次の表に、AWS NVMe ドライバーのリリース済みバージョンを示します。

パッケージバージョン ドライバーのバージョン 詳細 リリース日

1.5.1

1.5.0

ebsnvme-id ツール用のフォルダーが存在しない場合に作成するようにインストールスクリプトを修正しました。

2023 年 11 月 17 日

1.5.0

1.5.0

Windows Server 2016 以降を実行しているインスタンス向けのスモールコンピュータシステムインターフェイス (SCSI) 永続予約のサポートが追加されました。ebsnvme-id ツール (ebsnvme-id.exe) がデフォルトでインストールされるようになりました。

2023 年 8 月 31 日

1.4.2

1.4.2

AWS NVMe ドライバー が D3 インスタンスのインスタンスストアボリュームをサポートしていなかったバグを修正しました。

2023 年 3 月 16 日

1.4.1

1.4.1

このオプションの NVMe 機能をサポートする EBS ボリュームの Namespace Preferred Write Granularity (NPGW) を報告します。詳細については、「NVMe Base Specification, version 1.4」のセクション 8.25「Improving Performance through I/O Size and Alignment Adherence」(I/O サイズおよびアライメント遵守によるパフォーマンスの向上) を参照してください。

2022 年 5 月 20 日

1.4.0

1.4.0

  • アプリケーションが NVMe デバイスとコミュニケーションを取るようにする IOCTL のサポートが追加されました。このサポートにより、アプリケーションは NVMe デバイスから IdentifyControllerIdentifyNamespace、および NameSpace のリストを取得します。詳細については、Microsoft ドキュメントの「プロトコル固有のクエリ」を参照してください。

  • Windows Server 2008 R2 での AWSNVMe 1.4.0 のインストールは失敗します。Windows Server 2008 R2 では、AWSNVMe バージョン 1.3.2 以前がサポートされています。

  • ドライバーバージョン 1.4.0 と最新の ebsnvme-id ツール (ebsnvme-id.exe) は、単一のパッケージにまとめられています。この組み合わせにより、ドライバーとツールの両方を単一のパッケージからインストールできます。詳細については、「PowerShell を使用して AWS NVMe ドライバーをインストールまたはアップグレードする」を参照してください。

  • バグ修正と信頼性の向上。

2021 年 11 月 23 日

1.3.2

1.3.2

IO をアクティブに処理する EBS ボリュームを変更すると、データが破損する可能性がある問題を修正しました。オンライン EBS ボリューム (サイズ変更やタイプの変更など) を変更しないお客様は影響を受けません。

2019 年 9 月 10 日

1.3.1

1.3.1

信頼性の向上。

2019 年 5 月 21 日

1.3.0

1.3.0

デバイス最適化の向上。

2018 年 8 月 31 日

1.2.0

1.2.0

サポートされているすべてのインスタンス (例: ベアメタルインスタンス) での AWS NVMe デバイスのパフォーマンスと信頼性の向上

2018 年 6 月 13 日

1.0.0

1.0.0

Windows Server を実行するサポート対象インスタンスタイプ用の AWS NVMe ドライバー

2018 年 2 月 12 日

の通知のサブスクライブ

EC2 Windows ドライバーの新しいバージョンがリリースされたときには、Amazon SNS から通知を受け取ることができます。このような通知をサブスクライブするには、以下の手順を使用します。

コンソールから EC2 の通知にサブスクライブするには
  1. Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home)を開きます。

  2. ナビゲーションバーで、必要に応じて、リージョンを [米国東部 (バージニア北部)] に変更します。購読する SNS 通知がこのリージョンにあるため、このリージョンを選択する必要があります。

  3. ナビゲーションペインで [Subscriptions] を選択します。

  4. [Create subscription] を選択します。

  5. [Create subscription] ダイアログボックスで、次の操作を行います。

    1. [TopicARN] では、次の Amazon リソースネーム (ARN) をコピーします。

      arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers

    2. [プロトコル] で Email を選択します。

    3. [エンドポイント] では、通知を受信するために使用できる E メールアドレスを入力します。

    4. [Create subscription] を選択します。

  6. 確認メールが送信されます。E メールを開き、指示に従ってサブスクリプションを完了します。

サブスクライバには、EC2 Windows ドライバーの新しいバージョンがリリースされるたびに、通知が送信されます。通知が不要になった場合は、次の手順で受信登録を解除します。

Amazon EC2 Windows ドライバー通知から受信登録を解除するには
  1. Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home)を開きます。

  2. ナビゲーションペインで [Subscriptions] を選択します。

  3. サブスクリプションのチェックボックスを選択し、[アクション]、[サブスクリプションの削除] を選択します。確認を求めるメッセージが表示されたら、[削除] を選択します。

AWS CLI を使用して EC2 の通知をサブスクライブするには

AWS CLI で EC2 の通知をサブスクライブするには、次のコマンドを使用します。

aws sns subscribe --topic-arn arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers --protocol email --notification-endpoint YourUserName@YourDomainName.ext
AWS Tools for Windows PowerShell を使用して EC2 の通知をサブスクライブするには

AWS Tools for Windows PowerShell で EC2 の通知をサブスクライブするには、次のコマンドを使用します。

Connect-SNSNotification -TopicArn 'arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers' -Protocol email -Region us-east-1 -Endpoint 'YourUserName@YourDomainName.ext'