Edited at

EC2の新しいT3インスタンスの注意点?


はじめに

主に検証用途に使うことが多いAWSのT2インスタンスですが、

新しい世代のT3インスタンスが利用できるようになりました。

New T3 Instances – Burstable, Cost-Effective Performance

https://aws.amazon.com/jp/blogs/aws/new-t3-instances-burstable-cost-effective-performance/

※2019/2/11 起動クレジットなどについての情報を追記しました。


古いAMIからの移行

性能30%upでT2よりお値段も安いので、新しく起動するものに関してはT3を活用したいです。

ただしT3はハイパーバイザが新しい世代になっているので、古いAMIからの起動は注意が必要です。

これは他の最新世代の C5,M5,R5 に移行を検討する場合も同様です。

NITRO世代(C5、M5)へのEC2インスタンスタイプ変更を試してみた(Amazon Linux編)

https://dev.classmethod.jp/cloud/aws/change-type-to-m5-nitro-generation/

インスタンスが移行可能な状態になっているかどうかは

c5_m5_checks_script で確認することもできます。

タイプを C5 または M5 に変更した後に、Linux インスタンスが起動しなくなったのはなぜですか?

https://aws.amazon.com/jp/premiumsupport/knowledge-center/boot-error-linux-m5-c5/

移行に必要な PVDriver(Windowsのみ)、EnaNetworkDriver、NVMeDriverは

Systems Managerのランコマンド経由でインストールすることも可能です。

image.png


T3 Unlimited がデフォルトで有効

CPUクレジットを使い切っても性能を維持できるT3 Unlimitedがデフォルトで有効になっています。

T2シリーズの場合はデフォルトでチェックが入っていませんが、

T3シリーズの場合は有効化のチェックが入っている状態です。

image.png

CPUクレジットを使い切ってもバーストできる代わりにvCPU時間あたり

0.05ドルの料金が発生するので気になる場合はチェックを外します。

CLIの場合は --credit-specification で standardを指定します

$ aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t3.micro --key-name MyKeyPair --credit-specification "CpuCredits=standard"

かなりレアケースだと思いますが、AutoScalingグループでT3を利用し、

更にUnlimitedを無効化したいような場合は

CreditSpecification={CpuCredits=standard} を指定して予め起動テンプレートを作成しておきます。


T3インスタンスは起動クレジットが無い

T2のスタンダードインスタンスは、起動時またはスタート時に vCPU あたり

30 クレジットを獲得しますが、T3は起動クレジットがありません。

そのため、T2は起動直後もある程度バースト可能ですが、

T3の場合は起動直後はCPU使用率が頭打ちになりやすいと言えます。

例えばt3.microの場合、CloudWatch上は20%まで。

(vCPUあたりのベースラインパフォーマンスが10%かつvCPUが2つで20%)

起動直後の処理でCPUがバーストできず、T3のパフォーマンスが出ない、

あるいは固まってしまうような場合は、以下のいずれかの対応が考えられます。


  • 一時的にT3 Unlimitedを有効化する

  • 起動クレジットが獲得できるT2インスタンスで起動する

  • t3.small, t3.largeのようなベースラインパフォーマンスがより高いインスタンスタイプに変更する

起動直後のt2.micro(左)とt3.microのクレジット残高

image.pngimage.png


ドキュメント

バースト可能パフォーマンスインスタンスの CPU クレジットおよびベースラインパフォーマンス

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html

スタンダードモード

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode.html



  • T2 スタンダードインスタンスは、獲得クレジット と 起動クレジットの 2 種類の CPU クレジットを受け取ります。

  • T3 スタンダードインスタンスは起動クレジットを受け取りません。

  • 起動クレジットは、インスタンスが獲得クレジットを蓄積できるようになる前に、起動してすぐにバーストできるよう、最適な起動エクスペリエンスを提供するために設計されています



t3.micro は無料利用枠対象外

個人利用でない限り、気にしないとは思いますが。。

image.png

以上です。

参考になれば幸いです。