Ubuntu 24.04、22.04、20.04 に Redis をインストールする方法

Redis は、データベース、キャッシュ、メッセージ ブローカーとして広く使用されている強力なインメモリ データ構造ストアです。高いパフォーマンスと汎用性で知られる Redis は、文字列、ハッシュ、リスト、セットなどのさまざまなデータ構造をサポートしているため、高速なデータ アクセスとリアルタイム分析を必要とするアプリケーションでよく使用されます。

Ubuntu 24.04、22.04、または 20.04 では、Redis は主に 2 つの方法でインストールできます。最初の方法は、Ubuntu のデフォルト リポジトリを使用する方法です。この方法では、システムのパッケージ管理と適切に統合された安定したバージョンが提供されます。また、最新の機能と更新を含む最新バージョンを必要とするユーザーの場合は、Redis APT ミラー リポジトリを使用して Redis をインストールできます。このガイドでは、両方のインストール方法について説明し、ニーズに最適な方法を選択できるようにします。

方法 1: APT デフォルト リポジトリ経由で Redis をインストールする

Redis をインストールする前に Ubuntu を更新する

Redis をインストールする前に、システムのパッケージが最新であることを確認することが重要です。この手順により、インストール プロセス中に発生する可能性のある競合を回避できます。Ubuntu システムを更新するには、次のコマンドを実行します。

sudo apt update && sudo apt upgrade

このコマンドは、リポジトリから最新のパッケージ情報を取得し、システム上の古いパッケージをアップグレードします。

APTコマンドでRedisをインストールする

デフォルトでは、Redis パッケージは Ubuntu リポジトリに含まれており、次のコマンドでインストールできます。

sudo apt install redis

このコマンドは、Redis パッケージとその依存関係をシステムにダウンロードしてインストールします。

Redisのインストールを確認する

Redis をインストールしたら、インストールされたバージョンを確認する必要があるため、インストールを確認することが重要です。この手順により、Redis が正しくインストールされ、期待どおりに機能することが保証されます。

Redis のインストールを確認するには、次のコマンドを実行します。

redis-cli --version

このコマンドは、システムにインストールされている Redis のバージョンを表示します。出力に Redis のバージョンが表示された場合、インストールが成功したことを確認できます。

方法 2: Redis.io APT PPA 経由で Redis をインストールする

Redis.io で Redis をインストールする前に Ubuntu を更新する

Redis のインストールを続行する前に、互換性を確保し競合を防ぐためにシステムのパッケージを更新してください。

sudo apt update && sudo apt upgrade

Redis.io PPA の初期パッケージをインストールする

インストールを完了するには、いくつかの前提条件となるソフトウェア パッケージをインストールする必要があります。インストールするには、次のコマンドを実行します。

sudo apt install software-properties-common apt-transport-https curl ca-certificates curl -y

これらのパッケージは、Redis.io リポジトリを追加し、パッケージ情報を安全に取得するために必要です。

Redis.io APTリポジトリをインポートする

まず、パッケージを認証するために GPG キーをインポートします。

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

次に、Redis.io リポジトリをシステムに追加します。

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

Redis.io PPA インポート後のパッケージ リストの更新

新しく追加された Redis.io リポジトリを含めるようにソース リストを更新します。

sudo apt update

ターミナルコマンドでRedis PPAのインストールを完了する

これで、Redis.io リポジトリから Redis をインストールできます。Redis がすでにインストールされている場合は、次のコマンドでアップグレードできます。

sudo apt install redis-server redis-tools

Redis のインストールの確認

Redis.io バージョンがインストールされていることを確認するには、apt-cache policy コマンドを使用します。

apt-cache policy redis-server

出力に正しいバージョンが示されていることを確認します。

次に、Redis サービスを有効にして起動します。

sudo systemctl enable redis-server --now

Redis サービスのステータスを確認し、エラーなしで実行されていることを確認します。

systemctl status redis-server

Redis は、デフォルトのポート 6379 で localhost をアクティブにリッスンしている必要があります。これを確認するには、次のコマンドを実行します。

ps -ef | grep redis

出力例:

redis       4171       1  0 23:35 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
joshua      4702    4691  0 23:36 pts/0    00:00:00 grep --color=auto redis

Redis接続をテストする

Redis のインストールをテストするには、redis-cli コマンドを使用して Redis サービスに接続します。

redis-cli

接続すると、ターミナルに 127.0.0.1:6379 が表示されます。Redis サービスとの適切な通信を確認するために ping テストを実行します。

