LoginSignup
1
1

More than 5 years have passed since last update.

Nitroハイパーバイザーを使用したEC2インスタンスに移行するときの注意点

Last updated at Posted at 2019-02-22

簡単なようでハマったのでメモ。

前提

ローカル環境にaws-cliインストール済み。
ubuntu18環境。osアップデート済み。
以下はt2.smallからt3.smallに移行する例。

ENAの状態確認

instance
$ 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: vifだと無効。driver: enaだと有効。

local
$ aws ec2 describe-instances --instance-ids <instance-id> --query "Reservations[].Instances[].EnaSupport"

Trueが返ってくれば有効。

fstab設定確認

fstabでルートデバイス以外のボリュームをマウントしている場合。
t3にするとデバイスファイル名が変わるので、fstabで指定していると、マウントに失敗してOSのbootで失敗する。
fstabにnofailが入っていなければ入れておく。
text:/etc/fstab
/dev/xvdf /data xfs defaults,nofail 0 0

ENA有効化

有効化はaws-cliからのみ可能。

local
インスタンス停止
$ aws ec2 stop-instances --instance-ids <instance-id>

ENA有効化
$ aws ec2 modify-instance-attribute --instance-id <instance-id> --ena-support

EBS最適化
$ aws ec2 modify-instance-attribute --instance-id <instance-id> --ebs-optimized

インスタンスタイプ変更
$ aws ec2 modify-instance-attribute --instance-id <instance-id> --instance-type t3.small

インスタンス起動
$ aws ec2 start-instances --instance-ids <instance-id>

T2/T3 無制限設定は任意。(t3はデフォルトON)

local
$ aws ec2 modify-instance-credit-specification --instance-credit-specification "InstanceId=<instance-id>,CpuCredits=unlimited"

fstab設定

デバイスファイル名を確認。

instance
$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0         7:0    0 17.9M  1 loop /snap/amazon-ssm-agent/1068
loop1         7:1    0 87.9M  1 loop /snap/core/5328
loop2         7:2    0   18M  1 loop /snap/amazon-ssm-agent/930
loop3         7:3    0   91M  1 loop /snap/core/6405
loop4         7:4    0 12.7M  1 loop /snap/amazon-ssm-agent/495
nvme0n1     259:0    0   30G  0 disk 
nvme1n1     259:1    0    8G  0 disk 
└─nvme1n1p1 259:2    0    8G  0 part /

元々xvdfであったのがnvme0n1に変わっていた。

デバイスのUUIDを確認。

instance
$ blkid /dev/nvme0n1
/dev/nvme0n1: UUID="xxxxx" TYPE="xfs"

fstabを変更する。
デバイスファイル名は固定ではない。ここは要注意。
なのでUUIDを指定する。

/etc/fstab
UUID="xxxxx"       /data   xfs    defaults,nofail        0       0

インスタンス停止→起動で、マウントされて正常に起動される。

ENAが有効になっている。

instance
$ ethtool -i eth0
driver: ena
version: 2.0.2K
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

参考

https://qiita.com/m1104m/items/cecaa43c17ab54ecea67
https://blog.adachin.me/archives/7736
https://ryuzoji.com/archives/1041
https://qiita.com/isobecky74/items/4dddb4407ac7e5f2c45a

1
1
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
1