👻

Amazon EC2 の t2.medium についてのメモ

2020/10/01に公開

t2 は昼間や深夜などアクセスが少ない時間帯にCPUクレジットがたまり、夕方などのアクセスが多い時間帯にCPUクレジットを消費してCPUを使うことができるので、Web/Appサーバとして良さそうだということで、テスト運用してみました。

ところが、CPUのベースラインについて勘違いしていたため混乱したので、ここに記録として残しておきます。

T2

Amazon EC2 には T2 タイプのインスタンスというものがあります。

T2 インスタンスはベースラインレベルの CPU パフォーマンスを提供しながら、そのベースラインレベルを超えてバーストする機能を備えています。

CPUクレジット

タイプ 1 時間あたりに受け取る CPU クレジット ベースラインパフォーマンス(CPU 使用率)
t2.micro 6 10%
t2.small 12 20%
t2.medium 24 40%

ベースラインのCPUを使っていない場合、クレジットが溜まっていきます。CPUの使用量がベースラインを超えた場合は、クレジットを消費しますが、クレジットがある限りはCPUを使い続けることができます。

t2.medium

t2.micro、t2.small は分かりやすいのですが、t2.medium はコアが2つなので、注意が必要です。

Linuxの CPU Usage だと、1コア100% で、2コアだと 200% が上限になっています。この換算でいうところの 40% がベースラインです。

ところが CloudWatch ではCPUコアの合計を 100% として表示されます。

Linux: 40% / 200%
CloudWatch: 20% / 100%

というようになります。

なので、CloudWatch で数値を見ていて 20% になると、ベースラインの 40% に達している状態となっています。

まだ 20% だから余裕がある……と思っていると、CPUクレジットを消費していってしまう状態となりました。

感想

Web/Appは波があるとはいえ、そこそこのアクセスは継続してあるので、うちの場合では t2 よりは c3 のほうがコストパフォーマンスは良いということで、いまは c3 を使っています。

定期的な重いバッチ処理を動かすサーバなど、短時間だけCPUを必要とするようなサーバでは t2 がよさそうだと思いました。

参照

この記事はQiitaの記事をエクスポートしたものです

Discussion