AWS EC2 t2 から t3 へ移行する為の step by step

AWS EC2 t2 から t3 へ移行する為の step by step

概要

AWS EC2 に t3 系インタスタンスが登場した為、サクッとできるかと思いきや、つまづいた箇所をまとめました。

今回対象のインスタンスは HVM で ubuntu 16.04.5 LTS を使用しました。

t2 と比べて t3 は何がいいの?

t2 から t3 へ移行する大まかな流れ

要は、ena モジュールをインストールし、EC2 ENA サポートを有効化する必要がありました。

  1. t2 インスタンス停止
  2. AMI 作成
  3. t2 インスタンス起動
  4. t2 インスタンスでカーネルモジュール(ena) のインストール
  5. ena モジュールインストール確認
  6. t2 インスタンス停止
  7. インスタンスタイプを t3 へ変更 (credit: unlimited もしたい場合はここで)
  8. t3 インスタンス起動

ENA って?

Elastic Network Adapter – Amazon EC2 向けの高性能パフォーマンスネットワークインターフェイス

プロセッサのワークロードを軽くし、ネットワークパケットと生成または処理を行う vCPU 間で短く効率的なパスを作成するために構築されています。

Linux インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化 には以下のように記載があります。

Amazon EC2 は、Elastic Network Adapter (ENA) を介して C5, C5d, F1, G3, H1, I3, m4.16xlarge, M5, M5d, P2, P3, R4, R5, R5d, X1, X1e, and z1d インスタンスに拡張されたネットワーキング機能を提供します。

拡張ネットワーキングは、Amazon EC2 コンソールから管理することはできません。

HVM インスタンスでのみサポート

まとめると、

  • Amazon EC2 向けの高性能パフォーマンスネットワークインターフェイス
  • HVM (Hardware-assited VM:完全仮想化) 環境でサポートされている。
  • PV (ParaVirtual:準仮想化) 環境ではサポートされない。
  • ENA というカーネルモジュールを介す事で、インスタンスに拡張されたネットワーキング機能が利用できる。

pv/hvm は AWS コンソール>EC2 説明の「仮想化」の項目で確認できます。
pv の場合は、 hvm の移行を検討する必要があります。

以下から設定に進みます。

ENA 有効化設定手順

以下前提とします。

  • AMI を取る等のバックアップが済んでいる。
  • t2.small から t3.small に移行する。

Ubuntu での拡張ネットワーキングの有効化

ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws

他OSの対応法も先ほどの Linux インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化 に記載されています。

W: mdadm: /etc/mdadm/mdadm.conf defines no arrays. エラーが発生した場合

`/etc/mdadm/mdadm.conf` ファイルに以下一文を追記します。

ARRAY <ignore> devices=<ルートデバイス>

自分の場合は以下の一文を一番下に追記して、もう一度 コマンド実行したら通りました。

ARRAY <ignore> devices=/dev/sda1

ena カーネルモジュールに関する情報表示

`modinfo ena` を実行し以下のように表示されれば OK です。

ubuntu:~$ modinfo ena

filename:       /lib/modules/4.4.0-81-generic/kernel/drivers/net/ethernet/amazon/ena/ena.ko
version:        1.1.2
license:        GPL
description:    Elastic Network Adapter (ENA)
author:         Amazon.com, Inc. or its affiliates
...

EC2 ENA サポート有効化

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

// ENA サポート設定
macOS%$ aws ec2 modify-instance-attribute --instance-id <instance id> --ena-support true

// EBS 最適化 (任意)
macOS%$ aws ec2 modify-instance-attribute --instance-id <instance id> --ebs-optimized

// credit unlimited 設定 (任意)
macOS%$ aws ec2 modify-instance-credit-specification --instance-credit-specification "InstanceId=i-<instance id>,CpuCredits=unlimited"

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

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

これで t3 デビューを飾ることができました♪

参照

AWS EC2 t2 から t3 へ移行する為の step by step

https://kenzo0107.github.io/2018/09/13/2018-09-14-aws-ec2-t2-t3-step-by-step/

Author

Kenzo Tanaka

Posted on

2018-09-14

Licensed under

コメント