概要
RedisCloud は redislabs が提供するクラウドサービスです
30MB までの使用であれば無料で使うことが可能です
今回は登録から実際に Redis インスタンスを作成し redis-cli
での接続テストまで行ってみました
環境
- macOS 10.14.5
- redis-cli 5.0.5
アカウント登録
まずはアカウント登録します
メールアドレスがあれば登録できます
メールが届くとアカウント登録するフォームの URL が記載されているのでアクセスして登録しましょう
Company は個人利用なので「personal」と入れておきました
今回は 30MB の無料枠を使うので Essentials プランを選択します
そしてサブスクリプションですが Cache の「30MB free」を選択しましょう
Cache 以外にも Standard と Multi-AZ が選択できます
とりあえず今回は検証だけなので Cache にしておきましょう
クラウドも AWS or GCP が選択できるのでお好きなほうを選択してください
インスタンス作成
次に Redis インスタンスの作成画面になります
基本はデフォルトのままで OK です
Database Name にだけ好きな名前を入力してください
Protocol は Redis にしましょう
Cache を選択しているので Replication や Data Persistence は自動で「Disabled」「None 」になっています
アクセスするにはエンドポイントとパスワードが必要になります
エンドポイントはインスタンス作成後に確認できます
パスワードは Access Control & Security に自動で入力されるので右側のパスワードを表示するボタンを押してメモしておきましょう
Data Eviction Policy はデータを自動で削除するポリシーを選択します
今回はデフォルトの volatile-lru
を選択しています
volatile-lru
は expire
が設定されたキーの expire
が来た順番から削除してくれるポリシーです
Alert Settings は指定の値までメモリ消費した場合にアラートを上げることができます
今回はデフォルトの 80% のままにしています
アラートはアカウント登録時のメールアドレスに送信されるようです
入力内容を確認したら「Activate」を選択しましょう
エンドポイント確認
作成されたらエンドポイントを確認しましょう
インスタンスが作成されるまで Endpoint の欄には何も表示されていません
redis-cli で動作確認
では redis-cli
で確認します
-h
オプションでホストを指定し -p
でポートを指定しましょう
redis-cli -h redis-15671.c16.us-east-1-2.ec2.cloud.redislabs.com -p 15671
redis-15671.c16.us-east-1-2.ec2.cloud.redislabs.com:15671> set a b
(error) NOAUTH Authentication required
redis-15671.c16.us-east-1-2.ec2.cloud.redislabs.com:15671> auth xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OK
redis-15671.c16.us-east-1-2.ec2.cloud.redislabs.com:15671> set a b
OK
redis-15671.c16.us-east-1-2.ec2.cloud.redislabs.com:15671> get a
"b"
あとはアクセスする前に auth
コマンドを実行しましょう
インスタンス作成時に確認したパスワードをここで入力します
Ruby から動作確認
Ruby からも確認してみました
gem のインストール手順などは省略しますが簡単な動作確認のスクリプトは以下の通りです
require 'redis'
redis = Redis.new(url: "redis://:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@redis-15671.c16.us-east-1-2.ec2.cloud.redislabs.com:15671")
redis.set('b', 'b')
puts redis.get('b')
ポイントはパスワードの前のコロンを忘れないようにしましょう
URI のフォーマットで user:pass
と指定する必要があるためです
ユーザは今回指定が必要ないためコロンの前に何も記述していないだけです
最後に
redislabs の RedisCloud を使ってみました
かなりシンプルな作りで簡単に使えると思います
ElastiCache や MemoryStore はクラウド内部からしか使えないのが前提でしたが RedisCloud は外部のどこからでも使うことができます
故にアンセキュアではあるのですがそこはエンドポイント名とパスワードの複雑さでカバーしている感じだと思います
30MB であれば無料で使えるのでとりあえず Redis がほしい場合などにはかなり重宝するかなと思います
プロダクションで使う場合には Pro プランや Standard, Multi-AZ サブスクリプションを検討しましょう
0 件のコメント:
コメントを投稿