【速報】高いパフォーマンスが継続できるT2 Unlimitedがリリースされました!! #reinvent

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

T2なのに息切れしない

Amazon EC2のT2インスタンスは、一時的にバーストする安価でハイパフォーマンスなコンピュートインスタンスとして、開発やテスト環境用で広く利用されてきました。一方で、継続的で高いCPUワークロードがあるようなシナリオでT2を利用した結果、CPUクレジットが枯渇してしまい、著しくパフォーマンスが落ちてしまうということもありました。

今回、T2 Unlimitedという新しいオプションを指定することによって、万が一CPUクレジットが枯渇しても、パフォーマンスを落とすこと無く、少額の追加コストを払うことで、高いパフォーマンスを維持することができるようになりました。つまり、利用者にとっては大きなメリットになると思います。オンデマンドインスタンスとリザーブドインスタンスに対応していますが、今のところスポットインスタンスに対応していないようですので注意してください。

T2 Unlimitedの価格

インスタンスの平均CPU使用率がベースライン(例:t2.microの場合は10%)以下であれば、インスタンスには追加料金は発生しません。 ただし、CPU使用率がベースラインを超え、インスタンスが消費して枯渇したクレジットが戻ることがない場合、追加で消費したCPUクレジットとして、vCPU時間あたり0.05ドル(Windowsの場合にはもう少しだけ高い)が請求されます。インスタンスは24時間以内に最大クレジット数を獲得するため(例:t2.microは最大144クレジットを得ることができます)、すぐに請求されることなく、その最大値までクレジットを消費する可能性があります。 インスタンスが終了または停止すると、以前に消費された残りの枯渇クレジットが請求されます。

T2 Unlimitedを使ってみる

さっそくT2 Unlimitedを使ってみます。EC2インスタンス一覧を表示し、起動中のインスタンスを選択すると、詳細画面にてT2 Unlimitedの状況を確認することができます。日本語だとちょっとわかりづらいです。

無効から有効に反抗したいと思います。インスタンスのメニューから選びます。

DisableをEnableに変更します。

これで詳細画面の表示が更新されたことを確認してください。

日本語だとわかりづらいので、英語の場合についてもチェックしておいてください。

変更メニューは以下です

コマンドラインでの指定

awscliで指定する際には以下のようにパラメータを指定します。

aws ec2 run-instances --image-id ami-XXXXXX --count 1 \
  --instance-type t2.micro --key-name MyKeyPair \
  --credit-specification CpuCredits= unlimited

まとめ

今まで、T2インスタンスは非常に安価で使い勝手の良いインスタンスタイプであった一方、外部向けのWebサイトなどの本番で利用した際に、CPU使用率が想定よりも高くなってしまった時に制限として著しくパフォーマンスが落ちていました。今回の機能追加により、T2 Unlimitedは基本的にONで良いのでは無いでしょうか。サービスレベルを落とすこと無く安く使えるインスタンスということで、今後も重宝されそうです。

参考資料

Amazon Elastic Compute Cloud User Guide for Linux Instances -

T2 Unlimited – Going Beyond the Burst with High Performance