出版

Jack Wallen が、データベースの高可用性と自動フェイルオーバーを実現する Redis クラスターを簡単にセットアップする方法を紹介します。

Redisはオープンソースのインメモリデータベースで、豊富な機能と、エンタープライズレベルのアプリやサービスに十分すぎるほどのパフォーマンスを提供します。最近、Redisを単一サーバーにデプロイする方法を紹介しました。単一サーバーでもプロジェクトには十分対応できますが、Redisのクラスタリングに伴う高度なフェイルオーバー機能を追加したいと考える可能性が高くなります。そこで、今回はまさにその点についてご紹介します。
Redis クラスターを使用すると、最大 1,000 ノードの高パフォーマンス、非同期レプリケーション、線形スケーリングを実現できます。
参照: 採用キット: データベースエンジニア (TechRepublic Premium)
Redisクラスターを適切にデプロイするには、6ノードのうち3ノードをコントローラーとして構成することが推奨されます。ここでは、このようなクラスターを以下のレイアウトで構築します。
- コントローラ1: 192.168.1.100
- コントローラ2: 192.168.1.101
- コントローラ3: 192.168.1.102
- ノード1: 192.168.1.200
- ノード2: 192.168.1.201
- ノード3: 192.168.1.202
元のチュートリアルに従い、すべてのマシンにRedisがインストールされていることを前提とします。これらが完了したら、クラスタリングの段階に進む準備が整います。
必要なもの
Redisが動作するマシンが6台必要です。あと必要なのはsudo権限を持つユーザーだけです。これで完了です。クラスタリングを始めましょう。
クラスターの構成方法
6台のマシンすべてで設定ファイルを編集する必要があります。以下のコマンドでファイルを開き、編集します。
sudo nano /etc/redis/redis.conf
最初に変更する必要があるのはbindオプションです。bind 127.0.0.1またはbind 0.0.0.0と記載されている箇所を、以下の様に置き換えてください。
bind SERVER
ここで、SERVER はそのマシンの IP アドレスです。つまり、コントローラ 1 は(私の例では)次のようになります。
bind 192.168.1.100
コントローラ 2 は次のようになります。
bind 192.168.1.101
などなど。
次に設定する必要がある行は次のようになります。
protected-mode no
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
appendonly yes
ファイルを保存して閉じます。
次のコマンドで各マシンの Redis を再起動します。
sudo systemctl restart redis
クラスターを初期化する方法
すべての設定が完了したら、クラスターを初期化します。これはRedis CLI commonコマンドで実行し、以下のように各IP:ポートを指定して実行する必要があります。
redis-cli --cluster create 192.168.1.100:7000 192.168.1.101:7000 192.168.1.102:7000 192.168.1.200:7000 192.168.1.201:7000 192.168.1.202:7000 --cluster-replicas 1
この--cluster-replicas 1
オプションは、コントローラーごとにノードが1つだけ存在することを意味します。コマンドの出力には、各ノードと、それぞれにランダムに生成されたIDが表示されます。プロンプトが表示されたら「yes」と入力すると、クラスターが初期化されます。
各ノードのステータスを確認する場合は、次のコマンドを実行します。
redis-cli -h 192.168.1.100 -p 7000 cluster nodes
上記のコマンドの出力には、すべてのノードがリストされます。
おめでとうございます。高可用性とフェイルオーバーを実現する最初のRedisクラスターをデプロイできました。これはおそらく、これまでで最も簡単なクラスター設定になるでしょう。自動フェイルオーバーによって得られるメリットは計り知れません。
追加された Redis のパワーをお楽しみください。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。
こちらもご覧ください
- Dremio vs Snowflake: 2つの優れたETLツールを比較
- 2022年最高のデータ復旧ソフトウェア
- 採用キット: データアーキテクト
- ビッグデータ:さらに読むべき記事

ジャック・ウォーレン
ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。