EC2(Elastic Computing Cloud)のサーバーには構成要素がいくつかある。
EC2は仮想サーバーであるが、実態として存在するサーバーの構成要素とほぼ対応しており
- AMI
- インスタンスタイプ
- EBS
- ENI
が存在する。
今回は、特にインスタンスタイプの1つであるT系に注目する
インスタンスタイプ
先にインスタンスタイプについて軽く
インスタンスタイプの構成要素にCPU、メモリ、ストレージ、ネットワークキャパシティーがある。
t2.micro
などと表記され、先頭のt
はファミリー名と呼ばれ、種類によってそれぞれ異なるユースケースに合わせたスペックを持つ。
例えばm系ならば汎用インスタンスと呼ばれ、バランスの取れたコンピューティング、メモリ、ネットワークのリソースを提供しており、c系では、コンピューティング最適化インスタンスと呼ばれ、高パフォーマンスプロセッサの恩恵を受けるコンピューティングバウンドなアプリケーションに最適である。
その隣の数字は世代を表している
.
の右側はインスタンスのサイズを表しておりnano
micro
などが存在し、CPU、メモリーなどのスペックを決める。
バーストインスタンス
T4g
T3a
T3
T2
のインスタンスタイプは、バーストインスタンスと呼ばれる。
このバーストインスタンスでは、CPU使用率にベースラインが存在し、このベースラインを越えた(バースト)CPU使用率で稼働させることができる。そして、この越えたCPU使用率の分に対してのみ料金を支払うことになる。この支払いには「CPUクレジット」と呼ばれるものが使用される。
バーストインスタンスのCPU使用率がベースラインを下回っている間は、継続的にCPUクレジットを獲得し、ベースラインを上回っている間は、継続的に CPUクレジットを消費する。獲得、消費されるCPUクレジットの量は、CPU使用率によって変わる。
獲得したクレジットが消費よりも大きい場合、差額のクレジットが蓄積クレジットとして蓄えられ、あとでベースラインを越えてCPU使用率をバーストさせるときに使用する。
ベースラインを上回っている間は、CPUクレジットの獲得も行っている。しかし、消費のほうが多くなっているので事実上CPUクレジットが消費されていることになる。
CPUクレジットが消費される際の挙動には、スタンダードモードとUnlimitedモードが存在する
スタンダードモード
消費したクレジットが獲得したクレジットよりも多い場合、インスタンスは、ベースラインを越えて CPU 使用率をバーストさせるために、蓄積されたクレジットを使用する。蓄積されたクレジットがない場合、インスタンスは徐々にCPU使用率をベースラインまで低下させ、クレジットが蓄積されるまでベースラインを越えてバーストさせることができなくなる。
Unlimitedモード
CPU使用率がベースラインを越えてバーストした時、最初に蓄積されたクレジットを消費する。蓄積されたクレジットがなくなった場合、インスタンスは余剰クレジットを消費してバーストを維持する。その後、CPU使用率がベースラインを下回った場合、獲得したクレジットを使用して、先に消費した余剰クレジットに対して支払う。
しかし、24時間の平均CPU使用率がベースラインを越えるとインスタンスは追加使用量に対して vCPU 時間あたりの一定の追加料金で請求される。