Features
- RedisかMemcachedを選べる
- マネージド
- スケーラブル
- VPCとプライベートIPによる隔離
- in-transit暗号化
- 高可用性
- 既存のインメモリストレージからの移行が容易
RedisとMemcachedで大きくサービスは変わらないと想定されるため、Redisの記事をベースにします
Overview for Redis
- 5つのリードレプリカを持てる
- プライベートIPで隔離されている
- in-transitで暗号化される
- 最大300GBストレージ
- 最大16Gbpsのネットワーク
- Cloud Loggingによるログ
- Cloud Monitoringによる監視
- 接続できる主なクライアント
- App Engine
- Compute Engine
- Cloud Functions
- Cloud Run
- GKE
Memory management
- Maxmemory: eviction policyが働くメモリ上限
- システムメモリ使用率: システムメモリに対するインスタンスのメモリ使用率、高いとメモリ負荷が高い
- eviction policy: メモリ上のkeyを放逐するルール、デフォルトは
volatile-lru
- キャッシュヒット率は基本的に高いほうがいい
Exponential backoff
Memorystoreへのリクエストが失敗した場合、クライアント側で指数的バックオフに基づいた待機時間を設けるべき
CMEK
- CMEKで暗号化できる
- at-rest暗号化
- メタデータはin-transitで暗号化 (...?)
in-transit encryption
- TLSによる通信暗号化
- クライアントはCAが必要
- 通信負荷が上がるため、インスタンスを強化したり、接続を減らしたりするべき
Network
- デフォルトでDirect Peeringが設定される
- より強いセキュリティ要件のためにPrivate services accessを利用できる
Pricing
- ティア
- ベーシック: シンプルなユースケース向け
- スタンダード: 高可用性やクロスゾーンレプリケーションやリードレプリカなどのとき
- キャパシティ: ストレージキャパシティに基づく
- 1時間単位の課金
- 異なるリージョンのクライアントからアクセスするネットワークに応じて課金