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

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

Amazon EBS ボリュームおよびインスタンスストアボリュームは、AWS Nitro System 上に構築されたインスタンスで NVMe ブロックデバイスとして公開されます。NVMe ブロックデバイスとして公開されるボリュームで Amazon EBS 機能のパフォーマンスと機能を最大限に活用するには、インスタンスに NVMe AWS ドライバーがインストールされている必要があります。現行世代のすべての AWS Windows AMI には、デフォルトで NVMe ドライバーがインストールされています。AWS

EBS および NVMe の詳細については、「Amazon EBS ユーザーガイド」の「Amazon EBS および NVMe」を参照してください。SSD インスタンスストアと NVMe の詳細については、「Amazon EC2 インスタンスの 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
      注記

      ファイルのダウンロード時にエラーが表示され、Windows Server 2016 以前のバージョンを使用している場合は、PowerShell ターミナルで TLS 1.2 を有効にする必要がある場合があります。次のコマンドで現在の PowerShell セッションの TLS 1.2 を有効にしてから、もう一度試してください。

      [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  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. [インストールタイプ] で、[アンインストールと再インストール] を選択します。

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

  4. (任意) [追加の引数] では、値を指定することでインストールをカスタマイズできます。値は有効な JSON 構文を使用した形式にする必要があります。aws configure パッケージの追加の引数を渡す方法の例については、「Amazon EC2 Systems Manager ドキュメント」を参照してください。

    1. AWS NVMe 1.5.0 以降、このドライバーは Windows Server 2016 以降の SCSI 永続予約をサポートしています。デフォルトでは、この機能はインストール中には有効になっていません。

      • この機能を有効にするには、{"SSM_EnableSCSIPersistentReservations": "true"} を指定します。

      • この機能を有効にしない場合は、{"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 ツールをドライバーとともにインストールするかどうかを指定できます。

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

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

        もし [Additional Arguments] (追加の引数) で SSM_InstallEBSNVMeIdTool が指定されていない場合で、かつツールが既に C:\ProgramData\Amazon\Tools に存在している場合、パッケージはデフォルトでツールをアップグレードします。ツールが存在しない場合、パッケージはデフォルトでツールをアップグレードしません。

        ツールをパッケージの一部としてインストールせず、後でインストールする場合は、ドライバーパッケージにツールの最新バージョンがあります。または、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