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 によってインターネットから保護されるだけでなく、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 インスタンスと同じ仮想プライベート ネットワーク上で動作するアプリケーションに制限されています。

    さらにインスタンスは 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 インスタンスに接続できます。

  • App Engine フレキシブル環境
  • App Engine スタンダード環境
  • Compute Engine VM インスタンス
  • Cloud Functions
  • Cloud Run
  • Google Kubernetes Engine クラスタ

一部のサーバーレス環境では、Memorystore for Redis との接続に、前提条件であるサーバーレス VPC アクセス コネクタが必要です。詳細については、サーバーレス VPC アクセス コネクタの要件をご覧ください。

インスタンスに接続するには、クライアントが Memorystore for Redis インスタンスと同じネットワークに接続され、同じリージョンに配置されている必要があります。詳細については、Memorystore for Redis のネットワーキング ページをご覧ください。

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

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

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

  • 現在、Memorystore for Redis は、Redis クラスタリングや Redis Sentinel をサポートしていません。

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

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

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

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

階層の機能

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

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

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

次のステップ