ping
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

出力は「PONG」となり、接続が成功したことを示します。Redis インスタンスを終了するには、次のように入力します。

exit

おめでとうございます。Redis がシステムに正常にインストールされ、動作していることが確認されました。これで、必要に応じて Redis の設定に進むことができます。

Redis の設定に関する簡単な概要

Redis は、さまざまなユースケースに合わせてさまざまな方法で構成できる多目的ツールです。このセクションでは、キャッシュ、ネットワーク アクセス、およびセキュリティ強化のためのパスワード設定のために Redis を構成する方法について説明します。

Redis設定ファイルを編集する

Redis の設定を開始するには、nano エディタを使用して /etc/redis/redis.conf ファイルを開きます。

sudo nano /etc/redis.conf

Redis の最大メモリを設定する

Redis が使用される主な理由の 1 つは、キャッシュの目的です。Redis キャッシュに特定の量のメモリを割り当てるには、構成ファイルの最後に次の行を追加します。

maxmemory 500mb 
maxmemory-policy allkeys-lru

この例では、500 MB のメモリを Redis 専用にしています。この値は、サーバーのハードウェアとアプリケーションの要件に基づいて調整できます。割り当てられたメモリが使い果たされると、Redis は Least Recently Used (LRU) アルゴリズムに基づいてキーを削除します。

Redis のネットワーク アクセスを構成する

デフォルトでは、Redis は localhost インターフェースのみをリッスンします。すべてのネットワーク インターフェースまたは特定の IP アドレス/サブネットをリッスンするように構成できます。

まず、設定ファイルの 69 行目を見つけます。

オプション 1: すべてのネットワーク インターフェースでリッスンする

すべてのネットワークインターフェースをリッスンするには、「bind」行をコメントアウトして、 # 冒頭:

# bind 127.0.0.1 ::1

オプション2: 特定のIPアドレスまたはサブネットにバインドする

Redis を特定の IP アドレスまたはサブネットにバインドするには、「bind」行を目的の IP またはサブネットに置き換えます。

bind 0.0.0.0/0

または

bind 192.150.5.0/24

注: Redis を IP アドレスまたはサブネットにバインドする場合は、セキュリティを強化するためにパスワードを設定することを強くお勧めします。

Redis のパスワードを設定する

Redis インスタンスをさらに安全にするには、認証用のパスワードを設定します。

# requirepass で始まる行 (507 行目付近) を見つけてコメントを解除し、強力なパスワードを設定します。

requirepass YourStrongPasswordHere

YourStrongPasswordHere を、大文字、小文字、数字、特殊記号を組み合わせた強力なパスワードに置き換えます。

パスワードを設定したら、redis-cli を使用して Redis に接続するときに、パスワードを指定した auth コマンドを使用する必要があります。

redis-cli
auth YourStrongPasswordHere

認証に失敗したユーザーには、エラー メッセージが表示されます: (エラー) NOAUTH 認証が必要です。認証が成功すると、ユーザーには OK メッセージが表示されます。

変更を保存してRedisを再起動する

設定ファイルに必要な変更を加えたら、Ctrl + O を押して変更を保存し、Ctrl + X を押して nano エディターを終了します。最後に、Redis サービスを再起動して新しい設定を適用します。

Redis UFW ファイアウォールルールを構成する

Redis を使用する場合、特に特定の IP アドレスまたはサブネットをリッスンするように設定している場合は、ファイアウォールが TCP ポート 6379 での着信接続を許可していることを確認することが重要です。このセクションでは、Redis 接続を許可するための UFW (Uncomplicated Firewall) ルールの設定について説明します。

UFWがインストールされ、有効になっていることを確認する

まず、UFW がシステムにインストールされていることを確認します。

sudo apt install ufw -y

次に、まだ UFW が有効になっていない場合は有効にします。

sudo ufw enable

Redis の UFW ルールを作成する

要件とネットワーク設定に応じて、単一のサーバー インスタンスまたはクラスター内の複数のインスタンスに対してルールを作成する必要があります。

オプション1: 特定のIPアドレスからのアクセスを許可する

単一のサーバーから Redis へのアクセスを許可する必要がある場合は、その特定の IP アドレスに対して UFW ルールを作成します。

sudo ufw allow proto tcp from <ip address> to any port 6379

交換する適切な IP アドレスを使用します。

オプション2: サブネットからのアクセスを許可する

複数のインスタンスを持つクラスター ネットワークがある場合は、サブネット全体からのアクセスを許可する UFW ルールを作成できます。

