Windows インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化 - Amazon Elastic Compute Cloud

Windows インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化

Amazon EC2 は、Elastic Network Adapter (ENA) を介してネットワーキング機能を提供します。拡張ネットワーキングを使用するには、必要な ENA モジュールをインストールし、ENA のサポートを有効にする必要があります。

要件

ENA を使用した拡張ネットワーキングを準備するには、次のようにインスタンスをセットアップします。

  • 現行世代のインスタンスタイプ (m4.16xlarge よりも小さい C4、D2、M4 の各インスタンスや、T2 は除く) を使用して、インスタンスを起動します。

  • インスタンスで Windows Server 2008 R2 SP1 を実行している場合は、SHA-2 コード署名サポートの更新情報が含まれていることを確認します。

  • インスタンスがインターネットに接続されていることを確認します。

  • 選択した任意のコンピュータ、できればローカルのデスクトップまたはノートパソコンで、AWS Management Console から AWS CloudShell を使用するか、AWS CLI もしくは AWS Tools for Windows PowerShell をインストールして設定します。詳細については、「Amazon EC2 へのアクセス」もしくは AWS CloudShell ユーザーガイドを参照してください。拡張ネットワーキングは、Amazon EC2 コンソールから管理することはできません。

  • 保持する必要がある重要なデータがインスタンスにある場合、インスタンスから AMI を作成してそのデータをバックアップする必要があります。enaSupport 属性を有効にするとともに、カーネルおよびカーネルモジュールを更新すると、互換性のないインスタンスがレンダリングされたり、オペレーティングシステムに接続できなくなったりする可能性があります。最近のバックアップがある場合は、これが発生してもデータは保持されます。

拡張ネットワーキングのパフォーマンス

以下のドキュメントには、ENA 拡張ネットワーキングをサポートするインスタンスタイプのネットワークパフォーマンスの概要が記載されています。

拡張ネットワーキングが有効化されているかどうかのテスト

拡張ネットワーキングが既に有効になっているかどうかをテストするには、 ドライバーがインスタンスにインストールされていることと、enaSupport 属性が設定されていることを確認します。

インスタンス属性 (enaSupport)

