T2/T3インスタンスで、CPUクレジットがジリ貧になっていないか確認する

シェアする

Voiced by Amazon Polly

T2/T3インスタンスと呼ばれるEC2インスタンスに関しては、CPUを常に最大性能で使えるわけではありません。
CPUクレジットを使うことで、一時的にCPUの処理性能を最大性能まで上げることができますが、使い切ると処理性能はベースラインパフォーマンスまで落とされてしまいます。

CPUクレジットの供給量と消費量が一致し、CPUクレジットの残量が0のときにこのような現象となります。当然のことながら、この状態ではCPUクレジットは回復しません。

CPUクレジットは時間経過で回復していきますが、この消費が多い状態が続くといずれ枯渇してしまいます。また、上限に達するとそれ以上のCPUクレジットは蓄積されず溢れてしまいます。

ベースラインパフォーマンス以下の余裕分をCPUクレジットとして蓄積していくため、平常時の負荷が高いほどCPUクレジットの回復は遅くなります。

さて、CPUクレジットが溢れそう、あるいはジリ貧になっていることはどのように検出すればいいのでしょうか。

広告



CloudWatchのメトリクスを見る

CloudWatchでは、CPUクレジットの残高および使用量を確認できます。CPUクレジット残高(CPU Credit Balance)が減少する一方である場合、そのインスタンスはジリ貧であることを示しています。
逆に上限に張り付いているケースもあります。その場合、どれくらいまで余裕があるかに関してはCPUクレジット使用状況(CPU Credit Usage)を確認します。

CPUクレジットの回復は追いついているか?

CPUクレジット使用状況のメトリクスでは、その5分間で消費したCPUクレジットの量が示されます。
インスタンスの種類により1時間あたりのCPUクレジットの供給量は異なりますが、その供給量の1/12以下の使用量であればCPUクレジットの回復は追いついています。逆に、その数値を超えている場合はジリ貧状態です。

例として、t3.nanoインスタンスでは1時間に6クレジットが供給されます。つまり、5分間で0.5クレジットが供給されるため、使用量が0.5以下におさまっていれば回復は間に合っています。


応用として、統計(Statistic)を合計(Sum)、時間範囲(Time Range)を長めに、期間(Period)を1時間及び1日に設定することで長期トレンドで見た際の状況を把握できます。