先日、EC2に新しいタイプのインスタンス、その名もT3がリリースされた。すでに東京リージョンでも使用可能になっている。
新しいインスタンス、 t3インスタンスがリリースされました | Amazon Web Services ブログ
なんとスペックが30%上がった上にT2より安い。これは使うしかない。
けど、見てる感じT2と同様に扱おうとすると痛い目にあいそうだったのでメモ。
T3 Unlimited がデフォルトで有効
そもそもT3 Unlimitedってなんぞやって話だが、CPUクレジットがUnlimited(無制限)ってことである。
じゃあCPUクレジットって何?って話になるが、以下のような仕組みである。
- インスタンスタイプに応じて初期CPUクレジットを持つ
- あまり負荷のかかっていないときに自動的にCPUクレジットが貯まっていく
- 負荷のかかる処理のときにCPUクレジットが消費されて一時的にCPU性能を上がる(バースト)
これはTから始まるインスタンス限定の機能で、同様のCPUクレジット機能がT2にも搭載されている。負荷のしきい値はベースラインパフォーマンスというもので定められていて、公式ドキュメントに載ってる
もちろん良い機能なのだが、アイドル状態>負荷多状態がずっと続くとCPUクレジットが枯渇して大変なことになる。
以下のサイトがいい例
[AWS][CPU Credits][Instances]T2インスタンスの隠された罠について知っているか!? – ADACHIN SERVER LABO
急激にLoad Averageが上がり、sshもできず、CPU idle,stealもぱないし死亡。
CPUクレジットが切れても頑張ろうとするとCPU Stealが急激に上がる模様。南無
で、T3 Unlimitedの話に戻るが、要はT3 Unlimitedは課金が発生するが、CPUクレジットを使い切っても無限にバーストし続ける機能である。(vCPU時間あたり0.05ドル)
本質的にはバーストし続ける=インスタンスタイプの選定ミスなのでよくない。コスパも上位のインスタンスタイプに変更したほうが良い
怖いのが、T3ではこの機能がデフォルトで有効化されていることである。
無効化にする方法
T3 Unlimitedの無効化はそんなに難しくない
管理画面にログインしてEC2のインスタンス一覧を表示して
でおk
他のT3インスタンスの他の懸念点
t3.micro は無料利用枠対象外
あ、これはどうでもいい