インスタンスに拡張ネットワーキングの enaSupport 属性が設定されているかどうかを確認するには、次のいずれかのコマンドを使用します。属性が設定されている場合、レスポンスは true です。

  • describe-instances (AWS CLI/AWS CloudShell)

    aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
  • Get-EC2InstanceTools for Windows PowerShell

    (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport

イメージ属性 (enaSupport)

AMI に拡張ネットワーキングの enaSupport 属性が設定されているかどうかを確認するには、次のいずれかのコマンドを使用します。属性が設定されている場合、レスポンスは true です。

  • describe-images (AWS CLI/AWS CloudShell)

    aws ec2 describe-images --image-id ami_id --query "Images[].EnaSupport"
  • Get-EC2Image (Tools for Windows PowerShell)

    (Get-EC2Image -ImageId ami_id).EnaSupport

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

インスタンスを起動し、すでに拡張ネットワーキングが有効になっていない場合、必要なネットワークアダプタードライバーをダウンロードしてインスタンスにインストールし、拡張ネットワーキングを有効にするように enaSupport インスタンス属性を設定する必要があります。この属性は、サポートされるインスタンスタイプにおいて、ENA ドライバーがインストールされている場合のみ有効にできます。詳細については、拡張ネットワークのサポート を参照してください。

拡張ネットワーキングを有効にするには

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

  2. [Windows Server 2016 以降のみ] 以下の EC2Launch PowerShell スクリプトを実行して、ドライバーのインストール後にインスタンスを設定します。

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
  3. インスタンスから、次のようにドライバーをインストールします。

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

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

    3. install.ps1 PowerShell スクリプトを実行してドライバーをインストールします。

      注記

      実行ポリシーエラーが発生した場合は、ポリシーを Unrestricted に設定します (デフォルトでは、Restricted または RemoteSigned に設定されています)。コマンドラインで、Set-ExecutionPolicy -ExecutionPolicy Unrestricted を実行し、次に PowerShell スクリプト install.ps1 を再度実行します。

  4. ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを停止します。stop-instances(AWS CLI/AWS CloudShell)、Stop-EC2Instance (AWS Tools for Windows PowerShell) インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。

  5. 次のように、インスタンスの ENA サポートを有効にします。

    1. ローカルコンピュータから、次のいずれかのコマンドを実行して、インスタンスの EC2 インスタンス ENA サポート属性を確認します。属性が有効になっていない場合、出力は「[]」 または空白です。EnaSupportはデフォルトで false に設定されます。

      • describe-instances (AWS CLI/AWS CloudShell)

        aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
      • Get-EC2InstanceTools for Windows PowerShell

        (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport
    2. ENA サポートを有効にするには、次のいずれかのコマンドを実行します。

      • modify-instance-attribute (AWS CLI/AWS CloudShell)

        aws ec2 modify-instance-attribute --instance-id instance_id --ena-support
      • Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

        Edit-EC2InstanceAttribute -InstanceId instance_id -EnaSupport $true

      インスタンスを再開するときに問題が発生した場合は、次のいずれかのコマンドを使用して ENA サポートを無効にすることもできます。

      • modify-instance-attribute (AWS CLI/AWS CloudShell)

        aws ec2 modify-instance-attribute --instance-id instance_id --no-ena-support
      • Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

        Edit-EC2InstanceAttribute -InstanceId instance_id -EnaSupport $false
    3. 前述のように describe-instances または Get-EC2Instance を使用して、属性が true に設定されていることを確認します。次のような出力が表示されます。

      [ true ]
  6. ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを起動します。start-instances(AWS CLI/AWS CloudShell)、Start-EC2Instance (AWS Tools for Windows PowerShell) インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールを使用してインスタンスを停止する必要があります。

  7. インスタンスで、次のように ENA ドライバーがインストールされて有効であることを検証します。

    1. ネットワークアイコンを右クリックして、[Open Network and Sharing Center] を選択します。

    2. イーサネットアダプター ([Ethernet 2] など) を選択します。

    3. [Details] を選択します。[Network Connection Details] で、[Description] が [Amazon Elastic Network Adapter] であることを確認します。

  8. (オプション) インスタンスから AMI を作成します。AMI は、インスタンスから enaSupport 属性を継承します。したがって、この AMI を使用して、ENA がデフォルトで有効になっている別のインスタンスを起動できます。詳細については、カスタム Windows AMI を作成する を参照してください。

Amazon ENA ドライバーのバージョン

Windows AMI には、拡張ネットワーキングを有効にするために Amazon ENA ドライバーが含まれています。

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

Windows Server バージョン ENA ドライバーバージョン

Windows Server 2022

2.4.0 以降

Windows Server 2019

最新

Windows Server 2016 最新
Windows Server 2012 R2 最新
Windows Server 2012 最新
Windows Server 2008 R2 2.2.3 以前

次の表は、各リリースの変更をまとめたものです。

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

2.4.0

新機能

  • Windows Server 2022 のサポートの追加

  • Windows Server 2008 R2 のサポートの終了

  • 低レイテンシーキューイング (LLQ) を常にオンに設定して、第 6 世代の Amazon EC2 インスタンスのパフォーマンスを向上させてください。

バグ修正

  • Windows (PCW) のパフォーマンスカウンター (PCW) システムにネットワークパフォーマンスメトリクスを公開できない問題を修正しました。

  • レジストリキーの読み取り操作に発生するメモリリークを修正しました。

  • アダプターのリセット処理中に回復不能なエラーが発生した際に生じる、無限のリセットループを防止しました。

2022 年 4 月 28 日

2.2.4

発表

ENA Windows ドライバーのバージョン 2.2.4 は、第 6 世代 EC2 インスタンスでパフォーマンスが低下する可能性があるため、ロールバックされました。次のいずれかの方法を使用して、ドライバーをダウングレードすることをお勧めします。

  • 以前のバージョンをインストールする

    1. この表のリンクから、以前のバージョンのパッケージをダウンロードします (バージョン 2.2.3)。

    2. install.ps1 PowerShell インストールスクリプトを実行します。

    インストール前とインストール後の手順の詳細については、「Windows の拡張ネットワーキングの有効化」を参照してください。

    Amazon EC2 Systems Manager を使用して一括更新する

    • 次のパラメータを使用して、SSM ドキュメント AWS-ConfigureAWSPackage を介して一括更新を実行します。

      • [Name] (名前): AwsEnaNetworkDriver

      • バージョン: 2.2.3

2021 年 10 月 26 日

2.2.3

新機能

  • 最大 400 Gbps インスタンスネットワーキングを備えた新しい Nitro Card のサポートを追加します。

バグ修正

  • ハードウェア応答不能の誤検出発生の原因となっていた、ENA ドライバによるシステム時刻の変更とシステム時刻クエリとの競合状態を修正します。

Windows ENA ドライババージョン 2.2.3 は、Windows Server 2008 R2 をサポートする最後のバージョンです。現時点で ENA を利用可能なインスタンスタイプは、引き続き Windows Server 2008 R2 でサポートされ、ドライバをダウンロードすることができます。今後、Windows Server 2008 R2 をサポートするインスタンスタイプはリリースされません。また、将来のインスタンスタイプに対し、Windows Server 2008 R2 イメージをインポートおよび移行して、起動することはできません。

2021 年 3 月 25 日

2.2.2

新機能

  • CloudWatch と、Windows コンシューマー用のパフォーマンスカウンターを使用したネットワークアダプターのパフォーマンスメトリクスのクエリに対するサポートを追加します。

バグ修正

  • ベアメタルインスタンスでのパフォーマンスの問題が修正されました。

2020 年 12 月 21 日

2.2.1

新機能

  • ホストが Elastic Network Adapter にネットワークパフォーマンスメトリクスをクエリできるようにするメソッドを追加します。

2020 年 10 月 1 日

2.2.0

新機能

  • 次世代ハードウェアタイプのサポートを追加しました。

  • stop-hibernate から再開後のインスタンスの開始時間を短縮し、誤検出の ENA エラーメッセージを排除しました。

パフォーマンスの最適化

  • 受信トラフィックの処理を最適化しました。

  • 低リソース環境での共有メモリ管理を改良しました。

バグ修正

  • ドライバーのリセットに失敗するまれなシナリオで、ENA デバイスの取り外し時のシステムクラッシュが解消されました。

2020 年 8 月 12 日

2.1.5

バグ修正

  • ベアメタルインスタンスでときどき発生するネットワークアダプタの初期化エラーを修正します。

2020 年 6 月 23 日

2.1.4

バグ修正

  • ネットワークスタックから届く破損 LSO パケットメタデータに起因する接続問題が解消されました。

  • すでに解放されているパケットメモリへのアクセスを生じさせるまれな競合条件に起因するシステムクラッシュが解消されました。

2019 年 11 月 25 日

2.1.2

新機能

  • OS が MAC ベースの UUID を生成できるように、ベンダー ID レポートのサポートを追加しました。

バグ修正

  • 初期化中の DHCP ネットワーク設定パフォーマンスを改善しました。

  • 最大送信単位 (MTU) が 4K を超える場合、インバウンド IPv6 トラフィックの L4 チェックサムを適切に計算します。

  • ドライバの安定性の全般的な改善と軽微なバグの修正。

2019 年 11 月 4 日

2.1.1

バグ修正
  • オペレーティングシステムから着信する高度にフラグメント化された TCP LSO パケットの削除を防ぎます。

  • IPv6 ネットワークの IPSec 内で、カプセル化セキュリティペイロード (ESP) プロトコルを適切に処理します。

2019 年 9 月 16 日

2.1.0

ENA Windows ドライバー v2.1 は、新しい ENA デバイス機能を提供し、パフォーマンスの向上をもたらします。また、複数の新機能を加え、安定性に関する複数の機能強化を行っています。
  • 新機能

    • Jumbo Frames 設定で標準化された Windows レジストリキーを使用。

    • ENA ドライバープロパティ GUI を介した VLAN ID 設定が可能。

    • 復旧フローの改善

      • 失敗を識別する機構を改善。

      • 調整可能な復旧パラメータのサポートを追加。

    • vCPU 数が 8 台を超える新しい EC2 インスタンスで I/O キューを最大 32 個までサポート。

    • ドライバーのメモリ占有領域を最大 90% 削減。

  • パフォーマンスの最適化

    • 転送パスのレイテンシーの短縮。

    • 受信チェックサムオフロードのサポート。

    • 負荷が大きいシステムのパフォーマンスの最適化 (ロック機構の使用の最適化)。

    • CPU 使用率を低減させて負荷時のシステム応答を改善するための機能強化。

  • バグ修正

    • 連続しない Tx ヘッダーの無効な解析に伴うクラッシュを修正。

    • ベアメタルインスタンスにおける Elastic Network Interface デタッチ中のドライバー v1.5 のクラッシュを修正。

    • IPv6 での LSO 疑似ヘッダーチェックサム計算エラーを修正。

    • 初期化の失敗時に起こり得るメモリリソースリークの修正。

    • IPv4 フラグメントの TCP/UDP チェックサムオフロードを無効化。

    • VLAN 設定の修正。VLAN の優先度のみを無効化すべきときに VLAN が間違って無効化されていました。

    • イベントビューアーによるカスタムドライバーメッセージの正しい解析を有効化。

    • 無効なタイムスタンプ処理に伴うドライバーの初期化エラーを修正。

    • データ処理と ENA デバイス無効化との間の競合状態を修正。

2019 年 7 月 1 日

1.5.0

  • 安定性の向上およびパフォーマンス修正。

  • [Receive Buffers] は、ENA NIC の [Advanced Properties] で最大 8192 に設定できるようになりました。

  • デフォルトの [Receive Buffers] は 1000 です。

2018 年 10 月 4 日

1.2.3

信頼性の修正が含まれ、Windows Server 2016 から Windows Server 2008 R2 のサポート内容を統合します。

2018 年 2 月 13 日

1.0.9

信頼性の修正がいくつか含まれています。Windows Server 2008 R2 にのみ適用されます。他のバージョンの Windows Server には推奨されません。

2016 年 12 月

1.0.8

初回リリース。Windows Server 2008 R2、Windows Server 2012 RTM、Windows Server 2012 R2、および Windows Server 2016 用の AMI が含まれています。

2016年7月日

の通知のサブスクライブ

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. [Endpoint] に、通知を受信するために使用できる 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. サブスクリプションのチェックボックスを選択し、[アクション]、[サブスクリプションの削除] を選択します。確認を求めるメッセージが表示されたら、[削除] を選択します。