LoginSignup
18
16

More than 3 years have passed since last update.

[AWS][EC2] ENA対応必須のインスタンスタイプ(C5,M5,T3...)への変更

Last updated at Posted at 2018-08-30

ちょっと前から、弊社で提供している AMIMOTO AMI でも、新しいインスタンスタイプ C5, M5, T3 シリーズに対応してました。
新規でインスタンスをローンチする際は、それらの新しいインスタンスタイプを選択することが可能ですが、現在稼働中のインスタンスを変更するには、若干の注意が必要です。
これらのインスタンスタイプでは、新しいタイプのネットワークアダプターENAへの対応が必要となるためです。
Linux インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化

また、これらのインスタンスタイプへの変更は HVM のインスタンスでしかできません。
PVM版の AMIMOTO AMI をご利用いただいているお客様は、新しくインスタンスを起動してデータマイグレーションを実施していただくようお願いいたします。

以下の作業内容については T3インスタンスに移行して、料金を10%OFFしてみました。 を参考にしてます。
Thx! @HiranoFumio

ENA対応の確認方法

まず、インスタンスがENAに対応しているかを調べます。
インスタンスにSSH接続して、以下のコマンドを実行してください。

modinfo ena

実行した際に以下のようなメッセージが表示された場合は、すでに対応済みとなっていますので次項のOSアップデート作業は必要ありません。

$ modinfo ena
filename:       /lib/modules/4.14.33-51.37.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.33-51.37.amzn1.x86_64 SMP mod_unload modversions 
parm:           debug:Debug level (0=none,...,16=all) (int)

以下のような ERROR メッセージが表示された場合は、次項のOSアップデート作業を実施してください。

$ modinfo ena
ERROR: modinfo: could not find module ena

OSアップデート

前項で modinfo ena の結果が ERROR となった場合は、以下のコマンドでアップデートを実施してください。
作業前にスナップショットを作成しておいて、作業が失敗したときに元の状態に戻せるようにしておいた方が良いでしょう。
スナップショットの作成方法については、以下のFAQを参考にしてください。
スナップショットの作成と、スナップショットからのリストア

sudo yum update

その後、サーバを再起動してSSHログインを実施し modinfo ena コマンドを実行して、ENA対応が完了していることを確認してください。

ENA有効化とインスタンスタイプの変更

OSがENA対応していることが確認できたら、インスタンスのENAサポートオプションを有効にします。
この作業は AWS のダッシュボードから実施することはできませんので、AWS CLI (Command Line Interface) を使用して実施します。
これ以降の作業は、インスタンスにSSHして行うのではなく、自分のPCのターミナルで AWS CLI で実行します。AWS CLI のインストール方法については、以下のURLを参考にしてください。
AWS Command Line Interface のインストール

まず、対象となるインスタンスのインスタンスIDを調べます。
これは、AWSのダッシュボード等でご確認ください。
以下の AWS CLI のコマンド例ではインスタンスIDが i-xxxxxxxx として記載しておりますので、適宜読み替えてください。

ENAサポートを有効にする前に一度インスタンスを停止します。
AWS CLI で実施する場合は、以下のコマンドを実行します。
( --region などのパラメータは省いております、必要な方は追加してください)

aws ec2 stop-instances --instance-ids i-xxxxxxxx

次にインスタンスのENAサポートを有効にします。

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

ENAサポートを有効にしたら、インスタンスタイプを変更します。
( --instance-type t3.micro の部分は変更したいインスタンスタイプに合わせて適宜変更してください。

aws ec2 modify-instance-attribute --instance-id i-xxxxxxxx \
    --instance-type t3.micro

T2 から T3 に変更する場合、T2では対応していなかった「EBS最適化」オプションが、T3では設定可能となります。
EBS最適化オプションを有効にするには、以下のコマンドを実行します。

aws ec2 modify-instance-attribute --instance-id i-xxxxxxxx --ebs-optimized

EBS最適化については、以下のURLを参考にしてください。
Amazon EBS 最適化インスタンス

最後にインスタンスを起動すれば作業は完了となります。

aws ec2 start-instances --instance-ids i-xxxxxxxx
18
16
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
18
16