3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS7でT2からT3へ変更時のNIC名変更への対応

Last updated at Posted at 2019-06-25

はじめに

AWSでCentOS7で動いているEC2インスタンスをNitro世代(C5、M5、T3、…)に変更する際に
ハマったので、誰かの助けになればと思いメモっておきます。

通常の手順

Nitroシステムを使うにはENAを有効にする必要があり、AWSの公式リファレンスやググってみると
以下のような手順が出ます

  • ixgbevfモジュールを入れる
  • enaモジュールを入れる(kernelアップデート)
  • インスタンス停止
  • modify-instance-attributeでena-supportを有効にする
  • インスタンスタイプ変更
  • インスタンス起動

CentOS7の場合、上記だけで対応できない部分があったので、その解決方法を紹介します。

ハマりポイント

CentOS7からNIC名はensXのような名前となり、従来のethXではなくなっています。
ですが、AWS EC2インスタンスのNitro世代前のインスタンスタイプでは、デフォルトでeth0が
使われます。

これをNitro世代に変更するとensXという名称が使われるようになります。
(カーネル起動オプションなどで固定はできますが、クラウド上でそこいじりたくない、という前提)

そのままENA有効化して起動してもネットワークが繋がりません。
以下のその際にシスログに出力される内容です。MetaDataアクセスができていません。

Jun 25 10:47:02 sva0110 journal: [CLOUDINIT] url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [87/120s]: unexpected error ['NoneType' object has no attribute 'status_code']

変更後の手順

  • ixgbevfモジュールを入れる
  • enaモジュールを入れる(kernelアップデート)
  • cloud-initアップデート
  • インスタンス停止
  • modify-instance-attributeでena-supportを有効にする
  • AMI作成
  • AMIからNitro世代インスタンスタイプを指定して起動

解説

最新版のcloud-init(現時点:18.2-1)ではインスタンス初回起動時の処理でethXからensXへの
変更も行ってくれるようです!
なので、AMIを作ってAMIからインスタンス作成すればNitro世代でも起動できるようになります。

まとめ

書いている途中に カーネル起動オプションを修正している公式な手順が見つかりました!!
https://aws.amazon.com/jp/premiumsupport/knowledge-center/install-ena-driver-rhel-ec2/
ということで、意味のない記事になってしまいましたが、もしかしたらこっちの手順の方がよいという
人もいるかもしれないので、そのまま公開します。

最後に、こっちもハマりどころだと思うので紹介しておきます。
NITRO世代(T3など)へのEC2インスタンスタイプ変更ではfstabに注意

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?