Edited at

T2インスタンス調査結果

More than 1 year has passed since last update.

先日、新インスタンスタイプとなるT2インスタンスがリリースされましたね!

【AWS発表】バースト可能な性能を持つ新しい低コストEC2インスタンス

いままで特にお世話になっていた t1.micro/m1.small

後継というべきインスタンスでしょうか。

しかし実際に使ってみると、T2インスタンスならではの特徴がいくつかあるようです。

これから一番お世話になりそうなT2インスタンスですし

もう少し詳細に調査し、その結果をまとめてみました。



ベースライン/クレジット/バーストという概念

CPUの性能に関する概念です。

t1.microにもバーストという機能はありましたが

T2では実装が大きく異なるようです。

要約すると

クレジットを持っている分だけ、CPUの性能が向上するバーストが発動する。

クレジットがなくなると、CPUの性能がベースラインに留まる。

という感じでしょうか。

また、

1クレジット=1分間バースト可能

と覚えておくとよいでしょう。

10クレ持っていれば、10分間バーストし続けられる、ということです。


インスタンス詳細

タイプ
vCPUs
RAM (GiB)
時間あたりの料金 (Linux)(東京)
月あたりの料金 (Linux)(東京)

t2.nano
1
0.5
$0.008
$5.76

t2.micro
1
1
$0.016
$11.52

t2.small
1
2
$0.032
$23.04

t2.medium
2
4
$0.064
$46.08

t2.large
2
8
$0.128
$92.16

t2.xlarge
4
16
$0.256
$184.32

t2.2xlarge
8
32
$0.512
$368.64


ベースラインについて

インスタンスタイプ毎に異なります。

100%がCPU10割使えるとすると、

たとえばmicroだとCPU1割の性能しか使うことが出来ないということですね。

インスタンスタイプ
ベースラインCPU利用率

t2.nano
5%

t2.micro
10%

t2.small
20%

t2.medium
40%

t2.large
60%

t2.xlarge
90%

t2.2xlarge
135%


初期クレジットについて

初期クレジットですが、調べたところLaunch直後は

以下のクレジットがチャージされているようです。

インスタンスタイプ
初期クレジット量

t2.nano
30

t2.micro
30

t2.small
30

t2.medium
60

t2.large
60

t2.xlarge
120

t2.2xlarge
240

仮想コア1つにたいして 30クレ、という感じでしょうか。

t2.mediumは60クレなので

初回から60分間CPUを全力でぶん回せるということですね。


クレジットの回復について

1時間毎に回復します。インスタンスタイプ毎に回復量が異なります。

インスタンスタイプ
1時間毎のクレジット回復量

t2.nano
3

t2.micro
6

t2.small
12

t2.medium
24

t2.large
36

t2.xlarge
54

t2.2xlarge
81

グレードの高いインスタンスほど、回復量が多いですね。


クレジットの最大チャージ料

インスタンスタイプ毎に異なります。

計算式としては「24時間チャージし続けたときの数値」です。

これ以上はクレジットがチャージされません。

インスタンスタイプ
最大クレジットチャージ量

t2.nano
72(1時間12分間バースト可能)

t2.micro
144(2時間24分間バースト可能)

t2.small
288(4時間48分間バースト可能)

t2.medium
576(9時間36分間バースト可能)

t2.large
864(14時間24分間バースト可能)

t2.xlarge
1296(21時間36分間バースト可能)

t2.2xlarge
1944(32時間24分間バースト可能)


クレジットのリセットについて

インスタンスrebootならリセットされませんが、

stop/startだと初期値にリセットされるようです。

クレジットが溜まっている時には気をつけたほうが良いでしょう。


クレジットの確認方法について

CloudWatchの

CPUCreditUsage / CPUCreditBalance

という項目で確認できます。

EC2一覧のmonitoringタブから確認できますし、通知も出来る?(未確認)はず。



その他T2ならではの特徴


HVMのみサポート

PVインスタンスでは起動することが出来ません。

すでに、PVインスタンスからHVMインスタンスに移行するツールもあるようです。

https://github.com/j3tm0t0/pv2hvm


VPCのみサポート

T2インスタンスはVPC上にしか作ることが出来ません。

EC2-Classicのみで運用しているアカウントではVPCを作り、

その上でインスタンスを起動しましょう。


API経由でT2インスタンスを起動したい場合

APIから起動する場合、

subnet-id(またはnetwork-id)が必須 になっていたり1

セキュリティグループの指定がid必須 になっていたりと、

バッチ処理などでインスタンス起動する場合には

多少手を加える必要があるかもしれません。

AWS Document:T2:vpc-support


ユースケース

常にCPUを使いまくるようなサーバでなければ有用だと思います。

例えば以下のようなロールでしょうか。


  • テストサーバ

  • 開発サーバ

  • バッチサーバ

  • 管理画面サーバ

  • Packer用サーバ

  • CIサーバ(デプロイ多いと辛いかも)

  • ベンチマークサーバ(長時間だと辛いかも)


まとめ

クレジット内で収まるような要件ならだいぶコスト節約できそうです。

いろいろなインスタンスタイプで試してみて、

クレジット量をみながら徐々に移行していくのが良いかと思います。

SUICAみたいに足りなくなったらお金払って

クレジットチャージできるようになったら面白いなぁ…


おまけ:バースト時実際どのくらい速いの?

con_mameさんが既に性能評価されているようです。

T2インスタンスがでたので簡単に性能をみてみた

また別ブログですが、以下は他のインスタンスと比較した結果です。

microインスタンスはlimitかけると大きくパフォーマンスが向上する(※再追記あり)

バースト時にはおよそc3インスタンスと遜色ない性能が出ているような感じです。

良い感じですね!!!



参考

1. 指定しないと "VPCResourceNotSpecified" というエラーが発生する