[新機能] Amazon EC2 T系インスタンスの無制限モードをアカウントレベルで設定可能になりました

2019.11.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、菊池です。

本日ご紹介する新機能はこちら。

T2、T3は、CPUクレジットを消費することで、設定されたベースラインパフォーマンスを超えて性能を発揮する、バーストパフォーマンスインスタンスと呼ばれるインスタンスタイプです。クレジットの消費を適切に管理しないと、継続してパフォーマンスを発揮できなくなるという制限があります。この制限を緩和するために、追加料金を払うことで無制限にバースト可能になる T2/T3 無制限モード(Unlimited)という機能があります。

【速報】高いパフォーマンスが継続できるT2 Unlimitedがリリースされました!! #reinvent

本日のアップデートで、この無制限モードを、アカウントレベルでデフォルト有効/無効に設定できるようになりました。

アカウントレベルでUnlimitedのデフォルトを設定する

実際に試してみます。まずは、AWS CLIのコマンドget-default-credit-specificationで現状の設定を確認します。AWS CLIを最新にアップデートして試します。

T2

$ aws ec2 get-default-credit-specification --instance-family t2
{
    "InstanceFamilyCreditSpecification": {
        "CpuCredits": "standard",
        "InstanceFamily": "t2"
    }
}

T3

$ aws ec2 get-default-credit-specification --instance-family t3
{
    "InstanceFamilyCreditSpecification": {
        "CpuCredits": "unlimited",
        "InstanceFamily": "t3"
    }
}

T3a

$ aws ec2 get-default-credit-specification --instance-family t3a
{
    "InstanceFamilyCreditSpecification": {
        "CpuCredits": "unlimited",
        "InstanceFamily": "t3a"
    }
}

T2はデフォルトで無効、T3/T3aはデフォルト有効となっていました。インスタンスファミリー(T2/T3/T3a)、リージョン単位で設定が可能です。modify-default-credit-specificationでT3のデフォルトを、unlimitedからstandardに変更してみます。

$ aws ec2 modify-default-credit-specification --instance-family t3 --cpu-credits standard
{
    "InstanceFamilyCreditSpecification": {
        "CpuCredits": "standard",
        "InstanceFamily": "t3"
    }
}

設定変更の前後で、動作の違いも確認してみました。無制限モードを明示的に指定せずにEC2を起動してみます。

$ aws ec2 run-instances \
> --image-id ami-068a6cefc24c301d2 \
> --instance-type t3.micro

結果を確認します。

無制限モード無効時

無制限モード有効時

まとめ

T系インスタンス無制限モードのデフォルト設定の変更を紹介しました。

本設定はあくまで明示的にしていない場合のデフォルト設定なので、インスタンスに明示的に指定する場合は任意に指定可能です。T3/T3aでは初期状態でデフォルト有効になっているようなので、意図せず有効化して高額請求が発生しないように、デフォルト無効にするなど検討すると良いかもしれません。

なお、現時点でマネジメントコンソールからEC2を作成する際は、本設定に関係なく、T2は無効、T3/T3aは無制限モードにチェックが入った状態でした。コンソールからは必ず明示的な指定という扱いになる点にご注意ください。