Help us understand the problem. What is going on with this article?

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} を指定して予め起動テンプレートを作成しておきます。

また 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
以上です。
参考になれば幸いです。

hayao_k
インフラ大好きです。2019 & 2020 APN AWS Top Engineers に選出いただきました。 掲載内容は個人の見解であり、所属する企業を代表するものではありません。
saison_information_systems
モード1(守りのIT)・モード2(攻めのIT)を兼ね備えたバイモーダル・インテグレーターとしてFintechプラットフォーム、流通ITサービス、HULFT事業およびセンターマネジメントサービスを提供します。
http://home.saison.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした