Intel 82599 VF インターフェイスを使用する拡張ネットワーキング
Xen ベースのインスタンス の場合、Intel 82599 仮想関数 (VF) インターフェイスは拡張ネットワーキング機能を提供します。インターフェイスは Intel ixgbevf
ドライバーを使用します。
次のタブは、インスタンスオペレーティングシステムにインストールされているネットワークアダプタードライバーを確認する方法を示しています。
拡張ネットワーキング用のインスタンスの準備
Intel 82599 VF インターフェイスを使用した拡張ネットワーキングを準備するには、次のようにインスタンスをセットアップします。
-
インスタンスタイプが C3、C4、D2、I2、M4 (
m4.16xlarge
を除く)、R3 のいずれかであることを確認します。 -
インスタンスがインターネットに接続されていることを確認します。
-
保持する必要がある重要なデータがインスタンスにある場合、インスタンスから AMI を作成してそのデータをバックアップする必要があります。
sriovNetSupport
属性を有効にするとともに、カーネルおよびカーネルモジュールを更新すると、互換性のないインスタンスがレンダリングされたり、オペレーティングシステムに接続できなくなったりする可能性があります。最近のバックアップがある場合は、これが発生してもデータは保持されます。 -
Linux インスタンス – Linux カーネルバージョン 2.6.32 以降を使用して、HVM AMI からインスタンスを起動します。最新の Amazon Linux HVM AMI では、拡張ネットワーキングに必要なモジュールがインストールされており、必要な属性も設定されています。したがって、最新の Amazon Linux HVM AMI を使用して、拡張ネットワーキングがサポートされている Amazon EBS–backed インスタンスを起動した場合は、インスタンスで拡張ネットワーキングが既に有効化されています。
警告
拡張ネットワーキングは、HVM インスタンスでのみサポートされています。PV インスタンスで拡張ネットワーキングを有効にすると、このインスタンスに到達できなくなります。また、適切なモジュールまたはモジュールバージョンを使用せずにこの属性を設定すると、インスタンスにアクセスできなくなる場合があります。
-
Windows インスタンス – 64 ビット HVM AMI からインスタンスを起動します。Windows Server 2008 では拡張ネットワーキングを有効にできません。Windows Server 2012 R2 および Windows Server 2016 以降の AMI では、拡張ネットワーキングが既に有効になっています。Windows Server 2012 R2 にはインテルドライバー 1.0.15.3 が含まれており、Pnputil.exe ユーティリティを使用してそのドライバーを最新のバージョンにアップグレードすることをお勧めします。
-
選択した任意のコンピュータ、できればローカルのデスクトップまたはノートパソコンで、AWS Management Console から AWS CloudShell
を使用するか、AWS CLI もしくは AWS Tools for Windows PowerShell をインストールし設定します。詳細については、Amazon EC2 へのアクセスもしくは AWS CloudShell ユーザーガイドを参照してください。拡張ネットワーキングは、Amazon EC2 コンソールから管理することはできません。
拡張ネットワーキングが有効化されているかどうかのテスト
sriovNetSupport
属性が設定されていることを確認します。
インスタンス属性 (sriovNetSupport)
インスタンスに拡張ネットワーキングの sriovNetSupport
属性が設定されているかどうかを確認するには、次のいずれかのコマンドを使用します。属性が設定されている場合、値は simple
になります。
-
describe-instance-attribute (AWS CLI) (AWS CLI/AWS CloudShell)
aws ec2 describe-instance-attribute --instance-id
instance_id
--attribute sriovNetSupport -
Get-EC2InstanceAttribute (AWS Tools for Windows PowerShell)
Get-EC2InstanceAttribute -InstanceId
instance-id
-Attribute sriovNetSupport
イメージ属性 (sriovNetSupport)
AMI に拡張ネットワーキングの sriovNetSupport
属性が既に設定されているかどうかを確認するには、次のいずれかのコマンドを使用します。属性が設定されている場合、値は simple
になります。
-
describe-images (AWS CLI)
aws ec2 describe-images --image-id
ami_id
--query "Images[].SriovNetSupport" -
Get-EC2Image (AWS Tools for Windows PowerShell)
(Get-EC2Image -ImageId
ami-id
).SriovNetSupport
インスタンスでの拡張ネットワーキングの有効化
使用する手順は、インスタンスのオペレーティングシステムによって異なります。
警告
拡張ネットワーキング属性は、いったん有効にすると無効にする方法はありません。
最新の Amazon Linux HVM AMI では、拡張ネットワーキングに必要な ixgbevf
モジュールがインストールされており、必要な sriovNetSupport
属性も設定されています。したがって、最新の Amazon Linux HVM AMI を使用してインスタンスタイプを起動した場合は、拡張ネットワーキングが既にインスタンスに対して有効になっています。詳細については、拡張ネットワーキングが有効化されているかどうかのテストを参照してください。
以前の Amazon Linux AMI を使用してインスタンスを起動し、まだ拡張ネットワーキングが有効になっていない場合、拡張ネットワーキングを有効にするには次の手順を実行します。
拡張ネットワーキングを有効にするには
-
インスタンスに接続します。
-
インスタンスから、次のコマンドを実行して、
ixgbevf
を含む最新のカーネルとカーネルモジュールでインスタンスを更新します。[ec2-user ~]$
sudo yum update -
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを再起動します。reboot-instances (AWS CLI)、Restart-EC2Instance (AWS Tools for Windows PowerShell)。
-
インスタンスに再接続し、
ixgbevf
の modinfo ixgbevf コマンドを使用して、拡張ネットワーキングが有効化されているかどうかのテスト モジュールがインストールされ、最小推奨バージョンであることを確認します。 -
[EBS-backed インスタンス] ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを停止します。stop-instances (AWS CLI)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
[Instance store-backed インスタンス] インスタンスを停止して属性を変更することはできません。代わりに、次の手順に進みます。
-
ローカルコンピュータから、次のいずれかのコマンドを使用して拡張ネットワーキングの属性を有効化します。
-
(オプション) Amazon EBS-backed AMI を作成するの説明に従って、インスタンスから AMI を作成します。AMI は、インスタンスから拡張ネットワーキング属性を継承します。このため、この AMI を使用することで、拡張ネットワーキングがデフォルトで有効になっている別のインスタンスを起動できます。
-
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを開始します。start-instances (AWS CLI)、Start-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
-
インスタンスに接続し、拡張ネットワーキングが有効化されているかどうかのテスト の ethtool -i eth
n
コマンドを使用して、ixgbevf
モジュールがインストールされ、ネットワークインターフェイスにロードされていることを確認します。
拡張ネットワーキングを有効にするには (Instance store-backed インスタンス)
インスタンスを停止するステップまで、前の手順に従います。instance store-backed AMI を作成するに記述されているように、新しい AMI を作成します。AMI を登録するときに拡張ネットワーキング属性を有効にしてください。
開始する前に、インスタンスで拡張ネットワーキングがすでに有効になっているかどうかを確認します。
クイックスタート Ubuntu HVM AMI には、拡張ネットワーキングに必要なドライバーが搭載されています。ixgbevf
2.16.4 より前のバージョンを使用している場合は、linux-aws
カーネルパッケージをインストールして最新の拡張ネットワーキングドライバーを取得できます。
以下の手順は、Ubuntu インスタンスで ixgbevf
モジュールをコンパイルするための一般的なステップを示しています。
linux-aws
カーネルパッケージをインストールするには
-
インスタンスに接続します。
-
パッケージキャッシュおよびパッケージを更新します。
ubuntu:~$
sudo apt-get update && sudo apt-get upgrade -y linux-aws重要
更新プロセス中に
grub
をインストールするよう求められた場合は、/dev/xvda
のインストール先としてgrub
を使用し、現在のバージョンの/boot/grub/menu.lst
を保持することを選択します。
開始する前に、インスタンスで拡張ネットワーキングがすでに有効になっているかどうかを確認します。最新のクイックスタート HVM AMI には、拡張ネットワーキングに必要なドライバーが含まれているため、追加ステップを実行する必要はありません。
次の手順では、Amazon Linux または Ubuntu 以外の Linux ディストリビューションで Intel 82599 VF インターフェイスを使用した拡張ネットワーキングを有効にする必要がある場合の一般的なステップを説明します。コマンドの詳細な構文、ファイルの場所、パッケージやツールのサポートなどの詳細については、使用する Linux ディストリビューションのドキュメントを参照してください。
Linux で拡張ネットワーキングを有効化するには
-
インスタンスに接続します。
-
Sourceforge (https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/
) からインスタンスに ixgbevf
モジュールのソースをダウンロードします。ixgbevf
の 2.16.4 より前のバージョン (バージョン 2.14.2 を含む) は、一部の Linux ディストリビューション (特定のバージョンの Ubuntu など) では適切にビルドされません。 -
インスタンスで
ixgbevf
モジュールをコンパイルし、インストールします。警告
現在のカーネルに
ixgbevf
モジュールをコンパイルし、新しいカーネルをドライバを再構築しないで更新すると、システムは次回の再起動の際にディストリビューション固有のixgbevf
モジュールに戻る場合があります。これにより、ディストリビューション固有のバージョンが拡張ネットワーキングと互換性がない場合に、システムに接続できなくなります。 -
sudo depmod コマンドを実行して、モジュールの依存関係を更新します。
-
起動時に新しいモジュールがロードされるように、インスタンスの
initramfs
を更新します。 -
システムがデフォルトで予測可能なネットワークインターフェイス名を使用するかどうかを確認します。systemd または udev のバージョン 197 以上を使用するシステムの場合、イーサネットデバイスの名前を変更でき、単一ネットワークインターフェイスの名前が
eth0
になることは保証されません。この動作は、インスタンスに接続する際に問題の原因となる可能性があります。詳細と他の設定オプションについては、freedesktop.org ウェブサイトでPredictable Network Interface Names/を参照してください。 -
次のコマンドを使用して、RPM ベースのシステムで systemd または udev のバージョンを確認できます。
[ec2-user ~]$
rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+'
systemd-208-11.el7_0.2.x86_64
上記の Red Hat Enterprise Linux 7 の例では、systemd のバージョンは 208 であるため、予測可能なネットワークインターフェイス名は無効になっている必要があります。
-
net.ifnames=0
オプションをGRUB_CMDLINE_LINUX
の/etc/default/grub
行に追加することによって、予測可能なネットワークインターフェイス名を無効にします。[ec2-user ~]$
sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub -
grub の設定ファイルを再ビルドします。
[ec2-user ~]$
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
-
[EBS-backed インスタンス] ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用してインスタンスを停止します。stop-instances (AWS CLI/AWS CloudShell)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
[Instance store-backed インスタンス] インスタンスを停止して属性を変更することはできません。代わりに、次の手順に進みます。
-
ローカルコンピュータから、次のいずれかのコマンドを使用して拡張ネットワーキングの属性を有効化します。
-
(オプション) Amazon EBS-backed AMI を作成するの説明に従って、インスタンスから AMI を作成します。AMI は、インスタンスから拡張ネットワーキング属性を継承します。このため、この AMI を使用することで、拡張ネットワーキングがデフォルトで有効になっている別のインスタンスを起動できます。
インスタンスオペレーティングシステムに
/etc/udev/rules.d/70-persistent-net.rules
が含まれている場合には、AMI を作成する前にそれを削除する必要があります。このファイルには、元のインスタンスのイーサネットアダプターの MAC アドレスが保存されています。別のインスタンスがこのファイルを使用して起動した場合、オペレーティングシステムがそのデバイスを検出できなくなり、eth0
が失敗して、起動に関する問題が発生することがあります。このファイルは次の起動サイクルで再び生成され、AMI から起動されるインスタンスごとに独自のバージョンが作成されます。 -
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを開始します。start-instances (AWS CLI)、Start-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
-
(オプション) インスタンスに接続し、モジュールがインストールされていることを確認します。
拡張ネットワーキングを有効にするには (Instance store-backed インスタンス)
インスタンスを停止するステップまで、前の手順に従います。instance store-backed AMI を作成するに記述されているように、新しい AMI を作成します。AMI を登録するときに拡張ネットワーキング属性を有効にしてください。
インスタンスを起動し、すでに拡張ネットワーキングが有効になっていない場合、必要なネットワークアダプタードライバーをダウンロードしてインスタンスにインストールし、拡張ネットワーキングを有効にするように sriovNetSupport
インスタンス属性を設定する必要があります。この属性を有効にできるのは、サポートされるインスタンスタイプのみです。詳細については、「Amazon EC2 インスタンスでの拡張ネットワーキング」を参照してください。
重要
Windows AMI の最新のドライバーアップデートを確認するには、AWS Windows AMI リファレンスの「Windows AMI のバージョン履歴」を参照してください。
拡張ネットワーキングを有効にするには
-
インスタンスに接続してローカル管理者としてログインします。
-
[Windows Server 2016 以降] ドライバーがインストールされたら以下の EC2 Launch PowerShell スクリプトを実行し、インスタンスを設定します。
PS C:\>
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule重要
管理者パスワードは、インスタンス初期化 EC2 Launch スクリプトを有効にするとリセットされます。初期化タスクの設定で指定することで、管理者パスワードのリセットを無効にするように設定ファイルを変更できます。
-
インスタンスから、OS 用の Intel ネットワークアダプタードライバーをダウンロードします。
-
[Windows Server 2022]
ダウンロードページ
と Wired_driver_
のダウンロードを見てください。version
_x64.zip -
Windows Server 2019 Server バージョン 1809 以降を含む*
ダウンロードページ
と Wired_driver_
のダウンロードを見てください。version
_x64.zip -
Windows Server 2016 Server バージョン 1803 以前を含む*
ダウンロードページ
と Wired_driver_
のダウンロードを見てください。version
_x64.zip -
[Windows Server 2012 R2
ダウンロードページ
と Wired_driver_
のダウンロードを見てください。version
_x64.zip -
Windows Server 2012
ダウンロードページ
と Wired_driver_
のダウンロードを見てください。version
_x64.zip -
Windows Server 2008 R2
ダウンロードページ
と PROWinx64Legacy.exe
のダウンロードを見てください。
*Server バージョン 1803 以前および 1809 以降は、Intel のドライバーおよびソフトウェアのページでは特に扱われていません。
-
-
OS 用の Intel ネットワークアダプタードライバーをインストールします。
-
Windows Server 2008 R2
-
ダウンロードフォルダで、
PROWinx64Legacy.exe
ファイルを見つけて、名前をPROWinx64Legacy.zip
に変更します。 -
PROWinx64Legacy.zip
ファイルの内容を展開します。 -
コマンドラインを開き、抽出されたフォルダに移動し、
pnputil
ユーティリティを使用して次のコマンドを実行して、ドライバーストアで INF ファイルを追加およびインストールします。C:\>
pnputil -a PROXGB\Winx64\NDIS62\vxn62x64.inf
-
-
Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、および Windows Server 2012
-
ダウンロードフォルダで、
Wired_driver_
ファイルの内容を展開します。version
_x64.zip -
抽出されたフォルダで、
Wired_driver_
ファイルを見つけて、名前をversion
_x64.exeWired_driver_
に変更します。version
_x64.zip -
Wired_driver_
ファイルの内容を展開します。version
_x64.zip -
コマンドラインを開き、抽出されたフォルダに移動し、
pnputil
ユーティリティを使用して次のコマンドのいずれかを実行して、ドライバーストアで INF ファイルを追加およびインストールします。-
Windows Server 2022
C:\>
pnputil -i -a PROXGB\Winx64\WS2022\vxs.inf -
Windows Server 2019
C:\>
pnputil -i -a PROXGB\Winx64\NDIS68\vxn68x64.inf -
Windows Server 2016
C:\>
pnputil -i -a PROXGB\Winx64\NDIS65\vxn65x64.inf -
Windows Server 2012 R2
C:\>
pnputil -i -a PROXGB\Winx64\NDIS64\vxn64x64.inf -
Windows Server 2012
C:\>
pnputil -i -a PROXGB\Winx64\NDIS63\vxn63x64.inf
-
-
-
-
ローカルコンピュータから、次のいずれかのコマンドを使用して拡張ネットワーキングの属性を有効化します。
-
(オプション) Amazon EBS-backed AMI を作成するの説明に従って、インスタンスから AMI を作成します。AMI は、インスタンスから拡張ネットワーキング属性を継承します。このため、この AMI を使用することで、拡張ネットワーキングがデフォルトで有効になっている別のインスタンスを起動できます。
-
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを開始します。start-instances (AWS CLI)、Start-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
接続に関する問題のトラブルシューティング
拡張ネットワーキングを有効化しているときに接続が失われると、ixgbevf
モジュールとカーネルの互換性が保たれない可能性があります。この場合、インスタンスの Linux ディストリビューションに含まれる ixgbevf
モジュールのバージョンをインストールしてみます。
PV インスタンスまたは AMI で拡張ネットワーキングを有効にすると、お使いのインスタンスに到達できなくなります。
詳細については、「EC2 インスタンスで拡張ネットワーキングを有効化および設定する方法