AWS
EC2

T3インスタンスに移行して、料金を10%OFFしてみました。

T3がリリースされました

AWSのEC2には様々なインスタンスファミリーがあります。その中でも一番お手頃なものがTシリーズです。私の周りのAWSアカウントを除いても、t2.microがゴロゴロしています。
そんなTシリーズの最新インスタンスT3がリリースされました。

T3インスタンスリリースされました
T3インスタンスの性能をWordPress環境で確認してみた

いいことづくしなので、使わない理由ないですよね。
ということで、今あるt2.microをt3.microにアップグレードしてみました。

t2.xxxx->t3.xxxxへの変更手順

コントーロールパネルで変更

インスタンスの変更は、基本的にはコントロールパネルでインスタンスを選択して
1. [インスタンスの状態]->[停止]
2. [インスタンスの設定]->[インスタンスタイプの変更]
3. [インスタンスの状態]->[開始]
とすればOKです。
インスタンスタイプの一覧でt3.xxxxが選べるようになっています
スクリーンショット 2018-08-26 9.32.06のコピー.png

つまずきポイント

上記で「基本的には」と書いたのは理由があります。変更後、インスタンスを開始しようとすると、

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

というエラーが表示される場合があります。
スクリーンショット 2018-08-24 7.20.47のコピー.png

これは、T3インスタンスが新しいタイプのネットワークアダプターENAへの対応が必須のためです。
以下、対応方法を説明します。

ENA対応準備

ENAへの対応は3ステップ

  1. 一旦t2.xxxxに戻し、インスタンスを起動する。
  2. SSHでログインしてENA対応環境にアップデートする
  3. CLIでENAを有効化する

CLIはあらかじめ下記を参考に環境を準備しておいてください。
AWS CLIをインストール

念のためバックアップを

コントロールパネルでインスタンスを選択して
[イメージ]->[イメージの作成]
として、AMIを作成するのが簡単です。

ENA対応環境へのアップデート

まずログイン

mac$ ssh -i xxxx.pem ec2-user@xxx.xxx.xxx.xxx

modinfoコマンドでENAが無効であることを確認

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

そしてアップデート

$ sudo yum update

アップデートが完了したら
- ログアウト
- インスタンスの再起動
- 再ログイン
してください

再度modinfoコマンドで確認

$ modinfo ena
filename:       xxxxxx
version:        xxxxxx
.....
.....

これでアップデート完了。

詳しくはAWS公式アップデート手順へ

ENA有効化

以下、AWS CLIで行います
(例では--profile --region等のオプションは外しています。必要な方は追加してください)

インスタンスの停止

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

ENA有効化

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

インスタンス起動

mac$ aws ec2 start-instances --instance-ids i-xxxxxxxx

これで、ENA有効化できました。
再度t2->t3への変更手順を実行してください。

まとめ

今回、4年ぶりのアップデートとなりました。

前回のt1->t2の時は仮想化方式の変更(PV->HVM)だったため移行が煩雑でしたが、今回は比較的簡単に移行できました。

また、T3インスタンスの単価は、T2と比べ10%ダウンしていることもメリットです。

インスタンス 金額
t2.micro $0.0152
t3.micro $0.0136

検証は必要ですが、移行のメリットは大きそうです。

メモ

T3のテクニカルな側面、NITROについてのメモです

  • T3ではハイパーバイザーがNITROに。(T2はZEN)
  • オーバヘッドが小さくなりパフォーマンスが向上。
  • その仕組みを垣間見れるセッションがre:Invent 2017のレポート資料に。【レポート】 EC2仮想基盤の進化