Redis は、データベース、キャッシュ、メッセージ ブローカーとして広く使用されているオープン ソースのインメモリ データ構造ストアです。その高いパフォーマンスと柔軟性により、さまざまなテクノロジー分野で人気を博しています。このガイドは、Debian 12 Bookworm、Debian 11 Bullseye、または Debian 10 Buster に Redis をインストールする場合に役立ちます。
Redisの主な機能
- 高速データアクセス: Redis はデータをメモリに保存するため、取得が速くなります。そのため、キャッシュ アプリケーションに最適です。
- 複数のデータ構造: 従来のテーブルベースのデータベースとは異なり、Redis は文字列、ハッシュ、リスト、セットなどのさまざまなデータ構造をサポートしています。
- リアルタイムメッセージングRedis は、パブリッシュ/サブスクライブ メッセージング パターンを提供し、リアルタイムのアプリケーション通信を可能にします。
- データの永続性Redis は主にメモリ内データベースですが、定期的にデータをディスクに保存できるため、速度と耐久性のバランスが取れています。
- スケーラビリティと可用性: レプリケーション、シャーディング、Redis Sentinel などの機能により、複数のノードにわたる高可用性とスケーラビリティが保証されます。
Redis の一般的な使用例
- キャッシングRedis は、頻繁にアクセスされるデータをキャッシュして、取得時間を短縮するためによく使用されます。
- セッションストレージ: 特にトラフィック量の多い Web アプリケーションで、ユーザー セッション データを保存するのに適しています。
- メッセージキューイング: pub/sub 機能により、Redis はメッセージ キュー システムに最適です。
Redis の機能を理解することで、テクノロジー スタックを大幅に強化できます。次のガイドでは、Debian 12 Bookworm、Debian 11 Bullseye、または Debian 10 Buster に Redis をインストールする方法を詳しく説明します。インストール方法は 2 つあります。1 つは Debian のデフォルト リポジトリを使用する方法、もう 1 つは最新バージョンの公式 Redis リポジトリを使用する方法です。どちらの方法でも、コマンド ライン インターフェイス (CLI) コマンドを使用します。ステップ バイ ステップの手順をお楽しみに。
Redis インストール前の手順
Debian システム パッケージの更新
Redis やその他のソフトウェアをインストールする前に、まずシステムのパッケージが最新であることを確認します。この重要な準備ステップは、その後のインストール プロセス中に発生する可能性のある競合を軽減するのに役立ちます。これにより、すべてのシステム依存関係が最新であることが保証され、古いソフトウェア パッケージから発生する潜在的な問題が最小限に抑えられます。
Debian システムでは、ターミナルで次のコマンドを実行することでこれを実行できます。
sudo apt update && sudo apt upgrade
Redisのインストールに必要なパッケージをインストールする
Debian システム パッケージが最新になったら、Redis のインストールに必要な特定のソフトウェア パッケージをインストールする必要があります。
次のコマンドを実行してこれらのパッケージをインストールできます。
sudo apt install software-properties-common apt-transport-https curl ca-certificates -y
このコマンドをよりよく理解するために、詳しく見てみましょう。
sudo apt install
: このコマンドは、Debian システムにパッケージをインストールするために使用されます。software-properties-common
: このパッケージは、ソフトウェアとソース コードを安全に管理するための特定のスクリプトを提供します。apt-transport-https
: このパッケージは、apt パッケージ マネージャーが 'https' プロトコル経由でパッケージを取得するために必要です。curl
: これは、さまざまなネットワーク プロトコルを使用してデータを転送するためのコマンドライン ツールです。ファイルのダウンロードなどに役立ちます。ca-certificates
: このパッケージは、Web サイトのセキュリティを検証するために必要です。認証局 (CA) 証明書のセットを提供します。-y
: このオプションを選択すると、インストール中のすべてのプロンプトに対して自動的に「はい」と答えます。
Redisのインストール方法を選択する
オプション 1: APT Debian リポジトリを使用して Redis をインストールする
Debian は Redis をデフォルトのソフトウェア提供に含めていますが、そのバージョンは最新ではない可能性があります。Debian は安定性を重視しており、通常はセキュリティまたは重要な更新のみを提供しています。このため、Debian の Redis バージョンは古いものになるかもしれませんが、より安定していると言えます。Redis の使用目的が最新の機能を必要としない場合、これが最適な方法かもしれません。
この方法で Redis をインストールするには、ターミナルで次のコマンドを実行する必要があります。
sudo apt install redis
の sudo
コマンドはスーパーユーザー権限を提供しますが、 apt install redis
Redis ソフトウェア パッケージを Debian システムにインストールします。
オプション 2: Redis.io APT リポジトリを使用して Redis をインストールする
2 番目の方法は、最新バージョンの Redis を必要としている、または希望している人にとっては、より魅力的かもしれません。この方法では、公式の Redis.io リポジトリから APT リポジトリをインポートします。このリポジトリには、バグ修正、セキュリティ パッチ、機能更新が定期的に適用されます。
Redis.ioリポジトリをインポートする
まず、GPG キーをインポートします。GPG (GNU Privacy Guard) は、安全な通信とデータ保存に役立ちます。GPG キーはデータ ソースを検証し、ダウンロード中に誰かがデータを変更していないことを確認します。
GPG キーをインポートするには、次のコマンドを使用します。
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
次に、次のコマンドでリポジトリをインポートします。
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 APT インポート後のパッケージ インデックスの更新
新しいリポジトリを追加したら、新しいソースから利用可能なパッケージを確認するために、システムのパッケージ インデックスを更新する必要があります。これを行うには、次のコマンドを実行します。
sudo apt-get update
APTコマンドでRedisをインストールする
すべての設定が完了したら、Redis.io リポジトリから Redis をインストールできます。すでに Debian リポジトリから Redis がインストールされている場合は、代わりにアップグレードが表示されることがあります。次のコマンドは、Redis とともに、Redis サーバーとツールをインストールします。
sudo apt install redis redis-server redis-tools
Redisのインストールを確認する
インストール後は、インストールを確認することをお勧めします。 apt-cache policy
コマンドを実行して、Redis.io バージョンがインストールされていることを確認します。使用方法は次のとおりです。
apt-cache policy redis
次のコマンドを使用して、Redis インスタンスをアクティブ化し、システムの起動時に起動するように設定します。
sudo systemctl enable redis-server --now
Redis がエラーなしで実行されていることを確認するには、次のコマンドを使用します。
systemctl status redis-server
このコマンドは、 redis-server
サービスは現在実行されているはずです。
Redis の検査: Debian でのインストール後の検証
リスニングポート
デフォルトでは、Redis はポート 6379 を使用して localhost をリッスンします。Redis が期待どおりにアクティブにリッスンしていることを確認するには、次のコマンドを使用します。
ps -ef | grep redis
このコマンドは、Redis に関連する実行中のプロセスを表示します。これは、ポート 6379 での Redis のリスニング ステータスを反映するはずです。
Redis サービスの Ping テスト
ping テストは、Redis サービスが動作しているかどうかを確認する最も簡単な方法の 1 つです。これにより、Redis サービスへの接続が確立され、Redis サービスが起動して実行されており、コマンドに応答する準備ができていることが確認されます。
まず、次のコマンドで Redis サービスに接続します。
redis-cli
このコマンドを実行すると、ターミナルに次のように表示されます。 127.0.0.1:6379
は、ローカルホスト上の Redis に接続していることを示します。これで、次のようにして Redis サービスに ping を実行できます。
ping
Redisインスタンスの終了
検証チェックを完了し、Redis が正しく動作することを確認したら、次のように入力して Redis インスタンスを終了します。
exit
Debian APT リポジトリまたは公式の Redis.io APT リポジトリを使用して、Debian システムに Redis を正常にインストールしました。
Redis の設定とセットアップ
Redis は、その柔軟性とさまざまなニーズに対応できる能力が際立っています。このセクションでは、キャッシュとネットワーク アクセス用に Redis を調整し、セキュリティを強化するためにパスワードを追加する方法について説明します。
Redis 設定ファイルへのアクセス
Redisのカスタマイズの旅は、次の場所にあるRedis設定ファイルから始まります。 /etc/redis/redis.conf
このファイルは、次のようなテキストエディタを使用して開く必要があります。 nano
.
以下のコマンドを実行します。
sudo nano /etc/redis/redis.conf
キャッシュの最大メモリの指定
Redis の使用例としては、アプリケーションのパフォーマンスを向上させるためにデータをキャッシュすることが挙げられます。この目的のために Redis で特定の量のメモリを指定するには、構成ファイルの後に次の行を追加します。
maxmemory 500mb
maxmemory-policy allkeys-lru
このシナリオでは、Redis に 500 MB のメモリを割り当てています。サーバーの仕様とアプリケーションの要件に基づいて、この量を自由に調整してください。
割り当てられたメモリが容量に達すると、Redis は Least Recently Used (LRU) ポリシーに従ってキーを削除します。
ネットワークアクセスの設定
デフォルトでは、Redis は localhost インターフェースのみをリッスンします。この設定を変更して、Redis がすべてのインターフェースまたは特定の IP アドレス/サブネットをリッスンできるようにすることができます。
まず、設定ファイルの 69 行目を見つけます。
オプション 1: すべてのネットワーク インターフェイスをリッスンする
Redisがすべてのネットワークインターフェースをリッスンするようにするには、 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 インスタンスにさらに保護層を追加するには、認証用のパスワードを設定します。
で始まる行を検索 # requirepass
(507 行目あたり) のコメントを解除し、強力なパスワードを設定します。
requirepass YourStrongPasswordHere
交換する YourStrongPasswordHere
大文字と小文字、数字、特殊記号を組み合わせた強力なパスワードを使用します。
変更をコミットしてRedisを再起動する
設定ファイルに必要な調整を加えたら、 Ctrl + O
、そして終了する nano
エディタを押すと Ctrl + X
.
最後に、新しい設定を有効にするために Redis サービスを再起動します。
sudo systemctl restart redis
このコマンドは、システムに Redis サービスを停止し、すぐに再起動するように要求します。これにより、Redis が設定した新しい構成パラメータに基づいて動作するようになります。
Redis サービスが正常に再起動され、正しく実行されていることを確認するには、次のコマンドを実行してサービスのステータスを確認します。
sudo systemctl status redis
このコマンドは、Redis サービスのステータス (アクティブまたは非アクティブ)、稼働時間、インストールの確認時に以前に表示されたログ メッセージなど、Redis サービスに関する情報を返します。
UFW を使用して Redis のファイアウォールを構成する
Redis サーバーを保護するには、堅牢なファイアウォールを設定する必要があります。Redis には、デフォルトでファイアウォールは含まれていません。また、Debian では、iptables に精通していない限り、すぐに使用できるファイアウォール ソリューションは提供されていません。ただし、初心者でも使用できる簡単な方法があります。この方法では、ユーザー フレンドリなファイアウォール ツールである Uncomplicated Firewall (UFW) を使用します。
UFWがインストールされていることを確認する
まず、Debian サーバーに UFW があるかどうかを確認します。ない場合は、次のコマンドを使用してインストールします。
sudo apt install ufw -y
このコマンドでは、 sudo
ルート権限でコマンドを実行するために使用されます。 apt install
パッケージをインストールするコマンドです。 ufw
インストールするパッケージであり、 -y
あらゆるプロンプトに対して自動的に「はい」と答えるオプションであり、これにより、ユーザーの入力なしでインストールを続行できます。
UFW を有効にする
UFW をインストールしたら、システムの機能と保護を開始するには有効にする必要があります。次のコマンドで UFW を有効にできます。
sudo ufw enable
このコマンドは、UFW に、設定したルールまたは設定する予定のルールをアクティブ化して適用するように指示します。
Redis の UFW ルールの設定
UFW がアクティブになったので、Redis サーバーを保護するように設定できます。特定の状況や、Redis インストールがスタンドアロン サーバーであるかクラスターの一部であるかに応じて、異なるファイアウォール ルールを設定する必要がある場合があります。
追加のネットワークIPサーバーインスタンスの場合
UFW で保護するスタンドアロン Redis サーバーがある場合は、次のコマンドを使用します。
sudo ufw allow proto tcp from <ip address> to any port 6379
ここで、 <ip address>
接続を許可するサーバーの IP アドレスに置き換えます。このコマンドは、UFW に、その IP アドレスからポート 6379 (Redis のデフォルト ポート) 上の任意のシステムへの TCP 接続を許可するように指示します。
複数のインスタンスを持つクラスタネットワークの場合
Redis サーバーのクラスターを使用している場合は、サブネット全体からの接続を許可できます。これを行うには、次のコマンドを使用します。
sudo ufw allow proto tcp from <ip address>/24 to any port 6379
このコマンドでは、 <ip address>
接続を許可するサブネットの IP アドレスに置き換えます。このコマンドは、Redis サーバーをすべてのデバイスに公開するため、このサブネット上のすべてのデバイスに対する重要な信頼を意味することに注意してください。したがって、このコマンドは、内部ネットワークが安全であることが確実な場合にのみ使用してください。
UFW 構成の検証
UFWルールを設定したら、意図したとおりに動作するか確認することが重要です。このガイドの冒頭でRedisサーバーにpingを実行して動作を確認したのと同じように、新しいファイアウォールルールをテストすることもできます。 redis-cli
指示:
redis-cli -h <ip address> ping
再度、置き換え <ip address>
RedisサーバーのIPアドレスを入力します。ファイアウォールルールが正しく設定され、Redisサーバーが正常に動作している場合、このコマンドの出力は単純なものになります。 pong
.
このコマンドでは、 redis-cli
Redisのコマンドラインインターフェースです。 -h
ホスト(サーバーのIPアドレス)を指定し、 ping
Redis サーバーへの接続を確認するコマンドです。
出力の解釈
からの出力 redis-cli
コマンドは、ファイアウォール ルールが期待どおりに動作しているかどうかを確認するのに役立ちます。
pong
この出力は良い兆候です。 pong
応答は、Redis サーバーがアクセス可能であり、コマンドを受け入れる準備ができていることを示します。これは、UFW で設定したファイアウォール ルールが正しく機能し、サーバーが意図したとおりに通信できることを確認します。
追加のRedis設定例
前述のように、Redis は多くの機能を備えた柔軟なインメモリ データ ストアです。キャッシュやメッセージングに使用できます。構成ファイルを変更することで、Redis を希望どおりに動作させることができます。ここでは、Redis のその他の構成オプションについて説明します。
キー値の有効期限ポリシーの設定
Redis のキーのデフォルトの有効期間 (TTL) を設定するには、構成ファイルの maxmemory-policy および maxmemory-samples 設定を変更します。次のコマンドを使用してファイルを開きます。
sudo nano /etc/redis/redis.conf
探してください maxmemory-policy
設定して、好みに合わせて構成します。たとえば、LRU (Least Recently Used) アルゴリズムに従ってキーを期限切れにするポリシーを確立する場合は、次のように構成を更新します。
maxmemory-policy volatile-lru
次に、 maxmemory-samples
設定。これにより、Redis が削除の決定を下すために確認するサンプルの数が決まります。
maxmemory-samples 5
TCP キープアライブを有効にする
TCPキープアライブを有効にすると、アイドル接続を検出して閉じることができ、貴重なシステムリソースを解放することができます。 tcp-keepalive
設定 /etc/redis/redis.conf
有効にするには次のファイルを使用します:
tcp-keepalive 300
この例では、キープアライブ間隔を 300 秒に設定しています。この数値は、サーバーの要件と状況に応じて調整する必要があります。
スローログ監視の設定
スローログは、パフォーマンスの問題を特定するための貴重なメカニズムを提供します。これは、指定された期間を超えるクエリをログに記録することによって行われます。 slowlog-log-slower-than
そして slowlog-max-len
設定で /etc/redis/redis.conf
スローログを構成するファイル:
slowlog-log-slower-than 10000
slowlog-max-len 128
上記の例では、スローログしきい値を 10,000 マイクロ秒 (10 ミリ秒に相当) に設定しています。スローログは最新の 128 個のエントリを保持します。これらの値は、特定の要件と条件に合わせて調整する必要があります。
Redis イベント通知を有効にする
Redisは特定のイベントの通知を作成でき、監視とデバッグのための強力なツールを提供します。イベント通知を有効にするには、 notify-keyspace-events
設定 /etc/redis/redis.conf
ファイル:
notify-keyspace-events ExA
ここでは、期限切れのキーと削除されたキーに関する通知を送信するように Redis を構成します。公式の Redis ドキュメントは、イベント通知と利用可能な選択肢に関する詳細情報の包括的なリソースです。
Redis ログレベルの調整
Redis のトラブルシューティングと監視をより適切に行うには、ログ レベルを変更します。/etc/redis/redis.conf ファイルで loglevel 設定を調整することで、これを実行できます。
loglevel notice
デフォルトのログ レベルは「notice」に設定されています。その他のオプションは「debug」、「verbose」、「notice」、「warning」です。ニーズに最適なレベルを選択してください。
sudo systemctl restart redis-server
このコマンドは Redis を再起動し、変更が有効になります。
終わりに
Debian 12、11、または 10 サーバーへの Redis のインストールと構成について説明しました。これには、初期インストール、セキュリティのためのファイアウォール構成、およびその他のカスタマイズ オプションが含まれます。Redis には多くの構成オプションがあり、ニーズに合わせてパフォーマンスと動作を調整できます。