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 は除く) を使用して、インスタンスを起動します。

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

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

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

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

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

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

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

インスタンス属性 (enaSupport)

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

  • describe-instances (AWS CLI)

    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 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)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。

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

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

      • describe-instances (AWS CLI)

        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 サポートを有効にするには、次のいずれかのコマンドを実行します。

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

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

      [ true ]
  6. ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用してインスタンスを起動します。start-instances (AWS CLI)、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 ドライバーが含まれています。次の表は、各リリースの変更をまとめたものです。

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

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 ヘッダーの無効な解析に伴うクラッシュを修正。

    • ベアメタルインスタンスにおける ENI デタッチ中のドライバー 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. サブスクリプションのチェックボックスを選択し、[アクション]、[サブスクリプションの削除] を選択します。確認を求めるメッセージが表示されたら、[削除] を選択します。