Amazon ElastiCacheがM4ノードタイプに対応しました
ウィスキー、シガー、パイプをこよなく愛する大栗です。
先日ElastiCacheのキャッシュノードタイプでM4ファミリーが対応しましたので、内容をまとめてみます。
各インスタンスタイプ
ElastiCacheの各世代のキャッシュノードを一覧にしてみます。
現行世代(東京リージョン)
スタンダード
キャッシュノードタイプ|vCPU
(クロック速度)1 | 物理プロセッサ1 | メモリ(GiB) | 時間あたりの料金 | 1ヶ月あたりの料金2 | 1GBあたりの料金(1ヶ月)2 |
---|---|---|---|---|---|
cache.t2.micro | 1 | ||||
(最大 3.3 GHz) | Intel Xeon ファミリー | 0.555 | $0.026 | $18.980 | $34.198 |
cache.t2.small | 1 | ||||
(最大 3.3 GHz) | Intel Xeon ファミリー | 1.55 | $0.052 | $37.960 | $24.490 |
cache.t2.medium | 2 | ||||
(最大 3.3 GHz) | Intel Xeon ファミリー | 3.22 | $0.104 | $75.920 | $23.578 |
cache.m3.medium | 1 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v23 | 2.78 | $0.120 | $87.600 | $31.511 |
cache.m3.large | 2 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v23 | 6.05 | $0.240 | $175.200 | $28.959 |
cache.m3.xlarge | 4 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v23 | 13.3 | $0.485 | $354.050 | $26.620 |
cache.m3.2xlarge | 8 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v23 | 27.9 | $0.965 | $704.450 | $25.249 |
cache.m4.large | 2 | ||||
(2.4 GHz) | Intel Xeon E5-2676 v3 | 6.42 | $0.226 | $164.980 | $25.698 |
cache.m4.xlarge | 4 | ||||
(2.4 GHz) | Intel Xeon E5-2676 v3 | 14.28 | $0.452 | $329.960 | $23.106 |
cache.m4.2xlarge | 8 | ||||
(2.4 GHz) | Intel Xeon E5-2676 v3 | 29.7 | $0.904 | $659.920 | $22.220 |
cache.m4.4xlarge | 16 | ||||
(2.4 GHz) | Intel Xeon E5-2676 v3 | 60.78 | $1.808 | $1,319.840 | $21.715 |
cache.m4.10xlarge | 40 | ||||
(2.4 GHz) | Intel Xeon E5-2676 v3 | 154.64 | $4.520 | $3,299.600 | $21.337 |
メモリ最適化
キャッシュノードタイプ|vCPU
(クロック速度)1 | 物理プロセッサ1 | メモリ(GiB) | 時間あたりの料金 | 1ヶ月あたりの料金2 | 1GBあたりの料金(1ヶ月)2 |
---|---|---|---|---|---|
cache.r3.large | 2 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v2 | 13.5 | $0.273 | $199.29 | $14.762 |
cache.r3.xlarge | 4 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v2 | 28.4 | $0.546 | $398.58 | $14.035 |
cache.r3.2xlarge | 8 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v2 | 58.2 | $1.092 | $797.16 | $13.697 |
cache.r3.4xlarge | 16 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v2 | 118 | $2.184 | $1,594.32 | $13.511 |
cache.r3.8xlarge | 32 | ||||
(2.5 GHz) | Intel Xeon E5-2670 v2 | 237 | $4.368 | $3,188.64 | $13.454 |
旧世代(東京リージョン)
旧世代のインスタンスタイプはM1/M2/C1/T1であるため、仮想化タイプがPVと推察されます。そのため現行世代と比較してコストパフォーマンスが悪いので選択すべきでありません。
スタンダード
キャッシュノードタイプ|vCPU
(クロック速度)1 | 物理プロセッサ1 | メモリ(GiB) | 時間あたりの料金 | 1ヶ月あたりの料金2 | 1GBあたりの料金(1ヶ月)2 |
---|---|---|---|---|---|
cache.m1.small | 1 | ||||
(不定4) | Intel Xeon ファミリー | 1.3 | $0.071 | $51.830 | $39.869 |
cache.m1.medium | 1 | ||||
(不定4) | Intel Xeon ファミリー | 3.35 | $0.142 | $103.660 | $30.943 |
cache.m1.large | 2 | ||||
(不定4) | Intel Xeon ファミリー | 7.1 | $0.285 | $208.050 | $29.303 |
cache.m1.xlarge | 4 | ||||
(不定4) | Intel Xeon ファミリー | 14.6 | $0.571 | $416.830 | $28.550 |
メモリ最適化
キャッシュノードタイプ|vCPU
(クロック速度)1 | 物理プロセッサ1 | メモリ(GiB) | 時間あたりの料金 | 1ヶ月あたりの料金2 | 1GBあたりの料金(1ヶ月)2 |
---|---|---|---|---|---|
cache.m2.xlarge | 2 | ||||
(不定4) | Intel Xeon ファミリー | 16.7 | $0.329 | $240.170 | $14.381 |
cache.m2.2xlarge | 4 | ||||
(不定4) | Intel Xeon ファミリー | 33.8 | $0.660 | $481.800 | $14.254 |
cache.m2.4xlarge | 8 | ||||
(不定4) | Intel Xeon ファミリー | 68 | $1.320 | $963.600 | $14.171 |
コンピューティング最適化
キャッシュノードタイプ|vCPU
(クロック速度)1 | 物理プロセッサ1 | メモリ(GiB) | 時間あたりの料金 | 1ヶ月あたりの料金2 | 1GBあたりの料金(1ヶ月)2 |
---|---|---|---|---|---|
cache.c1.xlarge | 8 | ||||
(不定4) | Intel Xeon ファミリー | 6.6 | $0.726 | $529.980 | $80.300 |
マイクロ
キャッシュノードタイプ|vCPU
(クロック速度)1 | 物理プロセッサ1 | メモリ(GiB) | 時間あたりの料金 | 1ヶ月あたりの料金2 | 1GBあたりの料金(1ヶ月)2 |
---|---|---|---|---|---|
cache.t1.micro | 1 | ||||
(不定4) | 変動する | 0.213 | $0.028 | $20.440 | $95.962 |
どのような画面でM4を使用すべきか
ElastiCacheのエンジンはmemcachedとRedisがあるため、利用状況により使い分けることになります。
memcachedエンジン
memcachedの場合はサーバサイドの実装がシンプルであり、vCPU数に応じて動作するスレッド数が増加します。そのためCPUがボトルネックになりにくい特性を持っています。そのため必要なキャッシュデータ量に応じてメモリ単価が一番安価なキャッシュノードサイズを選択するべきです。13.5 GiB以上のメモリ量が必要な場合はR3がメモリ単価で一番安価です。 memcachedの場合は、6GiB前後のキャッシュノードが必要な場合にM4(cache.m4.large)を選択することが有用でしょう。
Redisエンジン
Redisはmemcachedと比較して、複雑なデータ型を使用したりデータのソートをしたりするためCPUの負荷が大きくなる場合があります。さらにRedisはシングルスレッドで動作するため1コア辺りの性能がRedis全体の性能を左右することがあります。そのため同程度のメモリ量/価格帯であればCPUアーキテクチャが新しい(1コア辺りの性能が良い)CPUを搭載しているキャッシュノードを選択するべきです。単純なKVSとして使用している場合はmemcachedと同様にR3でも問題ないかもしれませんが、Redis側での処理を多用している場合には一番新しいアーキテクチャを採用しているM4(E5-2676 v3:Haswell)が有用だと思われます。M3(E5-2670 v2:Ivy Bridge、E5-2670:Sandy Bridge)やR3(E5-2670 v2:Ivy Bridge)は、CPUがボトルネックになる可能性があります。
まとめ
memcachedの場合はCPUバウンドなユースケースは少ないと思われますが、Redisの場合はCPUバウンドになるユースケースもあるためCPUアーキテクチャが新しいM4を使用すると良いのではないでしょうか。