AWS EC2(Windows Server 2012R2)ドライバ更新

  1. RemediateDriverIssue実行
    https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/pvdrivers-troubleshooting.html
    Windows Server 2012 R2 でインスタンスの再起動後にネットワークおよびストレージとの接続が失われる
    この問題は、2014 年 9 月より前に利用可能になった AMI でのみ発生します。
    影響ない場合はスキップされるので、一律に実行してよさそうです。

    RemediateDriverIssue.zipをダウンロード
    #PowerShellコンソール
    invoke-webrequest https://s3.amazonaws.com/ec2-downloads-windows/Scripts/RemediateDriverIssue.zip -outfile $env:USERPROFILE\RemediateDriverIssue.zip
    

    zipを展開し、RemediateDriverIssue.ps1を実行

    20220621_1040:37+09 INFO : Disabling scheduled task Plug and Play Cleanup.
    20220621_1040:39+09 INFO : We have disabled the Plug and Play Cleanup scheduled task, please do not re-enable this scheduled task.
    20220621_1040:39+09 WARNING : This machine is found to be impacted.
    20220621_1040:39+09 INFO : Removing StartOverride key: HKLM:\SYSTEM\CurrentControlSet\Services\xenvbd\StartOverride
    20220621_1040:39+09 INFO : Removing StartOverride key: HKLM:\SYSTEM\CurrentControlSet\Services\xenbus\StartOverride
    20220621_1040:39+09 INFO : Adding required registry keys.
    20220621_1040:39+09 INFO : The attempted repair operation has succeeded, however the instance is still partially impacted.  It should now be safe to perform a system reboot of your instance as needed but please DO NOT use AWS functions to stop and then start, or resize this instance as it may become inaccessible. For further information and ongoing updates visit http://aws.amazon.com/windows/2012r2-network-drivers/
    

  2. PVDriverのアップグレード
    ※インストール時 自動再起動あり
    下記コマンドでインストールされてるバージョンを確認する。
    #PowerShellコンソール
    Get-ItemProperty HKLM:\SOFTWARE\Amazon\PVDriver
    Version : 8.3.2 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\PVDriver PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Amazon PSChildName : PVDriver PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry

    ※エラーが表示される場合は、PVDriverのアップグレードに失敗する可能性があるので、注意が必要。(インスタンスが起動しなくなる)

    インストール後、アンインストール、再インストールをしておくと安心かもしれません。

    AWSPVDriver.zipをダウンロード
    #PowerShellコンソール
    invoke-webrequest https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/Latest/AWSPVDriver.zip -outfile $env:USERPROFILE\pv_driver.zip
    

    zipファイルを展開し、install.ps1を実行












    インストール後、自動再起動される。
    起動後にバージョンを確認する。
    #PowerShellコンソール
    Get-ItemProperty HKLM:\SOFTWARE\Amazon\PVDriver
    
    Version      : 8.4.2
    PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\PVDriver
    PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Amazon
    PSChildName  : PVDriver
    PSDrive      : HKLM
    PSProvider   : Microsoft.PowerShell.Core\Registry
    

    #PowerShellコンソール
    # Windows Server 2012 R2
    function GetFileVersionString ([IO.FileInfo]$FileInfo) {
        $ver = $FileInfo.VersionInfo
        return ("{0}.{1}.{2}.{3}" -f $ver.FileMajorPart, $ver.FileMinorPart , $ver.FileBuildPart , $ver.FilePrivatePart )
    }
    Get-WmiObject -ClassName Win32_SystemDriver |
        Where-Object { $_.Name -in ('xenbus', 'xeniface', 'xennet', 'xenvbd', 'xenvif', 'AWSNVMe', 'ena') } |
        Select-Object Name, Caption, @{Name = 'Version'; Expression = { GetFileVersionString (Get-Item $_.PathName) } }


    バージョンを確認すると7.4.3.0のまま→ NG?

    Name                                    Caption                                 Version
    ----                                    -------                                 -------
    AWSNVMe                                 AWSNVMe                                 1.3.0.13
    ena                                     Amazon Elastic Network Adapter Driver   1.5.0.0
    XENBUS                                  AWS PV Bus                              7.4.3.0  ★
    xeniface                                AWS Interface                           7.4.3.0  ★
    xennet                                  xennet                                  7.4.3.0  ★
    xenvbd                                  AWS PV Storage Host Adapter             7.4.3.0  ★
    xenvif                                  xenvif                                  7.4.3.0  ★


    コントロールパネル-プログラムと機能からAWS PV Driversをアンインストールする。
    アンインストール後、即、AWSPVDriverを再度インストールする。
    インストール後、自動再起動される。

    起動後、バージョン確認すると
    Name                                    Caption                                 Version
    ----                                    -------                                 -------
    AWSNVMe                                 AWSNVMe                                 1.3.0.13
    ena                                     Amazon Elastic Network Adapter Driver   1.5.0.0

    下記コマンドを実行する。

    #PowerShellコンソール
    Start-Process rundll32.exe sppnp.dll,Sysprep_Generalize_Pnp -wait

    再度バージョンを確認する。→ OK

    Name                                    Caption                                 Version
    ----                                    -------                                 -------
    AWSNVMe                                 AWSNVMe                                 1.3.0.13
    ena                                     Amazon Elastic Network Adapter Driver   1.5.0.0
    xenvif                                  AWS PV Network Class                    8.2.9.8  ★
    xenvbd                                  AWS PV Storage Host Adapter             8.4.1.6  ★
    xeniface                                AWS Interface                           8.2.7.5  ★
    xenbus                                  AWS PV Bus                              8.3.0.7  ★
    

  3. Elastic Network Adapter ドライバー アップグレード
    AwsEnaNetworkDriver.zipのダウンロード
    #PowerShellコンソール
    invoke-webrequest https://s3.amazonaws.com/ec2-windows-drivers-downloads/ENA/Latest/AwsEnaNetworkDriver.zip -outfile $env:USERPROFILE\AwsEnaNetworkDriver.zip

    zipファイルを展開し、install.ps1を実行する。

    実行時、RDP接続が切れる。
    復旧後、再起動のポップアップ有→再起動する。

    Name                                    Caption                                 Version
    ----                                    -------                                 -------
    AWSNVMe                                 AWSNVMe                                 1.3.0.13
    ena                                     Amazon Elastic Network Adapter Driver   2.4.0.0  ★
    xenbus                                  AWS PV Bus                              8.3.0.7
    xeniface                                AWS Interface                           8.2.7.5
    xenvbd                                  AWS PV Storage Host Adapter             8.4.1.6
    xenvif                                  AWS PV Network Class                    8.2.9.8

  4. AWS NVMe drivers アップグレード

    nvme_driver.zipのダウンロード

    #PowerShellコンソール
    invoke-webrequest https://s3.amazonaws.com/ec2-windows-drivers-downloads/NVMe/Latest/AWSNVMe.zip -outfile $env:USERPROFILE\nvme_driver.zip

    インストール後、自動再起動される。

    zipファイルを展開し、install.ps1を実行する。
    自動再起動する。
    Name                                    Caption                                 Version
    ----                                    -------                                 -------
    AWSNVMe                                 AWSNVMe                                 1.4.1.21  ★
    ena                                     Amazon Elastic Network Adapter Driver   2.4.0.0
    xenbus                                  AWS PV Bus                              8.3.0.7
    xeniface                                AWS Interface                           8.2.7.5
    xenvbd                                  AWS PV Storage Host Adapter             8.4.1.6
    xenvif                                  AWS PV Network Class                    8.2.9.8

    コマンドを実行する。

    #PowerShellコンソール
    Start-Process rundll32.exe sppnp.dll,Sysprep_Generalize_Pnp -wait

    手動再起動する。

  5. EC2Launch v2のインストール
    EC2Launch v2 への移行
    https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2launch-v2-migrate.html
    EC2Launch v2 の最新バージョンのインストール
    https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2launch-v2-install.html

    64Bit版インストール
    下記コマンドを実行する。
    #PowerShellコンソール
    mkdir $env:USERPROFILE\Desktop\EC2Launch2
    $Url = "https://s3.amazonaws.com/amazon-ec2launch-v2-utils/MigrationTool/windows/amd64/latest/EC2LaunchMigrationTool.zip"
    $DownloadZipFile = "$env:USERPROFILE\Desktop\EC2Launch2\" + $(Split-Path -Path $Url -Leaf)
    Invoke-WebRequest -Uri $Url -OutFile $DownloadZipFile

    デスクトップのEC2Launch2フォルダ内のEC2LaunchMigrationToolを展開する。

    Install.ps1を実行する。
    ※EC2ConfigService の設定値を読み取ってインストールされる。
     EC2ConfigService もアンインストールされる。
    2022/06/21 11:45:22 : INFO Ec2Config has been detected, version is 4.9.3160
    2022/06/21 11:45:22 : INFO Start migrating process for EC2Config
    2022/06/21 11:45:22 : INFO Start fetching EC2Config settings
    2022/06/21 11:45:22 : INFO Reading configurations from file
    2022/06/21 11:45:22 : INFO Finished reading configurations: 
    
    Ec2SetPassword: Disabled
    Ec2SetComputerName: Disabled
    Ec2InitializeDrives: Enabled
    Ec2EventLog: Disabled
    Ec2ConfigureRDP: Disabled
    Ec2OutputRDPCert: Enabled
    Ec2SetDriveLetter: Enabled
    Ec2WindowsActivate: Enabled
    Ec2DynamicBootVolumeSize: Disabled
    Ec2SetHibernation: Enabled
    Ec2ElasticGpuSetup: Enabled
    Ec2FeatureLogging: Enabled
    Ec2SetENAConfig: Enabled
    Ec2HandleUserData: Disabled
    AWS.EC2.Windows.CloudWatch.PlugIn: Disabled
    
    ManageShutdown: true
    SetDnsSuffixList: true
    WaitForMetaDataAvailable: true
    ShouldAddRoutes: true
    RemoveCredentialsfromSysprepOnStartup: true
    
    2022/06/21 11:45:22 : INFO Finished fetching EC2Config settings
    2022/06/21 11:45:22 : INFO Start installing EC2Launch v2
    2022/06/21 11:45:22 : INFO Installation of EC2LaunchV2 begins
    2022/06/21 11:45:44 : INFO Installation of EC2LaunchV2 completes
    2022/06/21 11:45:44 : INFO Finished installing EC2Launch v2
    2022/06/21 11:45:44 : INFO Start migrating EC2Config settings
    2022/06/21 11:45:44 : INFO Start reading configurations from C:\ProgramData\Amazon\EC2Launch\config\agent-config.yml
    2022/06/21 11:45:44 : INFO Finished reading configurations from C:\ProgramData\Amazon\EC2Launch\config\agent-config.yml
    2022/06/21 11:45:44 : INFO Start processing configurations
    2022/06/21 11:45:44 : INFO Finished processing configurations
    2022/06/21 11:45:44 : INFO Start changing configuration content at C:\ProgramData\Amazon\EC2Launch\config\agent-config.yml
    2022/06/21 11:45:45 : INFO Finished changing configurations
    2022/06/21 11:45:45 : INFO Finished migrating EC2Config settings
    2022/06/21 11:45:45 : INFO Finished migrating process for EC2Config
    2022/06/21 11:45:45 : INFO Creating wallpaper setup file setwallpaper.lnk under user Startup folders
    


    Amazon EC2Launch settings 設定
    ・Wallpaperのチェックを外す。
    (ドメインポリシーで壁紙を自動設定しているので外しました)


    無効にしても、スタートアップ内の処理が実行され壁紙が変更されてしまう。
    ショートカットファイルを削除するPowerShellスクリプトの例
    https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2launchv2-troubleshooting.html

    foreach ($userDir in (Get-ChildItem "C:\Users" -Force -Directory).FullName)
    {
        $startupPath = Join-Path $userDir -ChildPath "AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
        if (Test-Path $startupPath)
        {
            $wallpaperSetupPath = Join-Path $startupPath -ChildPath "setwallpaper.lnk"
            if (Test-Path $wallpaperSetupPath)
            {
                Remove-Item $wallpaperSetupPath -Force -Confirm:$false
            }
        }
    }

    ・ローカルストレージ付のインスタンスの場合
    「Amazon EC2Launch settings」を起動
    Volumesタブ
    Initializeにチェック
    Allを選択

    ※空でないことが検出されたボリュームは初期化されません。


    デスクトップのEC2Launch2フォルダを削除する。

  6. AWS Systems Manager SSM Agent アップグレード
    バージョン確認
    #PowerShellコンソール
    & "C:\Program Files\Amazon\SSM\amazon-ssm-agent.exe" -version
    SSM Agent version: 3.1.1374.0
    最新状況確認
    https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md

    Windows Server 用の EC2 インスタンスに手動で SSM Agent をインストールする
    https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-win.html

    #PowerShellコンソール
    $progressPreference = 'silentlyContinue'
    Invoke-WebRequest `
        https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe `
        -OutFile $env:USERPROFILE\SSMAgent_latest.exe
    
    Start-Process `
        -FilePath $env:USERPROFILE\SSMAgent_latest.exe `
        -ArgumentList "/S"
    
    rm -Force $env:USERPROFILE\SSMAgent_latest.exe
    
    Restart-Service AmazonSSMAgent

    インストール後のバージョン確認

    SSM Agent version: 3.1.1511.0

管理人 has written 36 articles