Memorystore for Redis は、Redis インメモリ データストアを活用したフルマネージド サービスを提供し、ミリ秒未満のデータ アクセスを実現するアプリケーション キャッシュをビルドします。
Memorystore for Redis には、セルフマネージド Redis と比較して、次のような利点がいくつかあります。
- ニーズに合わせてデプロイできる。 Memorystore for Redis では、パフォーマンスとオペレーションのニーズに合わせてさまざまなサービス階層とサイズを柔軟に選択できます。数回クリックするだけで、基本階層のスタンドアロン Redis インスタンスをデプロイするか、最大 300 GB まで拡張できる標準階層の高可用性 Redis インスタンスをデプロイするか選択できます。
- 驚異的な速度を実現するために容易にスケーリングできる。 Memorystore for Redis では、アプリケーションの可用性への影響を最小限に抑えながら、Redis インスタンスをスケールアップすることで、レイテンシとスループットの目標を簡単に達成できます。まずは最下位の階層と最小のサイズから開始し、アプリケーションのニーズが変化したら Redis インスタンスを拡張するという使い方が可能です。 読み取りクエリのスケーリングが必要なアプリケーションの場合、読み取りエンドポイントを使用して 5 つのリードレプリカにクエリをスケーリングできます。
- 可用性と安全性が向上する。Redis の各インスタンスは、プライベート IP によってインターネットから保護されているだけでなく、Identity and Access Management のロールに基づいたアクセス制御と転送中の暗号化によっても保護されます。標準高可用性インスタンスは、ゾーン間で複製された最大 5 つのレプリカを提供し、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 Platform Console で基本階層またはスタンダード階層を選択するだけで容易にデプロイできます。また、Cloud SDK や Cloud クライアント ライブラリを使用することで、デプロイを自動化することもできます。
- 高可用性: 標準階層の Memorystore for Redis インスタンスは、複数のゾーン間でレプリケーションされ、稼働状態をモニタリングされており、高速な自動フェイルオーバーも備えています。標準階層のインスタンスは、99.9% の SLA も提供します。詳細については、高可用性をご覧ください。
- エンタープライズ レベルのセキュリティ: Redis インスタンスはプライベート IP を使ってインターネットから保護されており、インスタンスにアクセスできるのは Redis インスタンスと同じVirtual Private Cloud 上で動作するアプリケーションに制限されています。
さらにインスタンスは IAM のロールを使用して保護されており、Redis インスタンスの管理とアクセスを許可する対象ユーザーを詳細に制御できます。Memorystore for Redis は Cloud Audit Logging と統合されており、「誰がいつ何をしたか」を把握できます。
- 必要に応じたスケーリング: Memorystore for Redis では、最大 300 GB までインスタンスをスケーリングできるほか、最大 16 Gbps のネットワーク スループットをサポートします。インスタンスのサイズをシームレスにスケーリングできるので、最初は小さなサイズで作成し、必要に応じてインスタンスのサイズを大きくすることもできます。リードレプリカを使用すると、5 つのレプリカに読み取りクエリをスケーリングできます。スタンダード ティアのインスタンスをスケーリングする場合、アプリケーションのダウンタイムは 1 分未満です。
- モニタリング: Redis の指標は Monitoring で利用できるため、Redis インスタンスを簡単にモニタリングできます。Cloud Logging を使用して、インスタンスの Redis ログを確認することもできます。
- オンデマンド課金: Memorystore for Redis インスタンスでは、プロビジョニングした容量(GB)に対する時間数で課金されます。たとえば、インスタンスを数分間しか使用していない場合は、その時間分だけが課金対象となります。
- Redis バージョン 7.2,、7.0、6.x、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 Run 関数
- 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 インスタンスの機能と同じです。主な違いは次のとおりです。
オープンソースの Redis には、データをディスクに永続化する複数のオプションが用意されています。 RDB 永続化では、ある時点のデータセットのスナップショットを作成できます。AOF 永続化では、サーバーが受け付けたすべての書き込みオペレーションが記録されます。Memorystore for Redis は現在、RDB スナップショットとデータのエクスポートをサポートしています。Memorystore for Redis は AOF 永続性をサポートしていません。
ほとんどのパラメータは Memorystore for Redis インスタンス用に事前構成されており、変更はできません。その他のパラメータは、Memorystore for Redis インスタンスを設定するときに構成します。詳細については、Redis の構成をご覧ください。
一部のコマンドはマネージド Redis サービスに干渉するためブロックされます。 詳細については、ブロックされる Redis コマンドのリストをご覧ください。
階層の機能
次の表は、使用可能な Memorystore for Redis サービス階層の違いを示したものです。
仕様 | 基本階層 | スタンダード ティア(リードレプリカが無効) | スタンダード ティア(リードレプリカが有効) |
---|---|---|---|
説明 | レプリケーションなしでキャッシュを提供する | レプリケーションを使用して冗長性と可用性を提供する | レプリケーションでデータをバックアップして冗長性と可用性を提供し、複数のリードレプリカを使用して読み取りスループットを向上させます。 |
Redis プライマリの最大サイズ | 300 GB | 300 GB | 300 GB |
最大ネットワーク帯域幅 | 16 Gbps | 16 Gbps | 書き込み用に合計 16 Gbps。読み取り用に、ノードあたり 16 Gbps。1 |
I/O スレッド | ○2 | ○2 | ○2 |
プライマリ サイズをスケーリングする | ○ | ○ | ○ |
リードレプリカの数をスケーリングする | × | × | ○ |
ゾーン間のレプリケーション | × | ○ | ○ |
自動フェイルオーバー | × | ○ | ○ |
リードレプリカ | × | × | ○ |
転送中の暗号化 | ○ | ○ | ○ |
メンテナンス時間枠 | ○ | ○ | ○ |
Cloud Monitoring | ○ | ○ | ○ |
1 最大書き込みスループットは 16 Gbps です。読み取りスループットは、プライマリ ノードを含む、インスタンス内のノード(リードレプリカ)の数によって異なります。たとえば、1 つのプライマリ ノードと 2 つのリードレプリカを持つインスタンスがある場合、合計読み取りスループットは 48 Gbps です。
2 I/O スレッドは、Redis バージョン 6.x を実行する M3 以上のインスタンスでのみ使用できます。詳細については、Redis バージョン 6.x をご覧ください。
容量階層のパフォーマンス
容量階層 | ネットワーク スループットの最小値 | バージョン 4 と 5 の I/O スレッド | バージョン 6 と 7 の最小 I/O スレッド |
---|---|---|---|
M1: 1 - 4 GB | リンクあたり | 該当なし | 1 |
M2: 5 - 10 GB | リンクあたり | 該当なし | 1 |
M3: 11 - 35 GB | リンクあたり | 該当なし | 2 |
M4: 36 - 100 GB | 16 Gbps | 該当なし | 6 |
M5: 101 - 300 GB | 16 Gbps | 該当なし | 8 |
次のステップ
- Redis の概要については、Redis ウェブサイトの Introduction to Redis をご覧ください。
- クイックスタート: Google Cloud CLI の使用
- Google Cloud Console を使用したクイックスタート