Amazon ElastiCacheがM4ノードタイプに対応しました

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

ウィスキー、シガー、パイプをこよなく愛する大栗です。

先日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を使用すると良いのではないでしょうか。


  1. 物理プロセッサは同ランクのEC2インスタンスタイプから転載しています。 
  2. 1ヶ月は730時間として換算しています。 
  3. M3 インスタンスは、2.6 GHz で動作する Intel Xeon E5-2670(Sandy Bridge)プロセッサーとして起動する可能性もあります。 
  4. インスタンスによって異なる世代、クロックのCPUで起動します。