つい先日EC2にT3インスタンスがリリースされた為、T2から移行しようとした際に表題のElastic Network Adapter(ENA)問題により移行が出来なかった。
元々はT1からT2に移行したこともある古いインスタンスだった為かと思いますが、
updateをきちんと行っていれば有効に出来るらしいので有効化してみました。
環境:
- Amazon Linux AMI release 2018.03
参考:
RHEL 7.4 で AWS の Elastic Network Adapter を有効にしてみる
用意するもの:
- 該当のインスタンス以外でAWS CLIが使える環境
今回はLinuxにAWS CLIのセットアップを行った為、Linux向けのコマンドを記載しています。
まずはenaモジュールがインストールされていること確認。
対象のインスタンスで下記コマンドを実行。
$ modinfo ena filename: /lib/modules/4.14.59-64.43.amzn1.x86_64/kernel/drivers/amazon/net/ena/ena.ko version: 1.5.0g license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 692C7C68B8A9001CB3F31D0 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: retpoline: Y intree: Y name: ena vermagic: 4.14.59-64.43.amzn1.x86_64 SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int)
情報が出るのでインストールはされている。
次にenaが使われているか確認。
これも対象のインスタンスで実行。
$ 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
driver: vif となっていることから、enaは使われていない。
余談ですが、この状態で管理コンソールからenaが必須のインスタンスタイプに変更して開始した際は下記アラートが出て開始出来ませんでした。
ということで、enaの有効化を行う。
まずは対象のインスタンスを停止。
停止後、AWS CLIをセットアップした環境から下記コマンドを実行しenaを有効化する。
$ aws ec2 modify-instance-attribute --instance-id 【インスタンスID】 --ena-support
このコマンドは実行後に何も返って来ない為、別のコマンドで有効化されたことを確認する。
$ aws ec2 describe-instances --instance-id 【インスタンスID】 --query 'Reservations[].Instances[].EnaSupport' [ true ]
trueが返ってくれば有効化されている。
無効の場合は下記となる。
$ aws ec2 describe-instances --instance-id 【インスタンスID】 --query 'Reservations[].Instances[].EnaSupport' []
この状態で対象のインスタンスを開始する。
起動後、SSHでログインし再度確認。
$ ethtool -i eth0 driver: ena version: 1.5.0g firmware-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
driver: ena となった為、enaが使われている。