KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

Install redis on Amazon Linux 2023


という事で、簡単なメモ。


   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
Last login: Wed Aug  9 10:31:54 2023 from 172.29.1.249

Amazon Linux 2023 に redis をインストールしたい、というニッチな話です。

本番なら ElastiCache 使えばいいと思うので、
「開発環境とか受入環境用途にElastiCache は高いという声があった時くらいしか使わないと思いますが。
redis 自体は非常に軽量なサービスなので、t4g.nano でも問題無く動いてくれます。

まず redis 自体のインストールは以下でOK

sudo dnf update -y
sudo dnf install -y redis6

このままだとローカルしかつながらないので、

sudo sed -i 's/bind 127.0.0.1 -::1/bind 0.0.0.0/' /etc/redis6/redis6.conf

のように、BIND のところを修正します。

sudo systemctl daemon-reload
sudo systemctl start redis6

で起動するので、これで話は終わりなんですが。

インスタンス再起動しても自動起動するように、

sudo systemctl enable redis6

をやっといてください。

接続したいインスタンスから、

telnet dev-redis 6379

してから PING と入力してみて、PONG と返ってくるかどうか確認すればOKです。
telnetセッションを終了する場合は、Ctrl+]キーを押してからquitと入力し、Enterキーを押します。

今回も、同一インスタンス内に複数の redis を起動してみます。

sudo cp -p /etc/redis6/redis6.conf /etc/redis6/redis6-6380.conf
sudo sed -i -e 's/port 6379/port 6380/' \
       -e 's/dbfilename dump.rdb/dbfilename dump-6380.rdb/' \
       -e 's@logfile /var/log/redis6/redis6.log@logfile /var/log/redis6/redis6-6380.log@' \
       -e 's@dir /var/lib/redis6@dir /var/lib/redis6-6380@' \
       -e 's@pidfile /var/run/redis_6379.pid@pidfile /var/run/redis_6380.pid@' \
       /etc/redis6/redis6-6380.conf
sudo cp /usr/lib/systemd/system/redis6.service /usr/lib/systemd/system/redis6-6380.service
sudo sed -i -e 's/Description=Redis persistent key-value database/Description=Redis persistent key-value database for port 6380/' \
-e 's|/etc/redis6/redis6.conf|/etc/redis6/redis6-6380.conf|' /usr/lib/systemd/system/redis6-6380.service
sudo mkdir /var/lib/redis6-6380
sudo chown redis6:redis6 /var/lib/redis6-6380

準備完了です。以下で起動するついでに、再起動時にも起動するようにします。

sudo systemctl daemon-reload
sudo systemctl start redis6-6380.service
sudo systemctl enable redis6-6380.service

【関連記事】
Install memcached on Amazon Linux 2023