開発運用

Ubuntuで複数のRedisインスタンス設定

Redisは高性能なインメモリデータストアとして、キャッシュやデータベース、メッセージングシステムなど、さまざまな用途で広く使用されています。複数のRedisインスタンスをUbuntu 14.04にセットアップすることで、負荷分散や高可用性を実現できます。この記事では、Ubuntu 14.04における複数のRedisサーバの設定手順を詳細に解説します。

必要な準備

  1. Ubuntu 14.04のインストール
    Ubuntu 14.04をインストールしたサーバを用意してください。サーバはインターネットに接続されている必要があります。

  2. Redisのインストール
    Redisをインストールするために、まずはパッケージを更新してからインストールします。次のコマンドを実行してください。

    bash
    sudo apt-get update sudo apt-get install redis-server
  3. Redisバージョンの確認
    インストールが完了したら、Redisが正しくインストールされているか確認します。

    bash
    redis-server --version

    正常にインストールされていれば、Redisのバージョンが表示されます。

複数のRedisインスタンスをセットアップ

  1. 設定ファイルのコピーと編集

    UbuntuのRedisは、デフォルトでポート6379を使用しています。複数のRedisインスタンスを実行するには、各インスタンスごとに異なるポート番号を指定する必要があります。

    まず、設定ファイルをコピーします。設定ファイルは通常/etc/redis/redis.confにあります。

    bash
    sudo cp /etc/redis/redis.conf /etc/redis/redis_instance_1.conf

    その後、コピーした設定ファイルを編集し、ポート番号と他の設定を変更します。

    bash
    sudo nano /etc/redis/redis_instance_1.conf

    ファイル内で以下の項目を変更します:

    • port 6379を例えばport 6380に変更します。
    • daemonize nodaemonize yesに変更して、バックグラウンドで実行されるようにします。
    • pidfile /var/run/redis.pidの行も適切に設定します(インスタンスごとに異なるファイル名を指定するのが一般的です)。

    次に、同じ手順で複数のRedisインスタンスを設定します。例えば、redis_instance_2.confredis_instance_3.confというようにファイルをコピーし、それぞれポート番号を変更します。

  2. Redisインスタンスを起動する

    設定ファイルが準備できたら、各インスタンスを個別に起動します。

    bash
    sudo redis-server /etc/redis/redis_instance_1.conf sudo redis-server /etc/redis/redis_instance_2.conf sudo redis-server /etc/redis/redis_instance_3.conf

    各インスタンスはそれぞれ異なるポートで実行され、互いに干渉することなく動作します。

  3. Redisのステータス確認

    各インスタンスが正常に起動しているか確認するため、次のコマンドを使ってステータスを確認できます。

    bash
    redis-cli -p 6380 ping redis-cli -p 6381 ping redis-cli -p 6382 ping

    それぞれのインスタンスがPONGを返すことが確認できれば、正しくセットアップされています。

サービスとしての設定

Redisをシステムサービスとして起動することで、サーバ再起動時に自動でRedisが立ち上がるように設定できます。

  1. サービスファイルの作成

    /etc/systemd/system/ディレクトリ内に、Redisインスタンス用のサービスファイルを作成します。例えば、redis_instance_1.serviceという名前のサービスファイルを作成します。

    bash
    sudo nano /etc/systemd/system/redis_instance_1.service

    サービスファイルに以下の内容を追加します:

    ini
    [Unit] Description=Redis Instance 1 After=network.target [Service] ExecStart=/usr/bin/redis-server /etc/redis/redis_instance_1.conf ExecStop=/usr/bin/redis-cli -p 6380 shutdown Restart=always User=redis Group=redis [Install] WantedBy=multi-user.target
  2. サービスの起動と有効化

    サービスを起動し、システム起動時に自動的に開始されるように設定します。

    bash
    sudo systemctl start redis_instance_1 sudo systemctl enable redis_instance_1

    他のインスタンスに対しても同様の手順を繰り返します。

高可用性の設定 (オプション)

複数のRedisインスタンスをセットアップするだけでは、可用性や耐障害性の向上には限界があります。高可用性を実現するために、Redis Sentinelを使用することが一般的です。Redis SentinelはRedisクラスタの監視と自動フェイルオーバーを提供しますが、その設定には詳細な手順が必要です。

まとめ

複数のRedisインスタンスをUbuntu 14.04上でセットアップすることにより、効率的な負荷分散や可用性の向上が期待できます。各インスタンスは独立して動作し、必要に応じてサービスとして管理することが可能です。Redis Sentinelを使用することで、さらに高度な高可用性設定を実現できます。

Redisを複数インスタンスで運用することで、より高性能でスケーラブルなシステムを構築できるため、必要に応じて設定をカスタマイズしていきましょう。

Back to top button