【AWS】t2からt3インスタンスに変更しようとしたらエラーが発生した話

このブログ、実は維持費が月間1万円くらいかかっています。主にAWSの費用なのですが、最近のグーグルの検索ロジック変更の煽りなんて受けたりして、広告費用で稼いでる分がだんだんペイしなくなっていることからRI(リザーブドインスタンス)を購入することにしました。

RIは予めサーバを決まったスペックで1年分とか一括購入することによって費用を削減できる方法なので、サーバのインスタンスタイプが決っているのであれば買ったほうがお得だよねという判断です。それで、どのインスタンスタイプで買おうかと考えていたのですが、コストエクスプローラを眺めていたところ、

いま、インスタンス(サーバ)を2台稼働させているのですが、t2.smallとt3.microの2つでそんなにコスト変わらないのかなと思っていたら、

  • t2.smallが月間22ドル
  • <li>t3.microが月間10ドル</li></ul>
    

    と2倍以上のコスト差が発生していることに気が付きました。

    t3は去年出た新しいインスタンスタイプですが、t2の次世代インスタンスタイプでコストパフォーマンスがt2より高いことが知られています。(具体的には10%コストダウンしているようです。)この際、t2.smallは止めてt3.microに移行することにしました。smallからmicroだとその分のコストもダウンするはずです。

    インスタンスタイプを変更するためには

    1. インスタンスの停止
    2. <li>インスタンスタイプの変更</li>
      
      <li>インスタンスの起動</li></ol>
      

      という順番で簡単に変えられるのですが、インスタンスの起動をしようとしたら下記のようなエラーが発生しました。

      「Enhanced networking with the Elastic Network Adapter (ENA) is required for the 't3.micro' instance type. Ensure that your instance 'i-59b827ab' is enabled for ENA.」

      これはt3インスタンスが新しいタイプのネットワークアダプターENAへの対応が必須のため発生するようです。対応方法としては

      <ol>
      

    3. 一旦t2.xxxxに戻し、インスタンスを起動する。
    4. <li>CLIでENAを有効化する</li>
      
      <li>再度、インスタンスタイプを変更する</li></ol>
      

      という手順で解決できました。

      CLIでENAを有効化は

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

      とローカルからCLIで実行できます。ENAを有効化できたので無事インスタンスタイプをt3.microに変更できコスト削減できました。

      ちなみにt3.microに切り替えてRIインスタンスを買うことによって月間コストがEC2インスタンスだけで40ドルから12ドルに削減できました。もっと早く買えばよかった・・・。