Memorystore for Redis の概要

Memorystore for Redis は、Redis インメモリ データストアを活用したフルマネージド サービスを提供し、ミリ秒未満のデータ アクセスを実現するアプリケーション キャッシュをビルドします。

Memorystore for Redis には、セルフマネージド Redis と比較して、次のような利点がいくつかあります。

  • ニーズに合わせてデプロイできる。 Memorystore for Redis では、パフォーマンスとオペレーションのニーズに合わせてさまざまなサービス階層とサイズを柔軟に選択できます。数回クリックするだけで、基本階層のスタンドアロン Redis インスタンスをデプロイするか、最大 300 GB まで拡張できる標準階層の高可用性 Redis インスタンスをデプロイするか選択できます。
  • 驚異的な速度を実現するために容易にスケーリングできる。 Memorystore for Redis では、アプリケーションの可用性への影響を最小限に抑えながら、Redis インスタンスをスケールアップすることで、レイテンシとスループットの目標を簡単に達成できます。まずは最も低い階層と最小のサイズから開始し、アプリケーションのニーズが変化したら Redis インスタンスを拡張するという使い方が可能です。
  • 可用性と安全性が向上する。Redis の各インスタンスは、プライベート IP によってインターネットから保護されているだけでなく、Cloud Identity and Access Management の役割に基づいたアクセス制御によっても保護されています。標準階層の高可用性インスタンスは、常に複数のゾーンにまたがってレプリケーションされており、99.9% の可用性 SLA を提供しています。
  • アプリケーションに専念できる。 Memorystore for Redis では、Redis のデプロイと管理に必要な複雑な運用タスクが自動化されます。プロビジョニング、レプリケーション、フェイルオーバー、モニタリングなどのタスクはすべて自動化されています。 アプリケーションは単一のエンドポイントに接続するため、ノード発見ロジックが不要になり、管理とオペレーションが簡素化されます。 さらに、Cloud Monitoring との統合により、Redis インスタンスを簡単にモニタリングできます。
  • Redis プロトコルに対応している。 Memorystore for Redis は、Redis プロトコルに完全に準拠しています。オープンソースの Redis を使用しているアプリケーションは、コードを一切変更することなく、Memorystore for Redis を移行できます。新しいツールの使い方を学ぶ必要はありません。既存のすべてのツールとクライアント ライブラリをそのまま使用できます。

最適な用途

Memorystore for Redis は、高速でリアルタイムのデータ処理を必要とするユースケース向けに、高速なインメモリ ストアを提供します。単純なキャッシュ保存のユースケースからリアルタイム分析まで、必要なパフォーマンスは Memorystore for Redis が実現します。

  • キャッシュ保存: キャッシュは、最新のアプリケーション アーキテクチャにおいて不可欠な要素です。Memorystore for Redis は、ディスクベースのバックエンド ストアからデータにアクセスする場合と比較して、頻繁にアクセスされるデータに対して、低レイテンシ アクセスと高スループットを提供します。キャッシュ保存が効果を発揮する一般的な例としては、セッション管理や高頻度でアクセスされるクエリ、スクリプト、ページなどが挙げられます。

  • ゲーム: ゲームで大切なことは、ユーザーの関心を捉えることと維持することです。 ユーザーをゲームに夢中にさせる重要な要素の 1 つがリーダーボードです。 どれくらい進歩したのか、そして現在どれくらいの地位にいるのかは誰でも気になるものです。 このような情報をすぐに提供することは非常に重要です。Memorystore for Redis にはインメモリ ストアや Sorted Set 型などのデータ構造が用意されているため、要素の一意性を提供しながら、並べ替えられたスコアのリストの維持が容易にできます。また、頻繁にアクセスされる情報としてはプレーヤーのプロフィールも挙げられます。 Redis の Hash 型を使用すれば、迅速かつ容易にプロフィール データにアクセスできます。

  • ストリーム処理: IoT デバイスからの Twitter フィードやデータストリームの処理にかかわらず、Memorystore for Redis はストリーミング ソリューションに最適です。Memorystore for Redis は、Datastore と組み合わせることで、多数のクライアントが非常に低いレイテンシでアクセスできる、中間データを保存するスケーラブルで高速なインメモリ ストアを提供します。

特徴

