AWS CloudFormation で ElastiCache Memcached クラスターのノードタイプを変更する方法を教えてください
困っていた内容
CloudFormation で作成した ElastiCache Memcached クラスターのノードタイプを変更しようとしたところ、以下のエラーが発生して変更できませんでした。
Scaling is not supported supported for engine memcached with version 1.4.34.
AWS CloudFormation で ElastiCache Memcached クラスターのノードタイプを変更する方法を教えてください。
どう対応すればいいの?
エンジンバージョンが 1.5 以降であればノードタイプの変更は可能です。
Memcached クラスターのオンデマンドスケーリング - Amazon ElastiCache
ノードタイプの変更は、エンジンバージョンが 1.5 以降のノードベースの Memcached クラスターでのみ行うことができます。
エンジンバージョンが 1.5 以前の場合には以下の対応をご検討ください。
- エンジンバージョンを 1.5 以降にアップグレードする
- クラスターを再作成する
マネジメントコンソールからのノードタイプの変更方法については以下の弊社ブログもご参照ください。
やってみた
CloudFormation でノードタイプを変更してみました。
まず、冒頭のエラーを再現するために以下のテンプレートでクラスターを作成しました。
AWSTemplateFormatVersion: "2010-09-09"
Description: ElastiCache for Memcached Sample
Resources:
MyMemcachedCluster:
Type: AWS::ElastiCache::CacheCluster
Properties:
ClusterName: my-memcached-cluster
Engine: memcached
EngineVersion: 1.4.34
CacheNodeType: cache.t3.micro
NumCacheNodes: 1
VpcSecurityGroupIds:
- sg-xxx

クラスターの作成完了後、以下のテンプレートでノードタイプの変更を試みましたが冒頭のエラーが発生しました。
AWSTemplateFormatVersion: "2010-09-09"
Description: ElastiCache for Memcached Sample
Resources:
MyMemcachedCluster:
Type: AWS::ElastiCache::CacheCluster
Properties:
ClusterName: my-memcached-cluster
Engine: memcached
EngineVersion: 1.4.34
CacheNodeType: cache.t3.small
NumCacheNodes: 1
VpcSecurityGroupIds:
- sg-xxx

エンジンバージョンが 1.5 以前のクラスターではノードタイプを変更できないことを確認できました。
続いて、以下のテンプレートでエンジンバージョンが 1.5 以降のクラスターを作成します。
AWSTemplateFormatVersion: "2010-09-09"
Description: ElastiCache for Memcached Sample
Resources:
MyMemcachedCluster:
Type: AWS::ElastiCache::CacheCluster
Properties:
ClusterName: my-memcached-cluster
Engine: memcached
EngineVersion: 1.5.10
CacheNodeType: cache.t3.micro
NumCacheNodes: 1
VpcSecurityGroupIds:
- sg-xxx

クラスターの作成完了後、以下のテンプレートでノードタイプを変更します。
今回はエンジンバージョンが 1.5 以降であるためノードタイプを変更できました。
AWSTemplateFormatVersion: "2010-09-09"
Description: ElastiCache for Memcached Sample
Resources:
MyMemcachedCluster:
Type: AWS::ElastiCache::CacheCluster
Properties:
ClusterName: my-memcached-cluster
Engine: memcached
EngineVersion: 1.5.10
CacheNodeType: cache.t3.small
NumCacheNodes: 1
VpcSecurityGroupIds:
- sg-xxx


以上より、エンジンバージョンが 1.5 以降であれば CloudFormation でもノードタイプの変更が可能なことを確認できました。




