バーストインスタンスの CPU クレジットをモニタリングする
EC2 はメトリクスを Amazon CloudWatch に送信します。CPU クレジットのメトリクスは、CloudWatch コンソールの Amazon EC2 インスタンスごとのメトリクスで確認するか、AWS CLI を使用して各インスタンスのメトリクスを一覧表示することで確認できます。詳細については、「インスタンスに対して利用可能な CloudWatch メトリクス」を参照してください。
バーストパフォーマンスインスタンスの追加 CloudWatch メトリクス
バーストパフォーマンスインスタンスには、以下の追加の CloudWatch メトリクスがあり、5 分ごとに更新されます。
-
CPUCreditUsage
– 測定期間に消費された CPU クレジットの数。 -
CPUCreditBalance
– インスタンスが蓄積する CPU クレジット数。CPU がバーストし、CPU クレジットが獲得するよりも速い速度で使用される際に、このバランスは枯渇します。 -
CPUSurplusCreditBalance
–CPUCreditBalance
値がゼロになったときに CPU 使用率を保持するために使用される余剰 CPU クレジットの数。 -
CPUSurplusCreditsCharged
– 24 時間で獲得できる CPU クレジットの最大数を越えた、追加料金が発生する分の余剰 CPU クレジットの数。
最後の 2 つのメトリクスは unlimited
として設定されたインスタンスにのみ適用されます。
バーストパフォーマンスインスタンスの CloudWatch メトリクスの説明を次の表に示します。詳細については、インスタンスに対して利用可能な CloudWatch メトリクス を参照してください。
メトリクス | 説明 |
---|---|
CPUCreditUsage |
CPU 使用率に関してインスタンスで消費される CPU クレジットの数。1 つの CPU クレジットは、1 個の vCPU が 100% の使用率で 1 分間実行されること、または、vCPU、使用率、時間の同等の組み合わせ (例えば、1 個の vCPU が 50% の使用率で 2 分間実行されるか、2 個の vCPU が 25% の使用率で 2 分間実行される) に相当します。 CPU クレジットメトリクスは、5 分間隔でのみ利用可能です。5 分を超える期間を指定する場合は、 単位: クレジット (vCPU 分) |
CPUCreditBalance |
インスタンスが起動または開始後に蓄積した獲得 CPU クレジットの数。T2 スタンダードの場合、 クレジットは、獲得後にクレジット残高に蓄積され、消費されるとクレジット残高から削除されます。クレジット残高には、インスタンスサイズによって決まる上限があります。制限に到達すると、獲得された新しいクレジットはすべて破棄されます。T2 スタンダードの場合、起動クレジットは制限に対してカウントされません。
インスタンスが実行中の場合、 CPU クレジットメトリクスは、5 分間隔でのみ利用可能です。 単位: クレジット (vCPU 分) |
CPUSurplusCreditBalance
|
単位: クレジット (vCPU 分) |
CPUSurplusCreditsCharged |
獲得 CPU クレジットにより支払われないために追加料金が発生した、消費された余剰クレジットの数。 消費された余剰クレジットは、以下のいずれかの状況に当てはまると料金が発生します。
単位: クレジット (vCPU 分) |
CPU クレジット使用状況の計算
インスタンスの CPU クレジット使用状況は、前述の表で説明したインスタンス CloudWatch メトリクスを使用して計算されます。
Amazon EC2 は、メトリクスを 5 分ごとに CloudWatch に送信します。前のメトリクス値の参照はいつでも、5 分前に送信された、直前のメトリクス値を意味します。
スタンダードインスタンスの CPU クレジット使用状況の計算
-
CPU クレジット残高は、CPU 利用率がベースラインを下回り、前の 5 分間に消費したクレジットが獲得したクレジットより少なかった場合に増加します。
-
CPU クレジット残高は、CPU 利用率がベースラインを上回り、前の 5 分間に消費したクレジットが獲得したクレジットよりも多かった場合に減少します。
数学的に、これは次の式で表されます。
CPUCreditBalance = prior CPUCreditBalance + [Credits earned per hour * (5/60) - CPUCreditUsage]
インスタンスのサイズは、インスタンスが 1 時間あたりに獲得できるクレジットの数と、クレジット残高に蓄積できる獲得クレジットの数を決定します。1 時間あたりに獲得するクレジット数と、各インスタンスサイズのクレジット残高制限については、「クレジットの表」を参照してください。
例
この例では、t3.nano
インスタンスを使用します。インスタンスの CPUCreditBalance
値を計算するには、前述の式を次のように使用します。
-
CPUCreditBalance
– 計算する現在のクレジット残高。 -
prior CPUCreditBalance
– 5 分前のクレジット残高。この例では、インスタンスは 2 クレジットを蓄積しています。 -
Credits earned per hour
–t3.nano
インスタンスは 1 時間あたり 6 クレジット獲得します。 -
5/60
– CloudWatch メトリクスのパブリッシュ間の 5 分間隔を表します。1 時間あたりに獲得するクレジットに 60 分の 5 (5 分) を掛けて、インスタンスが過去 5 分間に獲得したクレジット数を求めます。t3.nano
インスタンスは、5 分ごとに 0.5 クレジットを獲得します。 -
CPUCreditUsage
– インスタンスが過去 5 分間に消費したクレジット数。この例では、インスタンスは過去 5 分間に 1 クレジットを消費しました。
これらの値を使用して、CPUCreditBalance
の値を計算できます。
CPUCreditBalance = 2 + [0.5 - 1] = 1.5
無制限インスタンスの CPU クレジット使用状況の計算
バーストパフォーマンスインスタンスがベースラインを超えてバーストする必要がある場合、余剰クレジットを消費する前に、蓄積されたクレジットが常に消費されます。蓄積した CPU クレジット残高を使いきると、必要な期間だけ余剰クレジットを使用してバーストできます。CPU 利用率がベースラインを下回った場合、インスタンスが獲得クレジットを蓄積する前に常に余剰クレジットが支払われます。
この 5 分間に発生するアクティビティを反映するため、次の式では Adjusted balance
という用語を使用します。CPUCreditBalance
および CPUSurplusCreditBalance
の CloudWatch メトリクスの値に達するため、この値を使用します。
Adjusted balance = [prior CPUCreditBalance - prior CPUSurplusCreditBalance] + [Credits earned per hour * (5/60) - CPUCreditUsage]
0
に対する Adjusted balance
の値は、インスタンスが獲得したすべてのクレジットがバーストに消費され、余剰クレジットは消費されなかったことを示します。結果として、CPUCreditBalance
と CPUSurplusCreditBalance
は 0
に設定されます。
Adjusted balance
の正の値は、インスタンスが獲得クレジットを蓄積し、前の余剰クレジットが (ある場合) 支払われたことを示します。結果として、Adjusted balance
の値は CPUCreditBalance
に割り当てられ、CPUSurplusCreditBalance
は 0
に設定されます。インスタンスサイズは、蓄積可能な最大クレジット数を決定します。
CPUCreditBalance = min [max earned credit balance, Adjusted balance]
CPUSurplusCreditBalance = 0
Adjusted balance
の負の値は、インスタンスが蓄積したすべての獲得クレジットに加えて、余剰クレジットもバーストに消費されたことを示します。結果として、Adjusted balance
の値は CPUSurplusCreditBalance
と CPUCreditBalance
に割り当てられ、0
に設定されます。繰り返しになりますが、インスタンスサイズは、蓄積可能な最大クレジット数を決定します。
CPUSurplusCreditBalance = min [max earned credit balance, -Adjusted balance]
CPUCreditBalance = 0
消費される余剰クレジットがインスタンスに蓄積可能な最大クレジットを越えた場合、余剰クレジット残高は前述の式に示すように最大に設定されます。残りの余剰クレジットは CPUSurplusCreditsCharged
メトリクスで示すように課金されます。
CPUSurplusCreditsCharged = max [-Adjusted balance - max earned credit balance, 0]
最後に、CPUSurplusCreditBalance
により追跡された余剰クレジットもインスタンスの終了時に課金されます。インスタンスを unlimited
から standard
に切り替えると、残りの CPUSurplusCreditBalance
も課金されます。