Memorystore for Redis の特長は、次に示すとおりです。

  • フルマネージド: Redis インスタンスのデプロイと管理には時間がかかることがあります。Memorystore for Redis では、パッチ適用、24 時間 365 日の脅威モニタリング、障害検出、自動フェイルオーバーを提供されるため、アプリケーションの開発により多くの時間をかけられます。
  • シンプルなデプロイ: 単一のインスタンスでも高可用性の Redis インスタンスでも、Google Cloud Console で基本階層または標準階層を選択するか、Cloud SDK または Cloud クライアント ライブラリを使用することでデプロイを自動化して、簡単にデプロイできます。
  • 高可用性: 標準階層の Memorystore for Redis インスタンスは、複数のゾーン間でレプリケーションされ、稼働状態をモニタリングされており、高速な自動フェイルオーバーも備えています。標準階層のインスタンスは、99.9% の SLA も提供します。詳細については、高可用性をご覧ください。
  • エンタープライズ レベルのセキュリティ: Redis インスタンスはプライベート IP を使ってインターネットから保護されており、インスタンスにアクセスできるのは Redis インスタンスと同じ仮想プライベート ネットワーク上で動作するアプリケーションに制限されています。

    さらにインスタンスは Cloud IAM の役割でも保護されており、Redis インスタンスの管理やアクセスを許可するユーザーを細かく制御できます。Memorystore for Redis は Cloud Audit Logging と統合されており、「誰がいつ何をしたか」を把握できます。

  • 必要に応じたスケーリング: Memorystore for Redis では、最大 300 GB までインスタンスをスケーリングできるほか、最大 12 Gbps のネットワーク スループットをサポートします。インスタンスのサイズをシームレスにスケーリングできるので、最初は小さなサイズで作成し、必要に応じてインスタンスのサイズを大きくすることもできます。 標準階層のインスタンスをスケーリングする場合、アプリケーションで発生するダウンタイムは 1 分未満です。
  • モニタリング: Redis の指標は Monitoring で利用できるため、Redis インスタンスを簡単にモニタリングできます。Cloud Logging を使用して、インスタンスの Redis ログを確認することもできます。
  • オンデマンド課金: Memorystore for Redis インスタンスでは、プロビジョニングした容量(GB)に対する時間数で課金されます。たとえば、インスタンスを数分間しか使用していない場合は、その時間分だけが課金対象となります。
  • Redis バージョン 5.0、4.0、3.2: バージョンは常に最新に保たれ、最新の重要なパッチが適用されるため、Redis インスタンスの安全性が確保されます。バージョンとパッチ レベルの詳細については、Memorystore for Redis のリリースノートサポート対象のバージョンをご覧ください。

Memorystore for Redis インスタンスへの接続

次の環境では、任意の標準 Redis クライアントを使用して、Memorystore for Redis インスタンスに接続できます。

インスタンスに接続するには、クライアントが同じネットワーク上にあるか、同じネットワークにピアリングされており、Memorystore for Redis インスタンスと同じリージョンに配置されている必要があります。クライアントが Redis インスタンスと同じリージョンにあれば、ゾーンが異なっていても Redis インスタンスに接続できます。

また、共有 VPC を使用して別のプロジェクトのリソースから Redis インスタンスに接続する場合は、Redis インスタンスを共有 VPC のホスト プロジェクトにデプロイする必要があります。さらには、そのリソースと Redis インスタンスは同じ共有 VPC ネットワーク上に存在するか、またはネットワーク同士がピアリングされている必要があります。サービス プロジェクトの共有 VPC ネットワーク上にデプロイされた Redis インスタンスへの接続はサポートされていません。

マネージド Redis とオープンソースの Redis の違い

Memorystore for Redis は Redis プロトコルに準拠しています。オープンソースの Redis を使用するアプリケーションは、コードを変更することなく Google Cloud に移行できます。

一般に、Memorystore for Redis インスタンスが提供する Redis の機能は、ローカルにホストされた Redis インスタンスの機能と同じです。主な違いは次のとおりです。

  • オープンソースの Redis には、データをディスクに永続化する複数のオプションが用意されています。 RDB 永続化では、ある時点のデータセットのスナップショットを作成できます。AOF 永続化では、サーバーが受け付けたすべての書き込みオペレーションが記録されます。 Memorystore for Redis は、現在のところ、RDB 永続化と AOF 永続化のどちらもサポートしていません。

  • ほとんどのパラメータは Memorystore for Redis インスタンス用に事前構成されており、変更はできません。その他のパラメータは、Memorystore for Redis インスタンスを設定するときに構成します。詳細については、Redis 構成パラメータをご覧ください。

  • 一部のコマンドはマネージド Redis サービスに干渉するためブロックされます。 詳細については、ブロックされる Redis コマンドのリストをご覧ください。

  • 標準階層のインスタンスでは、レプリカからの読み取りが許可されていません。

階層の機能

次の表は、使用可能な Memorystore for Redis サービス階層の違いを示したものです。

仕様 基本階層 標準階層
説明 レプリケーションなしでキャッシュを提供する レプリケーションを使用して冗長性と可用性を提供する
最大インスタンス サイズ 300 GB 300 GB
最大ネットワーク帯域幅 12 Gbps 12 Gbps
Stackdriver Monitoring
メモリのスケーリング¹
ゾーン間のレプリケーション ×
自動フェイルオーバー ×

¹ 基本階層のインスタンスでは、スケールアップ時またはスケールダウン時に、ダウンタイムとキャッシュの完全なフラッシュが発生します。スタンダード階層のインスタンスでは、スケーリング オペレーション時のダウンタイムが最小限に抑えられますが、レプリケーションされていないデータは一部が喪失します。詳細については、スケーリングの動作をご覧ください。

次のステップ