Redisはメモリ内のデータ構造ストアであり、分散型のメモリ内のKey-Valueデータベース、キャッシュ、メッセージブローカーとして使用され、オプションで耐久性があります。 Redisは、文字列、リスト、マップ、セット、並べ替えられたセット、HyperLogLogs、ビットマップ、ストリーム、空間インデックスなど、さまざまな種類の抽象データ構造をサポートしています。
Ansibleは、オープンソースのソフトウェアプロビジョニング、構成管理、およびアプリケーション展開ツールであり、インフラストラクチャをコードとして有効にします。多くのUnixライクなシステムで動作し、UnixライクなシステムとMicrosoftWindowsの両方を構成できます。
関連コンテンツ
- Debian11にRedis6をインストールして設定する方法
- Ansibleを使用してUbuntu20.04にRedis6をインストールおよび構成する方法
- Ubuntu20.04にRedis6をインストールして構成する方法
- FreeBSD13にRedis6をインストールして設定する方法
- OpenSUSELeap15.3にRedis6をインストールして設定する方法
- Fedora34にRedis6をインストールして設定する方法
前提条件
フォローするには、次のことを確認してください。
- 更新されたDebianサーバー
- インターネットへのアクセス
- サーバーまたはsudoアクセス権を持つユーザーへのrootアクセス
目次
- サーバーが最新であることを確認するためのAnsibleタスク
- いくつかの一般的なパッケージのインストール
- Redis6リポジトリの設定
- Redis6サーバーのインストール
- Redis6サーバーの構成
- ハンドラーの設定
- Debian11にRedis6をインストールしてセットアップするためのプレイブック全体
1。サーバーが最新であることを確認するためのAnsibleタスク
先に進む前に、次のタスクを使用してサーバーが最新であることを確認しましょう。
- name: Update apt repo and cache on all Debian/Ubuntu boxes
apt:
update_cache: yes
force_apt_get: yes
cache_valid_time: 3600
場所:
- update_cache:はい –すべてのサーバーでapt-getupdateコマンドと同等のコマンドを実行します
- force_apt_get:はい – aptitudeコマンドを使用せず、代わりにDebian/Ubuntuボックスでapt-getコマンドを使用します
- cache_valid_time:3600 – aptキャッシュがcache_valid_timeより古い場合は、それを更新します。このオプションは秒単位で設定されます。この例では、3600秒に設定されています。
アップグレードを行う
- name: Upgrade all packages on servers
apt:
upgrade: dist
force_apt_get: yes
場所:
- アップグレード:dist –すべてのUbuntuまたはDebianLinuxサーバーで「apt-getupgrade」コマンドと同等のコマンドを実行します。つまり、すべてのパッケージを最新バージョンにアップグレードします。
- force_apt_get:はい –aptitudeの代わりにapt-getを使用します。
2。いくつかの一般的なパッケージのインストール
これを使用して、一般的なパッケージをインストールします。 Debianでリポジトリを設定するにはgnugpgパッケージが必要です。
- name: Install required packages
apt:
name:
- gnupg
- vim
state: latest
3。 Redis6リポジトリの設定
公式のpackages.redis.io
からRedisの最新の安定バージョン(バージョン6)をインストールできます APTリポジトリ。リポジトリをapt
に追加します インデックスを作成し、更新してインストールします:
- name: Set up Redis 6 repo
shell: |
curl https://packages.redis.io/gpg | sudo apt-key add -
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
4。 Redis6サーバーをインストールする
次に、キャッシュリポジトリを更新し、redisサーバーをインストールします
- name: Install redis apt: name: redis-server update_cache: yes notify: - Enable Redis
ここでは、aptを使用して最初に update_cache:yesでキャッシュを更新しています。 次に、 redis-serverをインストールします 最後に、redis-server
を有効にするハンドラーを設定します 起動時。
5。 Redis6サーバーの構成
次に、サーバーを本番環境に対応するように構成します。
サーバーがpidファイルに書き込めるように行を追加します
- name: Set redis server pid file
lineinfile:
path: /etc/redis/redis.conf
regexp: "^pidfile"
line: "pidfile /var/run/redis/redis-server.pid"
notify:
- Restart Redis
上記では、redis設定ファイルを更新して、 pidfile/var/run/redis/redis-server.pidという行を追加しています。 そのため、pidファイルを書き込むことができます。また、プレイブックの実行が完了したときにサービスを再起動するためのハンドラーを設定しています。
次に、セキュリティを強化するためにoutredisサーバーのパスワードを設定しましょう。
- name: Secure redis with a password
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^(# )?requirepass \w*$'
line: 'requirepass {{ redis_password }}'
state: present
notify:
- Restart Redis
上記では、redis設定ファイルを更新して requirepass {{redis_password}} そのため、パスワードを設定値に設定できます。また、プレイブックの実行が完了したときにサービスを再起動するためのハンドラーを設定しています。
最後に、サービスを 0.0.0.0にバインドしましょう したがって、 bind 0.0.0.0を使用して外部からアクセスできます
- name: Bind redis to 0.0.0.0
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^bind \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b$'
line: 'bind 0.0.0.0'
state: present
notify:
- Restart Redis
6。ハンドラーの設定
上記のハンドラーを設定しましょう。ハンドラーはAnsibleプレイブックの通常のタスクと同じですが、タスクに「通知」ディレクティブが含まれている場合にのみ実行されます 。また、何かが変わったことを示しています。
handlers:
- name: Restart Redis
systemd:
name: redis-server
state: restarted
- name: Start Redis
systemd:
name: redis-server
state: started
- name: Stop Redis
systemd:
name: redis-server
state: stopped
- name: Enable Redis
systemd:
name: redis-server
enabled: yes
これらのハンドラーは、サービスを再起動して有効にするタスクの後に実行されます。
7。 Debian11にRedis6をインストールしてセットアップするためのプレイブック全体
これが最後のプレイブックです。ファイルをsetup-redis-debian.yaml
として保存しました
---
- name: Install and set up Redis 6 in Debian 11
hosts: debiansrv
become: yes
gather_facts: False
vars:
redis_password: j2GfJuLFR8
tasks:
- name: Update apt repo and cache on all Debian/Ubuntu boxes
apt:
update_cache: yes
force_apt_get: yes
cache_valid_time: 3600
- name: Upgrade all packages on servers
apt:
upgrade: dist
force_apt_get: yes
- name: Install required packages
apt:
name:
- gnupg
- vim
state: latest
- name: Set up Redis 6 repo
shell: |
curl https://packages.redis.io/gpg | sudo apt-key add -
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
- name: Install redis
apt:
name: redis-server
update_cache: yes
notify:
- Enable Redis
- name: Set redis server pid file
lineinfile:
path: /etc/redis/redis.conf
regexp: "^pidfile"
line: "pidfile /var/run/redis/redis-server.pid"
notify:
- Restart Redis
- name: Secure redis with a password
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^(# )?requirepass \w*$'
line: 'requirepass {{ redis_password }}'
state: present
notify:
- Restart Redis
- name: Bind redis to 0.0.0.0
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^bind \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b$'
line: 'bind 0.0.0.0'
state: present
notify:
- Restart Redis
handlers:
- name: Restart Redis
systemd:
name: redis-server
state: restarted
- name: Start Redis
systemd:
name: redis-server
state: started
- name: Stop Redis
systemd:
name: redis-server
state: stopped
- name: Enable Redis
systemd:
name: redis-server
enabled: yes
8。ホストファイルの作成
hosts.yaml
を作成します このコンテンツを含むファイル。ここに追加したサーバーに接続できることを確認してください。
all:
hosts:
debiansrv:
ansible_ssh_host: 10.2.11.10
ansible_ssh_user: admin
8。プレイブックの実行
Ansibleをローカルにインストールする必要があります。 Ansibleをインストールするには、OSパッケージマネージャーまたはpipを使用できます。このpipコマンドを使用して、ansibleをインストールします:
pip install ansible
プレイブックを実行するには、次のコマンドを使用します:
ansible-playbook -i hosts.yaml setup-redis-debian.yaml -vv
結論
このガイドでは、ansibleを使用してDebian11にRedis6をインストールおよび構成する方法を学習しました。