Laravel
LaravelプロジェクトにElastiCacheのRedisのクラスタモードでパスワード認証をする方法
目次
LaravelプロジェクトにElastiCacheのRedisのクラスターモードでパスワード認証をする方法についてまとめました。
PR
検証した環境
今回検証した環境については以下の環境ですが、Laravel8 以降のドキュメントを参照して実装しているので、predis のバージョンさえ一致していれば同じやり方で実装が可能だと思います。
predis 2.2
クラスターモード今回実装する仕様
- PHP Laravel(EC2)
- ElastiCache Redis(AWS)
- クラスターモード
- パスワード認証
- 転送中の暗号化(TLS)
- その他(価格をできるだけ抑えた設定)
まず、AWS のコンソールで ElastiCache の Redis キャッシュを新規作成する
この記事では、実験的に環境を構築するためお金がかからないであろう設定をしています。
AWS に使い慣れていない人は参考にしてみてください。
キャッシュを作成で Redis を選択する
設定
-
デプロイオプション「独自のキャッシュを設計」
-
作成方法「クラスターキャッシュ」
クラスターモード
- 有効
クラスター情報
- 名前と説明を入力(日本語入力不可だと思います)
ロケーション
-
ロケーション「AWS クラウド」
-
マルチ AZ 「無効(有効のチェックを外す)」
クラスター設定
-
エンジンバージョン「7.1」
-
ポート「6397」
-
パラメーターグループ「default.redis7.cluster.on」
-
ノードのタイプ「cache.t3.micro」
※記事作成中で無料枠のノードタイプを選んでいます(無料枠についてはこちら)
-
シャード数「1」
-
レプリカ数「0」
接続性
-
ネットワークタイプ「IPv4」
-
サブネットワーク「新しいサブネットグループの作成」 → 適当な名前で、EC2 と同じ VPC に作成する。
アベイラビリティーゾーンの配置
- スロットおよびキースペース「均等分散」
- アベイラビリティーゾーンの配置「指定がありません」
セキュリティ
この項目で、パスワードを設定します。パス ワードを設定するためには転送を暗号化する必要があるようです。
- 保管中の暗号化「有効化」
- 転送中の暗号化「有効化」
- アクセスコントロール「Redis 認証デフォルトユーザーアクセス」
- Redis 認証トークン → 使いたいパスワードを入力してください。この記事では、「password」と入力
セキュリティグループ
セキュリティグループに関しては、
- インバウンドに、使用する EC2 のセキュリティグループ、使用ポート(6379)
- アウトバウンド、「なし」
自動バックアップ
- 自動バックアップを有効化しない
自動バックアップをテストしたい場合は有効化してください。
メンテナンス
-
メンテナンス期間 「指定がありません」
-
マイナーバージョンの自動アップグレード「有効化」
-
Amazon SNS 通知のトピック「通知を無効化」
ログ
-
スローログ「無効」
-
エンジンログ「無効」
タグ
なし
