概要
GCP の Redis サービス MemoryStore を使ってみました
インスタンスの作成から redis-cli
を使った接続確認まで行いました
環境
- macOS 10.14.5
- gcloud 247.0.0
インスタンス作成
まずはインスタンスを作成します
コンソール画面から作成しても OK ですが今回は gcloud
を使いました
gcloud beta redis instances create myredis --size=1 --region=us-central1 --redis-version=redis_4_0
タイプは「基本」で作成されます
基本はシンプルなシングル構成になります
メモリ容量は最小の 1GB にしています
Redis のバージョンは MemoryStore で使える最新の 4.0 にしています
またインスタンスの作成には beta
コマンドを使います
インスタンス確認
create
が完了したらインスタンスの状態を確認しましょう
gcloud redis instances describe myredis --region=us-central1
authorizedNetwork: projects/pjct-123456/global/networks/default
createTime: '2019-05-22T07:20:21.365383747Z'
currentLocationId: us-central1-b
host: 10.0.0.3
locationId: us-central1-b
memorySizeGb: 1
name: projects/pjct-123456/locations/us-central1/instances/myredis
port: 6379
redisVersion: REDIS_4_0
reservedIpRange: 10.0.0.0/29
state: READY
tier: BASIC
エンドポイントの IP やポートなどが表示されると思います
MemoryStore では FQDN ではなく IP アドレス (10.0.0.3
) を使ってアクセスすることになります
MemoryStore は基本的に GCP 内のリソース (Compute Engine VM インスタンス、Google Kubernetes Engine クラスタ、Cloud Functions、App Engine フレキシブル環境、App Engine スタンダード環境) からしかアクセスできません
redis-cli 接続確認
今回は GCE インスタンスを 1 台作成して動作確認しました
また動作確認用の GCE と MemoryStore のインスタンスは同一ネットワーク (default) に所属するようにしてください
gcloud redis instances describe myredis --region us-central1 | grep default
authorizedNetwork: projects/pjct-123456/global/networks/default
gcloud compute instances describe vm01 | grep ' network:'
network: https://www.googleapis.com/compute/v1/projects/pjct-123456/global/networks/default
GCE に SSH ログインしたら先程確認したエンドポイントに対して動作確認してみます
ちなみに GCE は Ubuntu18.04 LTS
のイメージを元に作成しました
apt -y install redis-tools
redis-cli -h 10.0.0.3
# Server
redis_version:4.0.14
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:c361ea82ce4c0f02
redis_mode:standalone
os:Linux 4.14.94+ x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:6.3.0
process_id:1
run_id:288517b3521abb484270dcf09846499bcc79489f
tcp_port:6379
uptime_in_seconds:985
uptime_in_days:0
hz:10
lru_clock:15006935
executable:/data/redis-server
config_file:/usr/local/etc/redis/redis.conf
こんな感じでホストを指定するだけでアクセスできます
料金
後始末
Cloud MemoryStore インスタンスの削除
gcloud beta redis instances delete myredis --region=us-central1
GCE インスタンスの削除
gcloud compute instances delete vm01
最後に
Cloud MemoryStore を試してみました
インスタンスを作成するだけで Redis を使えるようになるので簡単です
注意点としては GCP の特定のリソースのみからしかアクセスできない点です
GCE を使ってグローバルな IP アドレスからポートフォーワードなどすれば外部からでもアクセスできるようになるとは思います
0 件のコメント:
コメントを投稿