6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

初めてのMemorystore

Posted at

はじめに

先日来日した Memorystore を軽く調べましたのでまとめたいと思います。
まぁ待ってればそのうち公式が翻訳されると思いますが・・

ところでMemorystoreってなんだっけ?

GCPで提供されているPaaSな Redis です。
Redisが必要なんだけど自分でメンテしたくない人向け。
RedisLabs が類似のサービスになると思います。

Memorystoreの特徴

Redisバージョン

公式によると現時点では3.2.11 固定です。

Currently running Redis version 3.2.11

Redisプロトコル

公式によると完全な互換性があり、既存のライブラリが使える とのこと。

Redis Protocol Compatible. Cloud Memorystore for Redis is fully Redis protocol compliant. You can move your applications using open source Redis to use Cloud Memorystore for Redis without any code changes. There is no need to learn new tools: all existing tools and client libraries just work.

可用性

可用性はBasic Tier(基本 Tier)とStandard Tier(標準 Tier) のどちらを選択するかで変わります。

Basic Tierはレプリカが無く、googleによるメンテナンス他のいくつかの
操作で中身が消える
ので、開発やテスト環境向けになります。

Standard Tierを選択するとレプリカが作成され、メンテやフェイルオーバーなど
でのデータ消失を防ぎます。

性能

ウェブUIによると次の通りです。

最小構成時
image.png

最大構成時
image.png

公式による解説はこちら
参考まで基本Tierの月額は標準Tierの半分強程度。

容量のリサイズ操作とその際の挙動

容量のリサイズ操作は 公式のこちらに記載 されています。
またリサイズを行った際の挙動は 公式のこちらに記載 されています。

Basic Tierの場合、リサイズ中の読み書きはブロックされます。
またリサイズ後はデータはフラッシュされます。

Standard Tierの場合、最初にレプリカのリサイズが行われその後フェイルオーバーで
マスターとレプリカが入れ替わります。 このためほとんど停止時間がありません。

ただし、フェイルオーバー時にRedisへの接続は切断されます。
またレプリケーションは非同期で行われるため、不整合データが発生する可能性もあります。
Redisに接続するアプリケーションは、これらへの耐性が必要です。

Standard Tierのフェイルオーバー時のアプリケーションへの影響

フェイルオーバー時の影響は 公式のこちらに記載 されています。

フェイルオーバー発生時にアプリケーションからRedisへの接続は切断されます。
ただしアプリケーションはフェイルオーバー前のマスターと同じ接続先に
再接続しさえすればよいです。

Redisのフェイルオーバーは約30秒かかります。(ゾーンの障害の場合はさらにかかるかもしれません)

googleによるMemorystoreのメンテナンス

googleによるMemorystoreのメンテナンスは 公式のこちらに記載 されています。

メンテナンスはだいたい四半期に一度のペースで行われるようです。
挙動はリサイズと似た感じになるようです。

Memorystoreが提供されているリージョン

Memorystoreが提供されているリージョンはこちらに記載されています

接続元

接続元については 公式のこちらに記載 されています。

Memorystoreと同一プロジェクト、リージョン、ネットワークのGCE、GKE、GAE/FEから接続可能です。
同一リージョン内の別ゾーンからも接続できますが、ネットワークパフォーマンス的には
同一ゾーンの方が良いとのこと

Resources in different zones within the same region can connect, however provisioning resources in the same zone improves network performance.

Memorystoreを立ち上げてGCEから接続してみる

公式を参考にMemorystoreを立ち上げてGCEから接続してみます。

Memorystoreを準備

次の通り指定してインスタンスを作成しました。
image.png

ウェブUIなのでざっくりですがインスタンス作成に7分程度かかりました。
出来上がったインスタンスは次の通り。
image.png

GCEを準備

同一プロジェクト、同一リージョンで適当に用意してtelnetも入れます。

接続テスト

次の通り接続して応答が確認できました。
image.png

現場からは以上です。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?