T2 Unlimitedの使い所と注意点について表から読み解いてみた
ご機嫌いかがでしょうか、豊崎です。
T2 Unlimitedについて質問をいただくケースが多くなってきましたので、コストの観点から使い方と注意点について書いていきたいと思います。
はじめに
T2 Unlimitedとはオンデマンドインスタンス(執筆時点ではオンデマンドのみ対応)において、CPUクレジットが枯渇しても追加コストを払うことでパフォーマンスを維持することができるオプションです。
詳しくは以下を参照ください。
指標を出してみる
コストに対するCPUバースト可能な時間を考えてみましょう。
まずは通常の月額料金の計算をしましょう。ここではよく利用される4つのインスタンスタイプについてみていきたいと思います。 ※執筆時点のTokyo Regionで計算をしています。
インスタンスタイプ | 時間:Amazon Linux/Windows | 月額(※):Amazon Linux/Windows |
t2.nano | $0.0076/0.0099 | $5.472/7.128 |
t2.micro | $0.0152/0.0198 | $10.944/14.256 |
t2.small | $0.0304/0.0396 | $21.888/28.512 |
t2.medium | $0.0608/0.0788 | $43.776/56.736 |
※1month=720hとして計算
非常にリーズナブルですね。
では次に、T2 Unlimitedで許容できるコストを仮に$50だとして全てのvCPUが100%にバーストできる時間をみてみましょう。CPU使用率を100%で計算しているので、例えば50%のCPU使用率の場合はざっくり2倍くらいの時間になると考えてください。(ここをしっかり話すと説明が複雑になるので割愛します)
インスタンスタイプ | vCPU | ベースラインパフォーマンス | バースト可能時間(※):Amazon Linux/Windows |
t2.nano | 1 | 5%(5%/vCPU) | 10.5分/5.4分 |
t2.micro | 1 | 10%(10%/vCPU) | 11.1分/5.7分 |
t2.small | 1 | 20%(20%/vCPU) | 12.5分/6.5分 |
t2.medium | 2 | 40%(20%/vCPU) | 6.25分/3.25分 |
※計算式は以下です。また、ストックしているCPUクレジットはないものとして考えます。
Linux:許容コスト*vCPU数*(100-ベースラインパフォーマンス)*$0.05
Windows:許容コスト*vCPU数*(100-ベースラインパフォーマンス)*$0.096
使い所と注意点
上記表からT2 Unlimitedの使い方がみえてきた気がします。T2 Unlimitedは「あくまでCPUクレジットが枯渇した時に一時的に救済をするために利用する」のがよいようです。想定外の一時的なスパイクに対しての保険として有意義に使うのがよいです。バーストした性能を常時使うことを期待するのは使用法が異なりますので、その場合はT2以外のファミリーを選択しましょう。
また、T2 Unlimited利用時についてですが事前にCloudWatchでアラームを設定しておきましょう。想定額を超過した場合に通知が届くようので安心です。
さいごに
コストを通してT2 Unlimitedの使い方を考えてみました。適切なインスタンスファミリーの選択と上手なT2 Unlimitedの利用をして幸せになれたらと思います。この記事が誰かのお役にたてば幸いです。