はじめに
Amazon ElastiCache for Valkey を利用することになり、Valkey-cli を使って接続確認をしたのでその際のインストール方法と接続確認までをメモしておこうと思います。
Amazon Elastic For Valkeyとは?
Redis の オープンソース派生プロジェクトをベースとしたフルマネージド型キャッシュサービスです。
ライセンス改定により Redis7.4 から Redis を商用サービスとして提供するには Redis 社と契約が必要になったこともあり Redis をフォークしたプロジェクトが立ち上がりました。
AWS では、日本時間の 2024年10月9日 に公式ブログで ElastiCache と MemoryDB にて Valkey のサポートを発表しています。
valkey-cliのインストール
valkey-cli を利用するために make install を行います。
まず、必要となる基本ツールのインストールを行います。
$ sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y
メタデータの期限切れの最終確認: 18:52:25 時間前の 2024年11月07日 18時21分46秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
===================================================================================================================================================================================
インストール:
gcc x86_64 11.4.1-2.amzn2023.0.2 amazonlinux 32 M
jemalloc-devel x86_64 5.2.1-7.amzn2023 amazonlinux 80 k
openssl-devel x86_64 1:3.0.8-1.amzn2023.0.16 amazonlinux 3.0 M
tcl x86_64 1:8.6.10-5.amzn2023.0.2 amazonlinux 1.1 M
tcl-devel x86_64 1:8.6.10-5.amzn2023.0.2 amazonlinux 163 k
依存関係のインストール:
annobin-docs noarch 10.93-1.amzn2023.0.1 amazonlinux 92 k
annobin-plugin-gcc x86_64 10.93-1.amzn2023.0.1 amazonlinux 887 k
cpp x86_64 11.4.1-2.amzn2023.0.2 amazonlinux 10 M
gc x86_64 8.0.4-5.amzn2023.0.2 amazonlinux 105 k
glibc-devel x86_64 2.34-52.amzn2023.0.11 amazonlinux 27 k
glibc-headers-x86 noarch 2.34-52.amzn2023.0.11 amazonlinux 427 k
guile22 x86_64 2.2.7-2.amzn2023.0.3 amazonlinux 6.4 M
kernel-headers x86_64 6.1.112-124.190.amzn2023 amazonlinux 1.4 M
libmpc x86_64 1.2.1-2.amzn2023.0.2 amazonlinux 62 k
libtool-ltdl x86_64 2.4.7-1.amzn2023.0.3 amazonlinux 38 k
libxcrypt-devel x86_64 4.4.33-7.amzn2023 amazonlinux 32 k
make x86_64 1:4.3-5.amzn2023.0.2 amazonlinux 534 k
zlib-devel x86_64 1.2.11-33.amzn2023.0.5 amazonlinux 45 k
トランザクションの概要
===================================================================================================================================================================================
インストール 18 パッケージ
ダウンロードサイズの合計: 57 M
インストール後のサイズ: 178 M
パッケージのダウンロード:
(1/18): annobin-docs-10.93-1.amzn2023.0.1.noarch.rpm 1.0 MB/s | 92 kB 00:00
(2/18): gc-8.0.4-5.amzn2023.0.2.x86_64.rpm 3.5 MB/s | 105 kB 00:00
(3/18): annobin-plugin-gcc-10.93-1.amzn2023.0.1.x86_64.rpm 6.2 MB/s | 887 kB 00:00
(4/18): glibc-devel-2.34-52.amzn2023.0.11.x86_64.rpm 821 kB/s | 27 kB 00:00
(5/18): glibc-headers-x86-2.34-52.amzn2023.0.11.noarch.rpm 7.8 MB/s | 427 kB 00:00
(6/18): guile22-2.2.7-2.amzn2023.0.3.x86_64.rpm 12 MB/s | 6.4 MB 00:00
(7/18): cpp-11.4.1-2.amzn2023.0.2.x86_64.rpm 12 MB/s | 10 MB 00:00
(8/18): jemalloc-devel-5.2.1-7.amzn2023.x86_64.rpm 745 kB/s | 80 kB 00:00
(9/18): libmpc-1.2.1-2.amzn2023.0.2.x86_64.rpm 1.1 MB/s | 62 kB 00:00
(10/18): kernel-headers-6.1.112-124.190.amzn2023.x86_64.rpm 15 MB/s | 1.4 MB 00:00
(11/18): libtool-ltdl-2.4.7-1.amzn2023.0.3.x86_64.rpm 616 kB/s | 38 kB 00:00
(12/18): libxcrypt-devel-4.4.33-7.amzn2023.x86_64.rpm 1.2 MB/s | 32 kB 00:00
(13/18): make-4.3-5.amzn2023.0.2.x86_64.rpm 14 MB/s | 534 kB 00:00
(14/18): gcc-11.4.1-2.amzn2023.0.2.x86_64.rpm 29 MB/s | 32 MB 00:01
(15/18): tcl-8.6.10-5.amzn2023.0.2.x86_64.rpm 4.5 MB/s | 1.1 MB 00:00
(16/18): openssl-devel-3.0.8-1.amzn2023.0.16.x86_64.rpm 9.7 MB/s | 3.0 MB 00:00
(17/18): zlib-devel-1.2.11-33.amzn2023.0.5.x86_64.rpm 853 kB/s | 45 kB 00:00
(18/18): tcl-devel-8.6.10-5.amzn2023.0.2.x86_64.rpm 2.6 MB/s | 163 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 41 MB/s | 57 MB 00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : libmpc-1.2.1-2.amzn2023.0.2.x86_64 1/18
インストール中 : cpp-11.4.1-2.amzn2023.0.2.x86_64 2/18
インストール中 : zlib-devel-1.2.11-33.amzn2023.0.5.x86_64 3/18
インストール中 : tcl-1:8.6.10-5.amzn2023.0.2.x86_64 4/18
インストール中 : libtool-ltdl-2.4.7-1.amzn2023.0.3.x86_64 5/18
インストール中 : kernel-headers-6.1.112-124.190.amzn2023.x86_64 6/18
インストール中 : glibc-headers-x86-2.34-52.amzn2023.0.11.noarch 7/18
インストール中 : libxcrypt-devel-4.4.33-7.amzn2023.x86_64 8/18
インストール中 : glibc-devel-2.34-52.amzn2023.0.11.x86_64 9/18
インストール中 : gc-8.0.4-5.amzn2023.0.2.x86_64 10/18
インストール中 : guile22-2.2.7-2.amzn2023.0.3.x86_64 11/18
インストール中 : make-1:4.3-5.amzn2023.0.2.x86_64 12/18
インストール中 : gcc-11.4.1-2.amzn2023.0.2.x86_64 13/18
scriptletの実行中: gcc-11.4.1-2.amzn2023.0.2.x86_64 13/18
インストール中 : annobin-docs-10.93-1.amzn2023.0.1.noarch 14/18
インストール中 : annobin-plugin-gcc-10.93-1.amzn2023.0.1.x86_64 15/18
scriptletの実行中: annobin-plugin-gcc-10.93-1.amzn2023.0.1.x86_64 15/18
インストール中 : tcl-devel-1:8.6.10-5.amzn2023.0.2.x86_64 16/18
インストール中 : openssl-devel-1:3.0.8-1.amzn2023.0.16.x86_64 17/18
インストール中 : jemalloc-devel-5.2.1-7.amzn2023.x86_64 18/18
scriptletの実行中: jemalloc-devel-5.2.1-7.amzn2023.x86_64 18/18
検証 : annobin-docs-10.93-1.amzn2023.0.1.noarch 1/18
検証 : annobin-plugin-gcc-10.93-1.amzn2023.0.1.x86_64 2/18
検証 : cpp-11.4.1-2.amzn2023.0.2.x86_64 3/18
検証 : gc-8.0.4-5.amzn2023.0.2.x86_64 4/18
検証 : gcc-11.4.1-2.amzn2023.0.2.x86_64 5/18
検証 : glibc-devel-2.34-52.amzn2023.0.11.x86_64 6/18
検証 : glibc-headers-x86-2.34-52.amzn2023.0.11.noarch 7/18
検証 : guile22-2.2.7-2.amzn2023.0.3.x86_64 8/18
検証 : jemalloc-devel-5.2.1-7.amzn2023.x86_64 9/18
検証 : kernel-headers-6.1.112-124.190.amzn2023.x86_64 10/18
検証 : libmpc-1.2.1-2.amzn2023.0.2.x86_64 11/18
検証 : libtool-ltdl-2.4.7-1.amzn2023.0.3.x86_64 12/18
検証 : libxcrypt-devel-4.4.33-7.amzn2023.x86_64 13/18
検証 : make-1:4.3-5.amzn2023.0.2.x86_64 14/18
検証 : openssl-devel-1:3.0.8-1.amzn2023.0.16.x86_64 15/18
検証 : tcl-1:8.6.10-5.amzn2023.0.2.x86_64 16/18
検証 : tcl-devel-1:8.6.10-5.amzn2023.0.2.x86_64 17/18
検証 : zlib-devel-1.2.11-33.amzn2023.0.5.x86_64 18/18
インストール済み:
annobin-docs-10.93-1.amzn2023.0.1.noarch annobin-plugin-gcc-10.93-1.amzn2023.0.1.x86_64 cpp-11.4.1-2.amzn2023.0.2.x86_64 gc-8.0.4-5.amzn2023.0.2.x86_64
gcc-11.4.1-2.amzn2023.0.2.x86_64 glibc-devel-2.34-52.amzn2023.0.11.x86_64 glibc-headers-x86-2.34-52.amzn2023.0.11.noarch guile22-2.2.7-2.amzn2023.0.3.x86_64
jemalloc-devel-5.2.1-7.amzn2023.x86_64 kernel-headers-6.1.112-124.190.amzn2023.x86_64 libmpc-1.2.1-2.amzn2023.0.2.x86_64 libtool-ltdl-2.4.7-1.amzn2023.0.3.x86_64
libxcrypt-devel-4.4.33-7.amzn2023.x86_64 make-1:4.3-5.amzn2023.0.2.x86_64 openssl-devel-1:3.0.8-1.amzn2023.0.16.x86_64 tcl-1:8.6.10-5.amzn2023.0.2.x86_64
tcl-devel-1:8.6.10-5.amzn2023.0.2.x86_64 zlib-devel-1.2.11-33.amzn2023.0.5.x86_64
完了しました!
次に valkey-cli をダウンロードします。
$ wget https://github.com/valkey-io/valkey/archive/refs/tags/7.2.7.tar.gz
--2024-11-08 13:14:30-- https://github.com/valkey-io/valkey/archive/refs/tags/7.2.7.tar.gz
github.com (github.com) をDNSに問いあわせています... 20.27.177.113
github.com (github.com)|20.27.177.113|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://codeload.github.com/valkey-io/valkey/tar.gz/refs/tags/7.2.7 [続く]
--2024-11-08 13:14:30-- https://codeload.github.com/valkey-io/valkey/tar.gz/refs/tags/7.2.7
codeload.github.com (codeload.github.com) をDNSに問いあわせています... 20.27.177.114
codeload.github.com (codeload.github.com)|20.27.177.114|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [application/x-gzip]
`7.2.7.tar.gz' に保存中
7.2.7.tar.gz [ <=> ] 3.27M 7.55MB/s 時間 0.4s
2024-11-08 13:14:31 (7.55 MB/s) - `7.2.7.tar.gz' へ保存終了 [3430910]
ダウンロードしたら展開しインストールを行います。
$ tar xvzf 7.2.7.tar.gz
valkey-7.2.7/
valkey-7.2.7/.codespell/
valkey-7.2.7/.codespell/.codespellrc
valkey-7.2.7/.codespell/requirements.txt
valkey-7.2.7/.codespell/wordlist.txt
valkey-7.2.7/.gitattributes
valkey-7.2.7/.github/
valkey-7.2.7/.github/ISSUE_TEMPLATE/
valkey-7.2.7/.github/ISSUE_TEMPLATE/bug_report.md
valkey-7.2.7/.github/ISSUE_TEMPLATE/crash_report.md
valkey-7.2.7/.github/ISSUE_TEMPLATE/feature_request.md
valkey-7.2.7/.github/ISSUE_TEMPLATE/other_stuff
~~~ 省略 ~~
$ cd valkey-7.2.7/
それでは、make インストールを行います。
$ sudo make BUILD_TLS=yes install
cd src && make install
make[1]: ディレクトリ '/home/ec2-user/valkey-7.2.7/src' に入ります
CC Makefile.dep
Hint: It's a good idea to run 'make test' ;)
INSTALL valkey-server
INSTALL valkey-benchmark
INSTALL valkey-cli
INSTALL SYMLINK redis-server -> valkey-server
INSTALL SYMLINK redis-cli -> valkey-cli
INSTALL SYMLINK redis-benchmark -> valkey-benchmark
INSTALL SYMLINK redis-check-rdb -> valkey-check-rdb
INSTALL SYMLINK redis-check-aof -> valkey-check-aof
INSTALL SYMLINK redis-sentinel -> valkey-sentinel
make[1]: ディレクトリ '/home/ec2-user/valkey-7.2.7/src' から出ます
Valkeyへの接続確認
インストールできたので valkey への接続を行います。
$ valkey-cli -h <valkeyエンドポイント> -p 6379 -c --tls
HSETコマンドでデータをセットします。
> HSET car:1 make ferrari model sf90spider year 2024 engine "4.0 L V8" horsepower 769hp transmission "8-speed auto" price 580000
(integer) 7
HMGETコマンドで、ちゃんとデータが格納されていることを確認します。
> HMGET car:1 make model price
1) "ferrari"
2) "sf90spider"
3) "580000"
今度は格納されたデータを削除します。
> HDEL car:1 make model price
(integer) 3
改めて、HMGETを実行し、今度はデータが削除されていることを確認します。
> HMGET car:1 make model price
1) (nil)
2) (nil)
3) (nil)
nil となり、データが削除されたのを確認できました。
quit
コマンドで Valkey への接続を終了します。
> quit
以上で確認完了です。
おわりに
Redis のライセンス改定に伴い、これから Valkey への切り替えが増えてくると思うので、コマンドインストールといったシンプルなことでもしっかりメモとして残していけたらなと思います。
参考