EC2 インスタンスで ENA による拡張ネットワーキングを有効にする
Amazon EC2 は、Elastic Network Adapter (ENA) を介してネットワーキング機能を提供します。拡張ネットワーキングを使用するには、必要な ENA ドライバーを定義した AMI を使用するか、必要な ENA ドライバーを手動でインストールする必要があります。その後、インスタンスで ENA サポートを有効にできます。
ENA ドライバーのリリースノートやインストール手順を確認するには、ご使用のインスタンスオペレーティングシステムプラットフォームに応じたタブを参照してください。
Nitro ベースのインスタンスの場合、拡張ネットワーキング機能はインスタンスタイプが実装する Nitro のバージョンによって異なります。
インスタンスのネットワーク仕様を確認するには、インスタンスタイプのインスタンスファミリーリンクを選択してください。適用されるインスタンスファミリーがわからない場合は、「Amazon EC2 インスタンスタイプ」ガイドの「Naming conventions」を参照してください。
ENA を使用した拡張ネットワーキングの前提条件
ENA を使用した拡張ネットワーキングを準備するには、次のようにインスタンスをセットアップします。
-
Nitro ベースのインスタンスを起動します。
-
インスタンスがインターネットに接続されていることを確認します。
-
保持する必要がある重要なデータがインスタンスにある場合、インスタンスから AMI を作成してそのデータをバックアップする必要があります。
enaSupport
属性を有効にすると共に、ENA カーネルドライバーを更新すると、互換性のないインスタンスがレンダリングされたり、オペレーティングシステムに接続できなくなったりする可能性があります。最近のバックアップがある場合は、これが発生してもデータは保持されます。 -
Linux インスタンス – インスタンスに対して ENA 拡張ネットワーキングが自動的に有効化されるように、サポートされているバージョンの Linux カーネルとサポートされているディストリビューションを使用してインスタンスを起動します。詳細については、ENA Linux Kernel Driver リリースノート
を参照してください。 -
Windows インスタンス – インスタンスで 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
属性が設定されているかどうかを確認するには、次のいずれかのコマンドを使用します。属性が設定されている場合、レスポンスは true です。
-
describe-instances (AWS CLI/AWS CloudShell)
aws ec2 describe-instances --instance-ids
instance_id
--query "Reservations[].Instances[].EnaSupport" -
Get-EC2Instance (Windows PowerShell 用のツール)
(Get-EC2Instance -InstanceId
instance-id
).Instances.EnaSupport
イメージ属性
AMI に拡張ネットワーキングの enaSupport
属性が設定されているかどうかを確認するには、次のいずれかのコマンドを使用します。属性が設定されている場合、レスポンスは true です。
-
describe-images (AWS CLI/AWS CloudShell)
aws ec2 describe-images --image-id
ami_id
--query "Images[].EnaSupport" -
Get-EC2Image (Windows PowerShell 用のツール)
(Get-EC2Image -ImageId
ami_id
).EnaSupport
Linux ネットワークインターフェイスドライバー
以下のコマンドを使用して、ena
カーネルドライバーが特定のインターフェイスで使用されていることを確認し、チェックするインターフェイス名に置き換えます。単一のインターフェイス (デフォルト) を使用している場合は、eth0
です。Linux ディストリビューションが予測可能なネットワーク名をサポートしている場合、これは ens5
のような名前である可能性があります。詳細については、インスタンスでの拡張ネットワーキングの有効化 の RHEL、SUSE、および CentOS のセクションを展開します。
以下の例では、リストされているドライバーは vif
であるため、ena
カーネルドライバーはロードされません。
[ec2-user ~]$
ethtool -i
eth0
driver: vif version: firmware-version: bus-info: vif-0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no
この例では、ena
カーネルドライバーが最小推奨バージョンでロードされています。このインスタンスでは、拡張ネットワーキングが適切に設定されています。
[ec2-user ~]$
ethtool -i
eth0
driver: ena version: 1.5.0g firmware-version: expansion-rom-version: bus-info: 0000:00:05.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no
インスタンスでの拡張ネットワーキングの有効化
使用する手順は、インスタンスのオペレーティングシステムによって異なります。
拡張ネットワーキングには ENA 搭載のカーネルドライバーが必要であり、Amazon Linux 2 と Amazon Linux AMI の最新バージョンであれば、そうしたドライバーが含まれ、ENA にも対応しています。したがって、サポートされるインスタンスタイプで HVM バージョンの Amazon Linux を使用してインスタンスを起動した場合、拡張ネットワーキングは既にインスタンスで有効になっています。詳細については、拡張ネットワーキングが有効化されているかどうかのテストを参照してください。
以前の Amazon Linux AMI を使用してインスタンスを起動し、まだ拡張ネットワーキングが有効になっていない場合、拡張ネットワーキングを有効にするには次の手順を実行します。
Amazon Linux AMI で拡張ネットワーキングを有効化するには
-
インスタンスに接続します。
-
インスタンスから、次のコマンドを実行して、
ena
を含む最新のカーネルドライバーでインスタンスを更新します。[ec2-user ~]$
sudo yum update
-
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを再起動します。reboot-instances (AWS CLI)、Restart-EC2Instance (AWS Tools for Windows PowerShell)。
-
インスタンスに再接続し、
ena
の modinfo ena コマンドを使用して、拡張ネットワーキングが有効化されているかどうかのテスト カーネルドライバーが最小推奨バージョンでインストールされていることを確認します。 -
[EBS-backed インスタンス] ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを停止します。stop-instances (AWS CLI)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
[Instance store-backed インスタンス] インスタンスを停止して属性を変更することはできません。代わりに、この手順に進んでください: Amazon Linux AMI で拡張ネットワーキングを有効にするには (Instance store-backed インスタンス)。
-
ローカルコンピュータから、次のいずれかのコマンドを使用して拡張ネットワーキングの属性を有効化します。
-
modify-instance-attribute (AWS CLI)
aws ec2 modify-instance-attribute --instance-id
instance_id
--ena-support -
Edit-EC2InstanceAttribute (Windows PowerShell 用のツール)
Edit-EC2InstanceAttribute -InstanceId
instance-id
-EnaSupport $true
-
-
(オプション) Amazon EBS-backed AMI を作成するの説明に従って、インスタンスから AMI を作成します。AMI は、インスタンスから拡張ネットワーキング
enaSupport
属性を継承します。このため、この AMI を使用することで、拡張ネットワーキングがデフォルトで有効になっている別のインスタンスを起動できます。 -
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを開始します。start-instances (AWS CLI)、Start-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
-
インスタンスに接続し、拡張ネットワーキングが有効化されているかどうかのテスト の ethtool -i eth
n
コマンドを使用して、ena
カーネルドライバーがインストールされ、ネットワークインターフェイスにロードされていることを確認します。拡張ネットワーキングを有効にした後にインスタンスに接続できない場合、Linux での ENA カーネルドライバーのトラブルシューティングを参照してください。
Amazon Linux AMI で拡張ネットワーキングを有効にするには (Instance store-backed インスタンス)
インスタンスを停止するステップまで、前の手順に従います。instance store-backed AMI を作成するに記述されているように、新しい AMI を作成します。AMI を登録するときに拡張ネットワーキング属性を有効にしてください。
-
register-image (AWS CLI)
aws ec2 register-image --ena-support
...
-
Register-EC2Image (AWS Tools for Windows PowerShell)
Register-EC2Image -EnaSupport $true
...
拡張ネットワーキングには ENA 搭載のカーネルドライバーが必要であり、最新の Ubuntu HVM AMI であれば、そうしたドライバーが含まれ、ENA にも対応しています。したがって、サポートされるインスタンスタイプで最新の Ubuntu HVM AMI を使用してインスタンスを起動した場合、拡張ネットワーキングは既にインスタンスで有効になっています。詳細については、拡張ネットワーキングが有効化されているかどうかのテストを参照してください。
以前の AMI を使用してインスタンスを起動した場合、まだ拡張ネットワーキングが有効になっていなければ、linux-aws
カーネルパッケージをインストールして最新の拡張ネットワーキングドライバーを取得して、必要な属性を更新できます。
linux-aws
カーネルパッケージをインストールするには (Ubuntu 16.04 以降)
Ubuntu 16.04 および 18.04 には、Ubuntu カスタムカーネル (linux-aws
カーネルパッケージ) が付属しています。別のカーネルを使用するには、AWS Support
linux-aws
カーネルパッケージをインストールするには (Ubuntu Trusty 14.04)
-
インスタンスに接続します。
-
パッケージキャッシュおよびパッケージを更新します。
ubuntu:~$
sudo apt-get update && sudo apt-get upgrade -y linux-aws
重要
更新プロセス中に
grub
をインストールするよう求められた場合は、/dev/xvda
のインストール先としてgrub
を使用し、現在のバージョンの/boot/grub/menu.lst
を保持することを選択します。 -
[EBS-backed インスタンス] ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを停止します。stop-instances (AWS CLI)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
[Instance store-backed インスタンス] インスタンスを停止して属性を変更することはできません。代わりに、この手順に進んでください: Ubuntu で拡張ネットワーキングを有効にするには (Instance store-backed インスタンス)。
-
ローカルコンピュータから、次のいずれかのコマンドを使用して拡張ネットワーキングの属性を有効化します。
-
modify-instance-attribute (AWS CLI)
aws ec2 modify-instance-attribute --instance-id
instance_id
--ena-support -
Edit-EC2InstanceAttribute (Windows PowerShell 用のツール)
Edit-EC2InstanceAttribute -InstanceId
instance-id
-EnaSupport $true
-
-
(オプション) Amazon EBS-backed AMI を作成するの説明に従って、インスタンスから AMI を作成します。AMI は、インスタンスから拡張ネットワーキング
enaSupport
属性を継承します。このため、この AMI を使用することで、拡張ネットワーキングがデフォルトで有効になっている別のインスタンスを起動できます。 -
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを開始します。start-instances (AWS CLI)、Start-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
Ubuntu で拡張ネットワーキングを有効にするには (Instance store-backed インスタンス)
インスタンスを停止するステップまで、前の手順に従います。instance store-backed AMI を作成するに記述されているように、新しい AMI を作成します。AMI を登録するときに拡張ネットワーキング属性を有効にしてください。
-
register-image (AWS CLI)
aws ec2 register-image --ena-support
...
-
Register-EC2Image (AWS Tools for Windows PowerShell)
Register-EC2Image -EnaSupport $true
...
拡張ネットワーキングには ENA 搭載のカーネルドライバーが必要であり、Red Hat Enterprise Linux、SUSE Linux Enterprise Server、および CentOS 用の最新の AMI であれば、そうしたドライバーが含まれ、ENA にも対応しています。したがって、サポートされるインスタンスタイプで最新の AMI を使用してインスタンスを起動した場合、拡張ネットワーキングは既にインスタンスで有効になっています。詳細については、拡張ネットワーキングが有効化されているかどうかのテストを参照してください。
次の手順では、Amazon Linux AMI または Ubuntu 以外の Linux ディストリビューションで拡張ネットワーキングを有効にするための一般的なステップを説明します。コマンドの詳細な構文、ファイルの場所、パッケージやツールのサポートなどの詳細については、使用する Linux ディストリビューションのドキュメントを参照してください。
Linux で拡張ネットワーキングを有効化するには
-
インスタンスに接続します。
-
https://github.com/amzn/amzn-drivers
の GitHub からインスタンスで ena
カーネルドライバーのソースコードのクローンを作成します。(SUSE Linux Enterprise Server 12 SP2 以降には、デフォルトで ENA 2.02 が含まれているため、ENA ドライバーをダウンロードしてコンパイルする必要はありません。SUSE Linux Enterprise Server 12 SP2 以降では、必要なドライバーバージョンを標準カーネルに追加するためリクエストを申請する必要があります。)git clone https://github.com/amzn/amzn-drivers
-
インスタンスで
ena
カーネルドライバーをコンパイルし、インストールします。これらの手順は Linux ディストリビューションによって異なります。Red Hat Enterprise Linux でのカーネルドライバーのコンパイルの詳細については、「RHEL を実行する Amazon EC2 インスタンスに拡張ネットワークサポート用の最新の ENS ドライバーをインストールする方法」を参照してください。 -
sudo depmod コマンドを実行して、カーネルドライバーの依存関係を更新します。
-
起動時に新しいカーネルドライバーがロードされるように、インスタンスの
initramfs
を更新します。例えば、ディストリビューションで dracut がサポートされる場合、次のコマンドを使用できます。dracut -f -v
-
システムがデフォルトで予測可能なネットワークインターフェイス名を使用するかどうかを確認します。systemd または udev のバージョン 197 以上を使用するシステムの場合、イーサネットデバイスの名前を変更でき、単一ネットワークインターフェイスの名前が
eth0
になることは保証されません。この動作は、インスタンスに接続する際に問題の原因となる可能性があります。詳細と他の設定オプションについては、freedesktop.org ウェブサイトでPredictable Network Interface Names/を参照してください。 -
次のコマンドを使用して、RPM ベースのシステムで systemd または udev のバージョンを確認できます。
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
行に追加することによって、予測可能なネットワークインターフェイス名を無効にします。sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
-
grub の設定ファイルを再ビルドします。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
-
[EBS-backed インスタンス] ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを停止します。stop-instances (AWS CLI)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
[Instance store-backed インスタンス] インスタンスを停止して属性を変更することはできません。代わりに、この手順に進んでください: Linux で拡張ネットワーキングを有効にするには (Instance store-backed インスタンス)。
-
ローカルコンピュータから、次のいずれかのコマンドを使用して拡張ネットワーキングの
enaSupport
属性を有効化します。-
modify-instance-attribute (AWS CLI)
aws ec2 modify-instance-attribute --instance-id
instance_id
--ena-support -
Edit-EC2InstanceAttribute (Windows PowerShell 用のツール)
Edit-EC2InstanceAttribute -InstanceId
instance-id
-EnaSupport $true
-
-
(オプション) Amazon EBS-backed AMI を作成するの説明に従って、インスタンスから AMI を作成します。AMI は、インスタンスから拡張ネットワーキング
enaSupport
属性を継承します。このため、この 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 コンソールでインスタンスを停止する必要があります。
-
(オプション) インスタンスに接続し、カーネルドライバーがインストールされていることを確認します。
拡張ネットワーキングを有効にした後にインスタンスに接続できない場合、Linux での ENA カーネルドライバーのトラブルシューティングを参照してください。
Linux で拡張ネットワーキングを有効にするには (Instance store-backed インスタンス)
インスタンスを停止するステップまで、前の手順に従います。instance store-backed AMI を作成するに記述されているように、新しい AMI を作成します。AMI を登録するときに拡張ネットワーキング属性を有効にしてください。
-
register-image (AWS CLI)
aws ec2 register-image --ena-support
...
-
Register-EC2Image (AWS Tools for Windows PowerShell)
Register-EC2Image -EnaSupport
...
この方法は、テストおよびフィードバックのみを目的としています。本番稼働用デプロイによる使用を目的としていません。本番稼働デプロイについては、Ubuntuを参照してください。
重要
DKMS を使用すると、サブスクリプションのサポート契約が無効になります。本稼働環境では使用しないでください。
Ubuntu で ENA を使用した拡張ネットワーキングを有効にするには (EBS-backed インスタンス)
-
Ubuntu のステップ 1 および 2 を行います。
-
build-essential
パッケージをインストールしてカーネルドライバーとdkms
パッケージをコンパイルし、カーネルが更新されるたびにena
カーネルドライバーが再構築されるようにします。ubuntu:~$
sudo apt-get install -y build-essential dkms
-
https://github.com/amzn/amzn-drivers
の GitHub からインスタンスで ena
カーネルドライバーのソースのクローンを作成します。ubuntu:~$
git clone https://github.com/amzn/amzn-drivers
-
amzn-drivers
パッケージを/usr/src/
ディレクトリに移動して、カーネルの更新のたびに DKMS がこのパッケージを見つけて構築できるようにします。ソースコードのバージョン番号 (現在のバージョン番号はリリースノートにあります) をディレクトリ名に付加します。例えば、バージョン1.0.0
は以下のようになります。ubuntu:~$
sudo mv amzn-drivers /usr/src/amzn-drivers-1.0.0
-
以下の値を使用して DKMS 設定ファイルを作成し、
ena
のバージョンに置き換えます。ファイルを作成します。
ubuntu:~$
sudo touch /usr/src/amzn-drivers-1.0.0/dkms.conf
ファイルを編集し、次の値を追加します。
ubuntu:~$
sudo vim /usr/src/amzn-drivers-1.0.0/dkms.conf PACKAGE_NAME="ena" PACKAGE_VERSION="1.0.0" CLEAN="make -C kernel/linux/ena clean" MAKE="make -C kernel/linux/ena/ BUILD_KERNEL=${kernelver}" BUILT_MODULE_NAME[0]="ena" BUILT_MODULE_LOCATION="kernel/linux/ena" DEST_MODULE_LOCATION[0]="/updates" DEST_MODULE_NAME[0]="ena" AUTOINSTALL="yes"
-
DKMS を使用して、インスタンスで
ena
カーネルドライバーを追加、構築、インストールします。DKMS にカーネルドライバーを追加します。
ubuntu:~$
sudo dkms add -m amzn-drivers -v 1.0.0
dkms コマンドでカーネルドライバーを構築します。
ubuntu:~$
sudo dkms build -m amzn-drivers -v 1.0.0
dkms を使用してカーネルドライバーをインストールします。
ubuntu:~$
sudo dkms install -m amzn-drivers -v 1.0.0
-
起動時に正しいカーネルドライバーがロードされるように、
initramfs
を再構築します。ubuntu:~$
sudo update-initramfs -u -k all
-
拡張ネットワーキングが有効化されているかどうかのテスト から modinfo ena コマンドを使用して、
ena
カーネルドライバーがインストールされていることを確認します。ubuntu:~$
modinfo ena filename: /lib/modules/3.13.0-74-generic/updates/dkms/ena.ko version: 1.0.0 license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 9693C876C54CA64AE48F0CA alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: vermagic: 3.13.0-74-generic SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int) parm: push_mode:Descriptor / header push mode (0=automatic,1=disable,3=enable) 0 - Automatically choose according to device capability (default) 1 - Don't push anything to device memory 3 - Push descriptors and header buffer to device memory (int) parm: enable_wd:Enable keepalive watchdog (0=disable,1=enable,default=1) (int) parm: enable_missing_tx_detection:Enable missing Tx completions. (default=1) (int) parm: numa_node_override_array:Numa node override map (array of int) parm: numa_node_override:Enable/Disable numa node override (0=disable) (int)
-
Ubuntu のステップ 3 に進みます。
インスタンスを起動し、すでに拡張ネットワーキングが有効になっていない場合、必要なネットワークアダプタードライバーをダウンロードしてインスタンスにインストールし、拡張ネットワーキングを有効にするように enaSupport
インスタンス属性を設定する必要があります。
拡張ネットワーキングを有効にするには
-
インスタンスに接続してローカル管理者としてログインします。
-
[Windows Server 2016 と 2019 のみ] 以下の EC2Launch PowerShell スクリプトを実行して、ドライバーのインストール後にインスタンスを設定します。
PS C:\>
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
-
インスタンスから、次のようにドライバーをインストールします。
-
インスタンスに最新のドライバーをダウンロード
します。 -
zip アーカイブを展開します。
-
install.ps1
PowerShell スクリプトを実行してドライバーをインストールします。注記
実行ポリシーエラーが発生した場合は、ポリシーを
Unrestricted
に設定します (デフォルトでは、Restricted
またはRemoteSigned
に設定されています)。コマンドラインで、Set-ExecutionPolicy -ExecutionPolicy Unrestricted
を実行し、次に PowerShell スクリプトinstall.ps1
を再度実行します。
-
-
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを停止します。stop-instances (AWS CLI/AWS CloudShell)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールでインスタンスを停止する必要があります。
-
次のように、インスタンスの ENA サポートを有効にします。
-
ローカルコンピュータから、次のいずれかのコマンドを実行して、インスタンスの EC2 インスタンス ENA サポート属性を確認します。属性が有効になっていない場合、出力は「[]」 または空白です。
EnaSupport
はデフォルトでfalse
に設定されます。-
describe-instances (AWS CLI/AWS CloudShell)
aws ec2 describe-instances --instance-ids
instance_id
--query "Reservations[].Instances[].EnaSupport" -
Get-EC2Instance (Windows PowerShell 用のツール)
(Get-EC2Instance -InstanceId
instance-id
).Instances.EnaSupport
-
-
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
-
-
前述のように describe-instances または Get-EC2Instance を使用して、属性が
true
に設定されていることを確認します。次のような出力が表示されます。[ true ]
-
-
ローカルコンピュータから、Amazon EC2 コンソールまたは次のいずれかのコマンドを使用して、インスタンスを開始します。start-instances (AWS CLI/AWS CloudShell)、Start-EC2Instance (AWS Tools for Windows PowerShell)。インスタンスを AWS OpsWorks で管理する場合、インスタンスの状態が同期し続けるために、AWS OpsWorks コンソールを使用してインスタンスを停止する必要があります。
-
インスタンスで、次のように ENA ドライバーがインストールされて有効であることを検証します。
-
ネットワークアイコンを右クリックして、[Open Network and Sharing Center] を選択します。
-
イーサネットアダプター ([Ethernet 2] など) を選択します。
-
[Details] を選択します。[Network Connection Details] で、[Description] が [Amazon Elastic Network Adapter] であることを確認します。
-
-
(オプション) インスタンスから AMI を作成します。AMI は、インスタンスから
enaSupport
属性を継承します。したがって、この AMI を使用して、ENA がデフォルトで有効になっている別のインスタンスを起動できます。