macからAzure Cache for Redisへredis-cliにて接続する
やろうとしてちょっと困ったので備忘録的に。
Azure Cache for RedisはデフォルトでNon-SSL portがdisabledになっており、本番運用としてもNon-SSL portをenableにして使うことはないと思います。
でも格納されているデータをAzure PortalのConsoleから利用しようとすると使い勝手が悪い。。。手元のterminalで操作してデータを取りたい。ということでmacから接続する方法です。
Windowsで接続する方法は以下ドキュメントがありますのでそちらを参照してください。
redis-cliはssl対応されていないためstunnelでSSLトンネリングして接続します。
homebreのインストール
まずhomebrewをインストールします。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
redisのインストール
次にredisのインストール
$ brew install redis
stunnelのインストールとstunnel.confの編集
stunnelをインストールし、コンフィグを作成する。
$ brew install stunnel $ vi /usr/local/etc/stunnel/stunnel.conf
stunnel.confの内容は以下のようにする。(example部分は自リソースで置き換える)
[redis-cli] client = yes accept = 127.0.0.1:6379 connect = example.redis.cache.windows.net:6380
接続
準備が終わったら接続です。
$ redis-server & $ stunnel $ redis-cli -h localhost --raw 127.0.0.1:6379> auth {access key} OK
rawオプションをつけているのは2バイト文字の文字化け対応です。