LoginSignup
1
5

More than 5 years have passed since last update.

[AWS] t2.microのUbuntuインスタンスをt3.microに移行してみた(ENA有効化が必要だった)

Last updated at Posted at 2018-08-24

2018.08.21 に T3インスタンスがリリースされました

T2インスタンスよりも費用対効果が高い 1 とのことで、早速 t2.microの Ubuntuインスタンスを t3.microに移行してみたので手順をまとめておきます。

設定変更してみる

まず、普通にコンソールからインスタンスタイプを変更してみます。

image.png

エラーになってしまいました。

image.png

Enhanced networking with the Elastic Network Adapter (ENA) is required for the 't3.micro' instance type. Ensure that your instance 'i-xxxxxxxx' is enabled for ENA.

対応手順

エラーメッセージの通りですが、T3シリーズでは Elastic Network Adapter(ENA)が有効になっている必要があるとのこと。手順は こちらにあったので、実行してみます。

まず現在の設定確認(Ubuntuでは場合によってモジュールのインストール)が必要なようなので、いったん t2.microに戻して再起動します...

拡張ネットワーキングが有効化されているかどうかのテストを実行(modinfo コマンドを使用)

$ modinfo ena
filename:       /lib/modules/4.4.0-133-generic/kernel/drivers/net/ethernet/amazon/ena/ena.ko
version:        1.2.0k
license:        GPL
description:    Elastic Network Adapter (ENA)
author:         Amazon.com, Inc. or its affiliates
srcversion:     7B924BDFCB1CD24561555AB
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
vermagic:       4.4.0-133-generic SMP mod_unload modversions retpoline
parm:           debug:Debug level (0=none,...,16=all) (int)

インストールされていない場合はエラーが返ってくるとのことなので、インストールされています。

インスタンス属性 (enaSupport)の確認

$ aws ec2 describe-instances --instance-ids i-xxxxxxxx --query "Reservations[].Instances[].EnaSupport"
[]

結果が空なので無効になっています。

ネットワークインターフェイスドライバーの確認

$ ethtool -i eth0
driver: vif
version:
firmware-version:
expansion-rom-version:
bus-info: vif-0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

リストされているドライバは vif であるため、ena モジュールはロードされていません。

インスタンスを停止して、設定を変更します。

$ aws ec2 modify-instance-attribute --instance-id i-xxxxxxxx --ena-support

結果が何も返ってこなければ正常終了です。

設定変更されたことの確認

$ aws ec2 describe-instances --instance-ids i-xxxxxxxx --query "Reservations[].Instances[].EnaSupport"
[
    true
]

有効になりました。

再度インスタンスを起動して、ネットワークインターフェイスドライバーの確認

$ ethtool -i eth0
driver: vif
version:
firmware-version:
expansion-rom-version:
bus-info: vif-0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

手順では driver: ena になるように読めますが変わっていません・・・

他に設定個所は無いので、ひとまずインスタンスタイプをT3に変更して起動してみると、無事起動できました。

image.png

T3への変更後にネットワークインターフェイスドライバーの確認をすると、

$ ethtool -i eth0
driver: ena
version: 1.2.0k
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

driver: ena になったことが確認できました。アプリケーションも問題なく動作しています。

参考資料


  1. 無料利用枠の対象外のため 、アカウントの利用状況によっては例外があるかも。 

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5