おつかれさまです。ならたけぽんです。🌈
選挙だ寒波だ冬季オリンピックだと、
イベントに振り回されていたら、
いつのまにか2月も終わりですね。
2026年、もう2ヶ月も経つのか。。。🏹
歳を取ったから時間が経つのが早いのかもしれませんが、
それにしても、今年は世界がすごい勢いで流れていますね。
なんだか毎日落ち着かないんですが、
やることやるしかないですね。
よし!
しごとしよう!💻
ということで、今回も、
Amazon ElastiCacheについて、見ていきましょう!🐎
では早速、ElastiCacheの構築!です。
今回は「Valkey(クラスターモード)」です。
※クラスターモードについては、以下のAWS公式ページをご確認ください。
クラスターモードの無効と有効
※Valkeyを、クラスターモードではない「CfnCacheCluster」クラスで
作成しようとしたところ、以下エラーになってしまいました。
ですので、本ブログでは、「Valkey 」は「クラスターモード」のみ記載します。
Please use CreateReplicationGroup API for Valkey cluster creation.
ElastiCacheは、現時点では、
AWS CloudFormationリソースと直接マッピングされる、
いわゆる「L1」コンストラクトしか存在しないので、
今回もそちらで記載していきます。
以下は、最小ノード数:「1」の場合のコードになります。
aws_elasticache as elasticache,
} from 'aws-cdk-lib';
var subnetIds: string[] = new Array();
subnetIds.push(subnetA.subnetId);
subnetIds.push(subnetB.subnetId);
const subnetGroup = new elasticache.CfnSubnetGroup(this , 'SubnetGroup' , {
description: 'Subnet Group ' ,
subnetIds: subnetIds
} ) ;
new elasticache.CfnReplicationGroup(this , 'Valkey' , {
replicationGroupDescription: 'Valkey' ,
automaticFailoverEnabled: false ,
cacheNodeType: 'cache.t4g.small' ,
cacheSubnetGroupName: subnetGroup.ref ,
clusterMode: 'disabled' ,
engine: 'valkey' ,
multiAzEnabled: false ,
numNodeGroups: 1 ,
replicasPerNodeGroup: 0 ,
securityGroupIds: [
securityGroup.securityGroupId ,
] ,
transitEncryptionEnabled: true
} ) ;
🕊️必須引数🕊️:
(1) replicationGroupDescription:string
レプリケーショングループの説明を設定。
(2) transitEncryptionEnabled:boolean
転送中の暗号化の有効無効を設定。
※このパラメータ未設定時、以下エラーになってしまったので、
必須引数扱いにしています。
🕊️主なオプション引数🕊️:
(1) automaticFailoverEnabled:boolean:デフォルト(false):
プライマリノードに障害が発生した場合に、
自動的にフェイルオーバを発生させるかどうかを設定。
※「true」にするためには、クラスターが2つ以上必要になります。
(2) cacheNodeType:string:デフォルト(-):
自分好みのインスタンスタイプを設定。
※接頭子(cache)が付きます。
(3) cacheSubnetGroupName:string:デフォルト(-):
サブネットグループ名を設定。
※既存サブネットをまとめたサブネットグループが必要になります。
(4) clusterMode:string:デフォルト(-):
クラスターモードを「ON」にする際は「enabled」を設定。
クラスターモードを「OFF」にする際は「disabled」を設定。
(5) engine:string:デフォルト(-):
エンジン名を設定。
今回は「redis」固定。
(6) multiAzEnabled:boolean:デフォルト(-):
Auti-AZ構成を有効にするか否かを設定。
(7) numNodeGroups:number:デフォルト(1):
グループ(シャード)数を設定。
(8) replicasPerNodeGroup:number:デフォルト(-):
各グループ(シャード)内のレプリカノード数を、0 ~ 5 で設定。
(9) securityGroupIds:string[]:デフォルト(-):
セキュリティグループIDを配列で設定。
「Redis(クラスターモード)」から必須引数が1つ増えただけですね。
まだまだパラメータは存在するので、
気になる方は、AWS CDK公式ページを見てみてください~。🔎
個人的に、「Redis」は、近年オープンソースライセンス云々で話題になることが多いので、
落ち着くまでは「Valkey」も追いかけていこうと思います。
2月の和風月名「如月」は、寒さで衣服を重ね着するので、
「衣更着(きさらぎ)」が由来、という説があるそうです。
そう言われてみると、確かに着こんで、ころころしてますね。
世の中に流されて、ころころ転がり続けるのもあれなので、
そろそろ踏ん張って立ち上がらないとな~、と、
春一番が吹いたニュースを聞きながら、
これが最後とコタツでミカンを楽しむのでした。🍊
それでは、良き良き、AWS CDKライフを!!!🌈

