LightsailインスタンスがCPUクレジット使い果たして激重になって焦った話

このブログ、Amazon Lightsailの一番ちっさいWordPressインスタンスで運用しているのですが、昨日「EWWW Image Optimizer」という画像最適化のプラグインを入れて、画像の一括最適化処理をかけてたら急にサイトが激重になりました。

最適化処理をストップしたのですが、変わらず。
プラグインを削除してみたり、インスタンスを再起動しても全く変わりません。
コンソールからLightsailインスタンスのCPUメトリクスを見てみると、CPU使用率は再起動かけてもう下がっているから、問題がないように見えます。

がよく見ると、「バースト可能ゾーン」、「持続可能なゾーン」という文言があり気になったので調べてみたらこれが原因でした。

Lightsailはインスタンスプランごとに「持続可能なゾーン」というCPU使用率の目安が決められており、基本はその範囲内でCPUを使うことが定められています。
とはいえ、一時的にCPU負荷が上がった場合の救済措置として「バースト可能ゾーン」があります。
これは一定時間で付与されるCPUクレジットを消費して「持続可能なゾーン」を超えてCPUを稼働(バースト)させられるというものです。
ただし、CPUクレジットを使い果たしてしまうと、制限をくらってCPUの性能が著しく落ちてしまうようです。

CPU使用率が下がっているのにサイトが重かった原因はこれでした。

EC2のT系インスタンスも同じですね。


結局しばらくたったらCPUクレジットが付与されたのか、サイトの速度も復活しましたが、これはなかなか怖いなということで、対策としてCPU使用率にアラームを設定しておきました。


クラウドインフラゆえにハマったというか…。
安いインスタンスを使うときは制約にちゃんと注意して、重たい処理を長時間動かしちゃダメだという話でした。