🦖

AWS CDKでT系EC2インスタンスのバーストモードを設定する方法

2023/09/02に公開

はじめに

検証用のEC2をCDKで構築する際にバーストモードの設定の仕方を調べたので紹介します。 デフォルトだとバーストモードがUNLIMITEDとなり、CPU使用率が高い状態が続くとコストが想定以上に増大することになるため、注意が必要です。

設定方法

EC2 Instanceのオプションでは指定できないため、Launch Templateで設定した後、Launch Templateを指定したAutoScaling Groupなどを追加します。

Launch Templateのオプションにて、cpuCredits: aws_ec2.CpuCredits.STANDARDとすることでバーストクレジット枯渇時にも勝手にコストがかからないようになります。

https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.LaunchTemplate.html

EC2のT系インスタンスについての補足

EC2のT系インスタンスのバーストの仕組み

EC2のT系インスタンスは、一時的な高負荷をサポートするための「バースト」機能を備えています。この機能は、基本的なパフォーマンスレベルを超えて一時的に高いCPU性能を利用することができるものです。

バーストクレジットとは

T系インスタンスは、インスタンスが開始されてから一定の「バーストクレジット」を持っています。インスタンスがCPUを活用していないとき(基本的なパフォーマンスレベル以下で動作しているとき)、このクレジットは時間とともに蓄積されます。そして、負荷が増加したときに、これらのクレジットを消費して一時的に高いCPUパフォーマンスを得ることができます。

バーストクレジットの消費と回復

インスタンスが基本的なパフォーマンスレベルを超えてCPUを使用すると、バーストクレジットが消費されます。消費されるクレジットの量は、使用率に応じて変わります。一方、CPU使用率が低下すると、クレジットは時間とともに回復します。

UNLIMITED と STANDARD モード

EC2のT系インスタンスには、UNLIMITEDとSTANDARDの2つのバーストモードがあります。
- UNLIMITEDモード: このモードでは、バーストクレジットが尽きた後も、追加の料金を支払うことで高いCPU性能を持続的に利用することができます。
- STANDARDモード: このモードでは、バーストクレジットが尽きた場合、CPU性能は基本的なパフォーマンスレベルに制限されます。このモードでは、クレジットの枯渇による追加の料金は発生しません。

まとめ

EC2のT系インスタンスのバーストの設定をCDKで指定する方法を紹介しました。 デフォルトのUNLIMITEDだと予想外にコストが高くなることがありますので、仕様を把握して適切な値に設定してください。

Discussion