Redisとは、NoSQLに分類されるデータベースです。
メモリ上で動作するため非常に高速に動作するという特徴があります。
本記事では、CentOS上でRedisをインストールし、初期設定を行う手順を紹介します。
ぜひこの手順を参考に実際に構築してみてください。
2023.07.06
CentOS 7 のインストール直後に行う初期設定を紹介
CentOS Linux(以下、CentOS)は、RHEL(Red Hat Enterprise Linux)と完全互換を目指して開発された...
CentOSをVPSで利用するなら
ミライサーバー
\ 2週間無料でお試しできます! /
VPSを使ってみる
目次
Redisとは
Redisの概要
Redisは、NoSQLに分類されるオープンソースのインメモリデータベースです。
メモリ上でデータを保持し、キーと値のペアを高速に処理するため、ディスクベースのデータベースよりも高速な操作が可能です。
主に、高速なデータ取得や格納、キャッシングなどの目的で使用されています。
NoSQLについては、以下Winserverのコラムで詳しく解説しています。
Winserver:NoSQLとは。データベースの特徴と、RDBMSとの違いを解説
Redisは以下のような特徴があります。
1.複数のデータ型に対応
一般的にキーバリュー型では、キーに対して文字列値を関連づけてデータを保存しています。
Redisでは、キーに対して文字列型だけでなく、リスト型やハッシュ型など複数のデータ型の値を保持することが可能です。
これにより、他のNoSQLデータベースに比べ、複雑なデータでも格納できます。
2.データの永続化をサポート
インメモリデータベースはメモリ上で動作するため、プロセスが終了するとデータは消えてしまいます。
しかし、Redisはデータの永続化もサポートしており、データを定期的にディスクへ書き込みます。
これにより、システムの再起動時にデータを復元することも可能です。
\ 2週間無料でお試しできます! /
VPSを使ってみる
Redisのインストール
前提条件
今回は、ミライサーバーのVPSを利用し、仮想マシン上に構築されたCentOSを使用します。
仮想マシンのスペックは以下のとおりです。
- CPU:4コア
- Memory:4GB
- Disk:SSD300GB
CentOSは以下のバージョンを利用しています。
- CentOSのバージョン:CentOS 7.9.2009
※ミライサーバーではCentOS 7などのOSをインストールした状態からお使いいただけます。
また、コマンドの標記については、実際に入力するコマンドを太字、補足の内容を青字で記載しています。
Redisインストール手順
ここからは、CentOSにRedisをインストールする手順を紹介します。
1.一般ユーザーをwheelグループに登録
CentOSにRedisをインストールするには、管理者権限が必要です。
rootユーザーアカウントに直接ログインして使用するのは、セキュリティ上リスクがあるため、管理者権限への実行を許可する一般ユーザーをwheelグループに追加します。
以下のコマンドでは、rootユーザーで一般ユーザー(以下の例では、testuser)をwheelグループに追加しています。
# usermod -G wheel testuser |
今後管理者権限を使用する場合は、rootユーザーでログインするのではなく、一般ユーザーから、必要に応じてsuコマンドでrootユーザーに切り替えた上で実行するようにしましょう。
rootユーザーに切り替えるには、suコマンドを実行します。
$ su –
パスワード: ※rootユーザーのパスワードを入力
# ※rootユーザーになった
2. remiリポジトリの追加
CentOSでは、Redisはremiリポジトリからインストールできるため、remiリポジトリを追加します。
$ sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm |
このコマンドは、remiリポジトリのリリースパッケージをダウンロードしてインストールするためのものです。
-yオプションは、パッケージのインストールを確認せずに自動的に行うためのものです。
Remiリポジトリを有効にするには、次のコマンドを使用します。
$ sudo yum-config-manager –enable remi |
これでremiリポジトリが有効になり、Redisを含む様々なパッケージが利用可能になります。
remiリポジトリを有効にすることで、最新のバージョンや追加のパッケージが利用できるようになります。
3. Redisパッケージのインストール
remiリポジトリをオプションで有効にしてから、次のコマンドでRedisをインストールします。
$ sudo yum –enablerepo=remi install redis |
このコマンドは、remiリポジトリからRedisをインストールするためのものです。
–enablerepo=remiのオプションは、remiリポジトリを有効にして指定のパッケージをインストールするためのものです。
指定しないとremiリポジトリが利用されません。
2023年11月時点では、最新のバージョン7.2.3がインストールされます。
Redisが正常にインストールされたか確認するため、バージョンを表示します。
$ redis-server -v |
今回は「7.2.3」をインストールしたので、以下のとおり表示されます。
4. Redisサービスの起動・停止
Redisをインストールした直後は、Redisは通常起動されていません。
そのため、以下のコマンドを使用してRedisを起動します。
$ sudo systemctl start redis |
その他、Redisの停止および再起動は以下のとおり行います。
動作 | コマンド |
---|---|
Redisの停止 | sudo systemctl stop redis |
Redisの再起動 | sudo systemctl restart redis |
Redisサービスの状態確認 | sudo systemctl status redis |
これでRedisサービスの起動、停止、再起動に関する基本的な操作ができるようになります。
5. Redisサービスの自動起動設定
Redisがシステム起動時に自動的に起動するように設定します。
$ sudo systemctl enable redis |
これにより、システムが再起動された際に手動でRedisを起動する必要がなくなります。
設定を変更する場合や、自動起動を無効にする場合は、以下のコマンドを使用します。
$ sudo systemctl disable redis |
以上で、Redisサービスの自動起動の設定が完了です。
6. 動作確認
Redisを起動したら、Redisサーバーに接続して簡単なコマンドを実行します。
問題なく起動していれば、以下のコマンドを実行すると「PONG」と表示されます。
$ redis-cli ping |
※Redisが起動している場合
※Redisが停止している場合
この表示は、Redisサーバーに接続できないため発生します。
Redis停止している以外にも、起動していないか、ポート番号が異なる場合などが考えられます。
確認が必要な場合は、Redisサーバーのログや設定を確認してください。
\ 2週間無料でお試しできます! /
CentOS インストール済!
VPSを使ってみる
Redisの初期設定
設定ファイルの編集
Redisの主な設定は、/etc/redis.conf ファイルに記述されています。
設定ファイルをviエディタで開くには、以下のコマンドを実行します。
$ sudo vi /etc/redis.conf |
このコマンドにより、viエディタが開き、Redisの設定ファイルが編集可能になります。
設定ファイルには多くの設定が可能です。
下の設定項目の例を参考に、必要に応じて設定を変更してください。
1.bindアドレスの設定
外部からのアクセスを許可する場合は、bind ディレクティブを設定します。
ただし、セキュリティリスクを考慮し、特定の信頼できるネットワークインターフェースにのみバインドすることをお勧めします。
デフォルトでは、ローカル(このホストのみ)からの接続を許可します。
bind 127.0.0.1 -::1 |
2.保護モードの設定
外部ネットワークからのアクセスを許可する場合は、保護モードを無効にする必要があります。
ファイル `/etc/redis.conf` において、`protected-mode` ディレクティブを以下のように設定します。
protected-mode no |
3.パスワード認証の設定
セキュリティを向上させるために、パスワード認証(requirepass)を設定することを推奨します。
/etc/redis.conf において、requirepass ディレクティブを使用してパスワードを設定します。
requirepass yourstrongpassword |
yourstrongpassword の部分には、強力で予測困難なパスワードを指定してください。
これにより、Redisへのアクセスがパスワードで保護され、不正なアクセスを防ぐことができます。
設定の変更後は、Redisサービスを再起動して変更を有効にすることを忘れないようにしてください。
システム設定の最適化
Redisのパフォーマンスを最適化するため、以下のシステムレベルの設定を行うことを検討してください。
1.Overcommit Memoryの設定
この設定が行われていないと、Redis実行時にログファイル(/var/log/redis/redis.log)に以下の警告が表示されることがあります。
WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under log memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.
Redisはメモリ割り当てにovercommitを利用するため、以下の設定を /etc/sysctl.conf に追加します。
vm.overcommit_memory = 1 |
上記の設定は、メモリのオーバーコミットを有効にするものであり、Redisの動作に必要です。
設定後、sudo sysctl -p を実行して変更を有効にします。
このコマンドにより、/etc/sysctl.conf に記述された設定が読み込まれ、変更が即座に有効になります。
なお、永続化されていることを確認するには再起動を行ってください。
これにより、Redisが正常に動作するためのメモリオーバーコミットが有効になります。
設定変更後はRedisサービスの再起動も検討してください。
$ sudo systemctl restart redis |
以上で、Redisのパフォーマンスに対するシステムレベルの設定が完了し、警告メッセージが表示されなくなります。
2.TCP backlog settingの設定変更
Redis起動時に、以下の警告(Warning)が表示されることがあります。
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. |
この警告は、TCPバックログ(待ち受け可能TCPセッション数)の値が、Redisは511に設定されているのに対し、OSは128であるためです。
Redisにあわせるため、OSの値を512に設定します。
設定ファイル/etc/sysctl.confに以下の設定を追加します。
net.core.somaxconn = 512 |
これにより、TCPバックログの上限が512に設定され、Redisが正常に動作するようになります。
設定の変更を有効にするには、以下のコマンドを実行します。
$ sudo sysctl -p |
このコマンドは、/etc/sysctl.conf に記述された設定が即座に有効になります。
永続化されていることを確認するには再起動を行ってください。
これにより、Redisの起動時に表示されるTCPバックログの警告が解消されます。
変更後はRedisサービスの再起動も検討してください。
$ sudo systemctl restart redis |
以上で、TCPバックログの設定変更が完了し、Redisの警告メッセージが表示されなくなります。
ファイアウォールの設定
外部からのアクセスを許可する場合、適切なファイアウォールルールを設定して、不正アクセスから保護します。
例えば、Redisが使用するポート(デフォルトは6379)を開放する必要があります。
まとめ
今回は、CentOSにインメモリデータベース「Redis」をインストールして初期設定する方法について解説しました。
Redisはメモリ上で動作し高速に処理できるため、主にデータベースのデータをキャッシュする機能として使用できます。
これにより、システム全体の処理性能を向上することが可能です。
Redisの導入を検討されている方は、ぜひ今回ご紹介した手順を参考にしてみてください。
CentOSをVPSで利用するならミライサーバー
ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。
ミライサーバーのVPSでは、高速処理が可能なSSDを全プランに搭載しています。
OSは、UbuntuやDebian、AlmaLinuxなどの豊富なラインアップから選択することができます。
2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。
プランの選択でお困りの場合は、ぜひ一度お問い合わせください。
2023.08.03
VPSに申込み、SSH接続するまでの流れ【ミライサーバー】
オンラインビジネスやWebサイトの運営を始める際には、ホスティングサービスの中から自分の用途に合ったサーバー環境を利用することが一般的です。...