はじめに
「AWSではじめるインフラ構築入門 第2版」の第12章「キャッシュサーバーを用意しよう」を学習中に、書籍の内容と現在のAWS環境で異なる箇所が複数ありました。
おそらくAWSの仕様変更やバージョンアップデートによるものと思われます。同じ書籍で学習している方の参考になればと思い、遭遇した問題と解決方法をまとめました。
環境情報
- 学習書籍:AWSではじめるインフラ構築入門 第2版
- 対象章:第12章 キャッシュサーバーを用意しよう
- 検証時期:2025年10月
- 使用EC2:Amazon Linux 2023(AL2023)
→ 13章アプリデプロイでエラーになるため、最終的には使用EC2をAmazon Linux 2に変更
問題1:Valkeyサービスの登場とRedisクラスター作成画面の変更
問題内容
Valkeyという新しいサービスが追加され、従来のRedisクラスター作成メニューが見つからなくなっていました。
解決方法
Redis OSS キャッシュの項目からキャッシュを作成します。
**「独自のキャッシュを設計」**を選択すると、書籍と同様の設定項目が表示されます。
問題2:redis-cliコマンドのインストール方法変更
問題内容
Amazon Linuxのバージョン変更により、redis-cliコマンドのインストール方法が変わっていました。
解決方法
注意:本にのおすすめAMIは「Amazon Linux 2 AMI」でした
13章「サンプルアプリを動かしてみよう」でバージョン相違によるエラーが収集つかないほど発生します・・
以下記事を参考にしてください。
https://qiita.com/like-mountain/items/5c1565511a385b039a95
// Amazon Linux 2 (〜2023年まで)
amazon-linux-extras list
amazon-linux-extras install redis6
// Amazon Linux 2023 (AL2023)
dnf search redis
dnf install redis6
問題3:クラスター接続コマンドの相違
問題内容
ElastiCacheクラスターへの接続コマンドが書籍と異なっていました。
解決方法
本のコマンド
redis-cli -c -h YOUR-CLUSTER-NAME.xxxxx.clustercfg.apne1.cache.amazonaws.com
実際に動作したコマンド
redis6-cli --tls -h clustercfg.YOUR-CLUSTER-NAME.xxxxx.apne1.cache.amazonaws.com -p 6379 -c
接続コマンドの確認方法
AWS コンソールでは以下の手順で正しいコマンドを確認できます。
- ElastiCache > Redis OSS キャッシュ > 作成したキャッシュ
- **「キャッシュに接続する - 新規」**をクリック
- **「キャッシュに接続」**で適切なコマンドが表示される
問題4:クラスター接続テストコマンドの実行順序
クラスターの接続テストのコマンドの順番
また、本ではクラスターの接続テストで最初は「flushall」のコマンドを打っているが、私の環境ではエラーになり、最初は「set key1 "hello world"」のコマンドから確認した
問題内容
書籍では最初にflushallコマンドを実行していますが、この方法でエラーが発生しました。
解決方法
以下を最初にコマンドを実行することで正常に動作しました。
SET key1 "hello world"
エラーの原因
ElastiCacheクラスターでは、最初にレプリカノードに接続される場合があり、レプリカは読み取り専用のためflushallコマンドでエラーになります。SETコマンドは自動的にマスターノードにリダイレクトされるため、先に実行することで問題を回避できます。
終わりに
AWSサービスの進化により、体裁やコマンドが異なっていて戸惑いました。
同じ書籍で学習されている方の参考になれば幸いです。