sudo ufw allow proto tcp from <ip address>/24 to any port 6379

交換する適切なサブネット IP アドレスを使用します。このルールを使用する前に、内部ネットワークが安全で信頼できることを確認してください。

Redisの接続性をテストする

UFW ルールを設定したら、Redis サービスが動作し、許可された IP アドレスまたはサブネットからアクセスできることを確認するためにテストします。-h フラグの後に、接続先の IP アドレスを指定して redis-cli コマンドを使用します。

redis-cli -h  <ip address> ping

交換する適切な IP アドレスを入力します。設定が正しければ、「pong」応答が返されます。

pong

追加のRedis設定オプション

Redis は、主にキャッシュ、メッセージ ブローカーなどに使用される、多用途で機能豊富なインメモリ データ構造ストアです。このセクションでは、Redis 構成ファイルを変更して、特定のニーズに合わせてパフォーマンスと動作をカスタマイズするのに役立つ、Redis の追加構成オプションについて説明します。

Redis のキー値有効期限ポリシーを構成する

Redis 構成ファイルでは、maxmemory-policy および maxmemory-samples 設定を変更することで、キーのデフォルトの有効期間 (TTL) を設定できます。nano エディタを使用して /etc/redis/redis.conf ファイルを開きます。

sudo nano /etc/redis/redis.conf

maxmemory-policy 設定を見つけて、必要に応じて構成します。たとえば、最近最も使用されていない (LRU) アルゴリズムを使用してキーを期限切れにするポリシーを設定するには、次のように構成を更新します。

maxmemory-policy volatile-lru

次に、maxmemory-samples 設定を見つけて、Redis が削除の決定を行うためにチェックするサンプルの数を構成します。

maxmemory-samples 5

Redis の TCP キープアライブを設定する

TCP キープアライブは、アイドル接続を検出して閉じ、リソースを解放するのに役立ちます。TCP キープアライブを有効にするには、/etc/redis/redis.conf ファイルで tcp-keepalive 設定を見つけます。

tcp-keepalive 300

この例では、キープアライブ間隔を 300 秒に設定しています。要件に応じて値を調整してください。

Redis のスローログ監視を構成する

スロー ログは、指定された時間よりも長くかかるクエリをログに記録することで、パフォーマンスの問題を特定するのに役立ちます。スロー ログを構成するには、/etc/redis/redis.conf ファイルで slowlog-log-slower-than および slowlog-max-len 設定を見つけます。

slowlog-log-slower-than 10000
slowlog-max-len 128

この例では、スローログしきい値を 10,000 マイクロ秒 (10 ミリ秒) に設定し、スローログを最新の 128 エントリに制限します。必要に応じてこれらの値を調整してください。

Redisのイベント通知を設定する

Redis は特定のイベントの通知を生成できます。これは監視やデバッグに役立ちます。イベント通知を有効にするには、/etc/redis/redis.conf ファイルで、notify-keyspace-events 設定を見つけます。

notify-keyspace-events ExA

この例では、期限切れのキーと削除されたキーに関する通知を送信するように Redis を構成します。公式の Redis ドキュメントには、イベント通知と利用可能なオプションに関する詳細情報が記載されています。

Redisのログレベルを設定する

Redis のログ レベルを調整すると、トラブルシューティングや監視の目的で適切な量の情報を収集するのに役立ちます。ログ レベルを設定するには、/etc/redis/redis.conf ファイルで loglevel 設定を見つけます。

loglevel notice

この例では、ログ レベルをデフォルトのレベルである「notice」に設定しています。debug、verbose、notice、warning のオプションから選択できます。必要に応じてログ レベルを調整してください。

必要なオプションを設定したら、変更を保存して Redis を再起動します。

sudo systemctl restart redis-server

結論

Ubuntu システムに Redis をインストールすると、メモリ内データを管理するための強力なツールにアクセスでき、さまざまなアプリケーションに高速で効率的なストレージ ソリューションを提供できます。Ubuntu のデフォルト リポジトリの安定性を選択するか、Redis APT ミラー リポジトリの最新機能を選択するかにかかわらず、どちらの方法でも堅牢なインストールが保証されます。特に APT ミラーを使用する場合は、Redis セットアップを定期的に更新すると、最新の機能とセキュリティの改善により、システムがスムーズに実行されます。Redis が Ubuntu 環境にもたらすスピードと柔軟性をお楽しみください。

Joshua James

コメントを残す