AWS CDK v2 でElastiCacheを自分好みに!(その4)

おつかれさまです。ならたけぽんです。🌈

ただのおっさんなのに、まわりに流されて駆け回っていたら、
いつのまにか年が明けていました。

2026年、令和八年ですね。🌅

今年はどんな年になるのかなぁ、なんて考えて、
ふとまわりを見てみたら、
世界がすごい勢いで流れていて、
かつ、自分もちゃんと流されていました。🌊

あれ?
ゆっくりお雑煮食べている場合じゃない?🍥

よし! 
お雑煮食べつつ、しごとしよう!💻

ということで、今回も、
Amazon ElastiCacheについて、見ていきましょう!🎍



では早速、ElastiCacheの構築!です。
今回は「Redis(クラスターモード)」です。

※クラスターモードについては、以下のAWS公式ページをご確認ください。
クラスターモードの無効と有効

ElastiCacheは、現時点では、
AWS CloudFormationリソースと直接マッピングされる、
いわゆる「L1」コンストラクトしか存在しないので、
今回もそちらで記載していきます。

以下は、最小ノード数:「1」の場合のコードになります。

import {
    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: 'Redis' ,
    automaticFailoverEnabled: false  ,
    cacheNodeType: 'cache.t4g.small
' ,
    cacheSubnetGroupName: subnetGroup.ref  ,
    clusterMode: 'disabled
' ,
    engine: 'redis
' ,
    multiAzEnabled: false  ,
    numNodeGroups: 1
 ,
    replicasPerNodeGroup: 0 ,
    securityGroupIds: [
        securityGroup.securityGroupId ,

    ]

}
) ;

🕊️必須引数🕊️:
  (1) replicationGroupDescription:string
    レプリケーショングループの説明を設定。


🕊️主なオプション引数🕊️:


  (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を配列で設定。

クラスタモードになると、ちょっとだけパラメータが増えますが、
なんとなく分かるパラメータなので、そんなに難しくはないですね。

まだまだパラメータは存在するので、
気になる方は、AWS CDK公式ページを見てみてください~。🔎



これで「Redis」はひと段落です!
次は「Valkey」の番になります!



1月の和風月名「睦月」は、「睦び月(むつびつき)」が由来、という説があるそうです。
睦ぶとは、仲良くする、親しみ合う、ということ。
仲睦まじい、なんて言いますね。

なかなか睦まじいほどの仲にはなれないんですが、
ちょっとでもご縁があれば、そのご縁を大事にしていきたいな、と、
相変わらず流されながら思ってみるのでした。🌊

それでは、良き良き、AWS CDKライフを!!!🌈