スケールアウト リポジトリとしての Redis の要件および構成

一般に、REDIS には、CICS テーブルだけでなく TSQ および TDQ データも格納できます。これらにはアプリケーション データが格納されます。Redis の詳細と格納できるデータ型については、こちらのドキュメントを参照してください。

Micro Focus では、本番環境においては Redis 5.0.3 から 6.2.6 をサポートする Enterprise 対応の Redis サーバーを使用することをお勧めします。ただし、TLS 接続をサポートするには、バージョン 6.0 以降が必要です。

開発製品には、開発のみを目的としたオープン ソース バージョンの Redis が付属しています。Enterprise DeveloperWindows 版と UNIX 版には Redis 6.2.6 が付属しています。

注: Enterprise Developer に付属の Redis は、テストのみを目的としており、本番環境での使用は想定していません。Micro Focus では、本番環境においては、NoSQL データベースと互換性がある Enterprise 対応の Redis を使用することをお勧めします。製品に付属のオープン ソースの Redis は、UNIX 環境でのみ使用できます。
Windows 環境用の Redis サーバーを起動するには、コマンド プロンプトを起動し、次のように入力します。
%ProgramFiles(x86)%\Micro Focus\Enterprise Developer\AdoptRedis\redis-server.exe
UNIX 環境用の Redis サーバーを起動するには、コマンド プロンプトを起動し、次のように入力します。
$COBDIR/AdoptRedis/redis-server
注: これにより、デフォルト ポート 6379 で Redis サーバーが起動します。

Redis Sentinel を使用すると、Redis の高可用性を実現できます。

Redis との通信の構成の要件

Redis との通信を構成するには、構成ファイルをポイントするように環境変数 MFREDIS_CONFIG を設定します。この構成ファイルの変数は次のとおりです。

RD_KEEPALIVE_INTERVAL
Redis との接続に使用するキープアライブ期間 (秒数) を指定します。デフォルト値は 15 です。
RD_LUA_LOG
Redis サーバーのロギングを有効にします。
注: --log-levelwarning 以上に設定して Redis サーバーが起動されている必要があります。
ON
ロギングを有効にします。
OFF
ロギングを無効にします。

デフォルト値は OFF です。

RD_RETRY_INTERVAL
Redis クライアントが失敗した接続要求を再試行する間隔 (ミリ秒) を指定します。

デフォルト値は 2000 (2 秒) です。

RD_RETRY_ATTEMPTS
Redis クライアントが失敗した要求を再試行する回数を指定します。

デフォルト値は 1 です。

Redis Sentinel の追加構成

Redis Sentinel には次の追加構成が必要です。

Redis では、Redis マスターおよび必要な数の Redis レプリカを指定する必要があります。クォーラムを作成するには、奇数の Redis Sentinel が必要です。

次の例で、ポート 6741 にマスターがあり、ポート 6742 に 1 つのレプリカがあり、ポート 6800、6801、および 6802 に 3 つのセンチネルがある Redis Sentinel を起動して構成する方法を示します。

Redis マスターを起動するには、コマンド プロンプトで次のように入力します。

redis-server.exe --port 6741 --protected-mode no --bind 0.0.0.0

Redis レプリカを起動するには、コマンド プロンプトで次のように入力します。

redis-server.exe redis_replica.conf

3 つの Redis センチネルを起動するには、コマンド プロンプトで次のように入力します。

redis-server.exe sentinel-1.conf –-sentinel
redis-server.exe sentinel-2.conf –-sentinel
redis-server.exe sentinel-3.conf –-sentinel

ここでは、Redis マスターは MY_MASTER と呼ばれ、これは大文字である必要があります。次の例で、redis_replica.conf ファイルの内容を示します。次の構成ファイルで、実際の要件を反映するように太字のテキストを変更してください。

bind 0.0.0.0
port 6742   ## The port used by the replica.
tcp-backlog 511 
timeout 0 
tcp-keepalive 0 
loglevel notice 
logfile "" 
databases 16 
save 900 1 
save 300 10 
save 60 10000 
stop-writes-on-bgsave-error yes 
rdbcompression yes 
rdbchecksum yes 
dbfilename "dump.rdb" 
replicaof 127.0.0.1 6741    ## The port and IP used by the master
replica-serve-stale-data yes 
replica-read-only yes 
repl-diskless-sync no 
repl-diskless-sync-delay 5 
repl-disable-tcp-nodelay no 
replica-priority 100 
appendonly no 
appendfilename "appendonly.aof" 
appendfsync everysec 
no-appendfsync-on-rewrite no 
auto-aof-rewrite-percentage 100 
auto-aof-rewrite-min-size 64mb 
aof-load-truncated yes 
lua-time-limit 5000 
slowlog-log-slower-than 10000 
slowlog-max-len 128 
latency-monitor-threshold 0 
notify-keyspace-events "" 
hash-max-ziplist-entries 512 
hash-max-ziplist-value 64 
set-max-intset-entries 512 
zset-max-ziplist-entries 128 
zset-max-ziplist-value 64 
hll-sparse-max-bytes 3000 
activerehashing yes 
client-output-buffer-limit normal 0 0 0 
client-output-buffer-limit replica 256mb 64mb 60 
client-output-buffer-limit pubsub 32mb 8mb 60 
hz 10 
aof-rewrite-incremental-fsync yes

sentinel-1.confsentinel-2.conf、および sentinel-3.conf の内容は、ポートを除いて同じです。該当するセンチネルによって使用されるポートに対応するようにポートを変更します。

port 6800     ## The port used by the sentinel
sentinel monitor MY_MASTER 127.0.0.1 6741  ## The name, IP, and port used by the master.
sentinel down-after-milliseconds MY_MASTER 5000
sentinel failover-timeout MY_MASTER 60000 
sentinel parallel-syncs MY_MASTER 1

PAC 構成の場合、ESCWA では、SOR 名が Redis マスター名 MY_MASTER と一致しており、その後にすべてのセンチネルの IP およびポートが続いている必要があります。次に例を示します。

set ES_SCALE_OUT_REPOS_1=MY_MASTER=redis,127.0.0.1:6800,127.0.0.1:6801,127.0.0.1:6802##TMP

TLS 対応の Redis 接続の構成

ES_SCALE_OUT_REPOS 環境変数の sorType パラメーターに redis_TLS を指定することで、TLS 対応の Redis 接続を構成できます。次に例を示します。
ES_SCALE_OUT_REPOS_1=MySOR=redis_TLS,127.0.0.1:6379##TMP#
これに加えて、PAC のメンバーであるそれぞれのエンタープライズ サーバー リージョンについて、ES_RTLS_CERT_AUTH_FILEPATH、ES_RTLS_CERT_FILEPATH、および ES_RTLS_PRIVATE_KEY_FILEPATH 環境変数も指定する必要があります。あるいは、TLS 対応の Redis スケールアウト リポジトリ (SOR) を持つ PAC のメンバーであるすべてのエンタープライズ サーバー リージョンについて、ESCWA の [Advanced Region Properties] ページで [Certificate Authority Filepath]、[Certificate Filepath]、および [Private Key Filepath] プロパティを指定することもできます。