LoginSignup
41
28

More than 3 years have passed since last update.

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

Last updated at Posted at 2018-08-22

はじめに

主に検証用途に使うことが多い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} を指定して予め起動テンプレートを作成しておきます。

また 2019/11/26 にアカウントレベルで無制限モードの設定を変更することができるようになりました。

Amazon EC2 T instances now support Unlimited Mode at AWS account level
https://aws.amazon.com/jp/about-aws/whats-new/2019/11/amazon-ec2-t-instances-now-support-unlimited-mode-at-aws-account-level/

CLIまたはSDKからEC2を起動する際に
T2をデフォルトUnlimitedで起動するようにしたり
T3をデフォルトで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
以上です。
参考になれば幸いです。

41
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
28