2026年9月16日

2026年9月16日

RedisのSentinelで高可用性を実現する方法

はじめに

Redisは高速なキー値ストアとして広く使用されているが、単一ノードでの稼働では停止時のデータ損失やダウンタイムのリスクがある。Sentinelはこの問題を解決し、Redisクラスターの高可用性と自動リプリケーション機能を提供するモニタリングツールである。

症状・背景

  • Redisサーバーの単一ポイント障害が懸念される場合。
  • パフォーマンスや耐障害性を向上させる必要がある場合。
  • 無停止クラスターの構築が必要な場合。
  • システム全体の可用性を確保したい場合。

手順・設定方法

ステップ1: Sentinelをインストールと起動

# CentOSの場合
sudo yum install redis-sentinel -y

# Ubuntuの場合
sudo apt-get update && sudo apt-get install redis-server redis-tools -y

# sentinel起動コマンド
redis-cli -p 26379 --sentinel mymaster down

ステップ2: Sentinelの設定ファイルを編集

# /etc/redis/sentinel.conf を開く
sudo nano /etc/redis/sentinel.conf

# 下記の設定を行います。
port 26379
dir ./        # ログ出力ディレクトリ指定

# Sentinelマスター名と監視ノードを追加
sentinel monitor mymaster <master_ip> 6379 2

ステップ3: Redisサーバーの設定

# /etc/redis.conf を開く
sudo nano /etc/redis.conf

# Sentinelとの接続を有効化するため、下記行にコメントアウトを外す
appendonly no

ステップ4: SentinelとRedisサーバーの起動

# Sentinel起動
redis-sentinel /etc/redis/sentinel.conf

# Redisサーバー起動
systemctl start redis.service

注意事項

  • セキュリティ上、通信を暗号化するためにSSL/TLSを使用すること。
  • ノード数が増えるにつれて、ネットワーク帯域や処理能力の増加が必要になることに注意する。
  • Sentinelはマスターレプリケーションと故障耐性を提供し、ノードのダウンや障害を自動的に検出・修正する。

まとめ

1. Sentinelのインストール: Redisサーバーの安定稼働と高可用性を実現するために必要です。

2. Sentinelの設定: マスターノードとレプリケートノードの設定を行うことで、冗長化と故障耐性を確保します。

3. Redisの設定: Sentinelとの接続を有効にするための設定変更が必要となります。

4. SentinelとRedisサーバーの起動: 各種コンフィギュレーションを適用し、サービスを開始します。

関連記事:

  • [Redisの基本操作]
  • [データベースのバックアップと復元]
  • [Redis Clusterの構築と管理]

お気軽にご相談ください

お見積りへ お問い合わせへ
▲