このドキュメントでは、Redis のデプロイと Google Cloud への移行の概要について説明します。これには、要件に基づいて Redis をさまざまなサービスにデプロイするためのオプションとトレードオフが含まれます。
Redis は、データベース、キャッシュ、メッセージ ブローカーなどとして使用できるインメモリ データ構造ストアです。Google Cloud は、以下を含む Redis を完全にサポートしています。
Memorystore と Redis Ltd. が提供するフルマネージド オプション。
次のプロダクトを使用したセルフ マネージド オプション:
Google Cloud に Redis をデプロイする最適な方法は、お客様のニーズと要件によって異なります。このガイドで紹介する推奨事項は、一般的なベスト プラクティスと考慮事項に基づいています。Redis のワークロードを徹底的に分析し、公式ドキュメントを参照するか、特定のユースケースや要件について専門家のアドバイスを求めることが重要です。
アーキテクチャ
Redis は、次のいずれかのアーキテクチャを使用してデプロイできます。
アーキテクチャ | 説明 | ユースケース | 導入について | 高可用性 | 読み取りスループット | 書き込みスループット |
---|---|---|---|---|---|---|
Standard(スタンドアロン) | リードレプリカと高可用性のない単一の Redis ノード。 | すべてのデータが 1 つのノードに収まり、書き込みと読み取りのスループットを 1 つのノードで処理でき、高可用性が不要なケース。 | Memorystore(フルマネージド)と Redis オープンソース ソフトウェア(OSS)(セルフマネージド)でサポートされています。 セルフマネージングでは、より複雑な設定が必要になります。Memorystore は、すぐに使用を開始するのに適したオプションです。 |
いいえ | 単一ノード | 単一ノード |
HA とリードレプリカ | 書き込みオペレーション用の単一の Redis ノード。Sentinel などの使用により、高可用性を実現し、読み取り負荷を共有できます。 | 書き込みスループットは 1 つのノードで処理できるが、読み取りスループットを 1 つのノードで処理できない場合、または高可用性が必要な場合。 | Memorystore(フルマネージド)と Redis OSS(セルフ マネージド)でサポートされています。 Redis Cluster アーキテクチャは、大規模な分散アプリケーションに最適な自動スケーリング、高可用性、データ シャーディングを提供します。手動スケーリング、クラスタリング、シャーディングにおけるトレードオフと必要なメンテナンス ワークについては、Memorystore for Redis Cluster でのゼロ ダウンタイムのスケーリングをご覧ください。 セルフマネージングでは、より複雑な設定が必要になります。Memorystore は、すぐに使い始めるのに適したオプションです。 |
マルチ AZ | マルチノード | 単一ノード |
クラスタ(プロキシなし) | 複数のノードが、別々のデータシャードを使用してデータ書き込みオペレーションを分割します。高可用性とリードレプリカは必要に応じて追加できます。 | 書き込みスループットを 1 つのノードで処理できず、高可用性またはリード レプリケーションがオプションで必要となる場合。 | マルチ AZ | マルチノード | マルチノード | |
クラスタ(プロキシあり) | 複数のノードが、別々のデータシャードを使用してデータ書き込みオペレーションを分割します。高可用性とリードレプリカは必要に応じて追加できます。プロキシは各プライマリ ノードにデプロイされます。 | 書き込みスループットが 1 つのノードで処理できず、高可用性または読み取りレプリケーションがオプションで必要であり、Redis Cluster API を使用するようにクライアント アプリケーションをリファクタリングするにはコストがかかりすぎるか不便な場合、またはプロキシを使用すると他のメリットがある場合。 | Redis Enterprise Cloud(フルマネージド)または Redis Enterprise ソフトウェア(セルフマネージド)でサポートされています。 Redis OSS でセルフマネージングを行うには、より複雑な設定が必要です。Redis Enterprise Cloud は、すぐに使用を開始できる優れたオプションです。 |
マルチ AZ またはマルチリージョン(Redis Enterprise のみ) | マルチノード | 単一ノード |
導入について
Google Cloud では、次の Redis デプロイ オプションを提供しています。
- Google Cloud のフルマネージド Memorystore for Redis: Google が管理するフルマネージドの高可用性で耐久性のある Redis サービス。費用対効果が高く、設定、運用、スケーリングが迅速に行えます。Memorystore は、オプションの高可用性で Redis Cluster とスタンドアロン Redis の両方をサポートしています。
- Redis Ltd. によるセルフマネージドまたはフルマネージド Redis Enterprise: Redis Ltd. によってライセンス供与された、高可用性で耐久性のある Redis クラスタ。管理オプションは 2 つあります。Redis Ltd. によって管理される(「Redis Enterprise Cloud」)か、Redis Ltd. のサポートによるセルフマネージド(「Redis Enterprise Software」)です。Redis Enterprise は、Redis Ltd. から直接、または Google Cloud Marketplace から調達できます。Redis Ltd. は、Compute Engine、Google Kubernetes Engine、OpenShift でのデプロイをサポートしています。
- セルフマネージド Redis オープンソース ソフトウェア(OSS): Compute Engine、Google Kubernetes Engine、OpenShift にデプロイできる、セルフマネージド Redis クラスタまたはスタンドアロン Redis(オプションで高可用性)。
Redis のデプロイ オプションを選択する
このセクションでは、ワークロードに最適な Redis デプロイ オプションを選択する方法について説明します。図 1 は、意思決定ポイントの概要を示しています。
Redis 管理モデルを選択する
次のいずれかの管理モデルを選択できます。
フルマネージド デプロイ。デプロイと管理オペレーションをサービス プロバイダにオフロードします。アプリの構築に専念し、管理タスクをオフロードする必要がある場合は、このモデルを選択します。
セルフ マネージド デプロイ。デプロイと管理のオペレーションはお客様の責任となります。次のいずれかに該当する場合は、このモデルを選択してください。
既存の運用の経済規模があり、Redis の管理と運用を担当することで、組織にとって経済的なメリットがある。
IaaS のみの依存関係を戦略的に優先する。
高度な最適化が必要です。
デプロイ オプションを評価する
管理モデルを選択したら、利用可能なデプロイ オプションを評価します。
フルマネージド オプション
フルマネージド デプロイの場合は、Memorystore または Redis Enterprise Cloud を使用できます。
Memorystore
次のいずれかに該当する場合は、Memorystore を選択してください。
- マネージド ソフトウェアのサポートを Google Cloud に統合することを希望している。
- Identity and Access Management、API、組織のポリシー、割り当て、Cloud Asset Inventory などの Google Cloud コンストラクトとのインテグレーションを最適化できます。
- Memorystore でのみ利用可能な特定の機能(スケールバックなど)が必要。
Memorystore の詳細については、Memorystore プロダクトのドキュメントをご覧ください。
導入について
- Memorystore for Redis(スタンドアロン、HA)
- Memorystore for Redis Cluster(クラスタ、HA)
Redis Enterprise Cloud
次のいずれかに該当する場合は、Redis Enterprise Cloud を選択してください。
- Redis Enterprise Cloud でのみ利用可能な特定の機能(99.999% SLA のリージョン間のアクティブ - アクティブ マルチプライマリ書き込み、RedisSearch ユースケースなど)が必要です。
- Redis Cluster API をサポートしていないアプリケーションのクラスタ スケーリングが必要です。
Redis Enterprise Cloud の詳細については、Redis Cloud のドキュメントをご覧ください。
調達と請求のオプション
セルフ マネージド オプション
セルフマネージド デプロイの場合は、Redis Enterprise と Redis オープンソース ソフトウェアのどちらかを選択できます。
Redis Enterprise
次のいずれかに該当する場合は、セルフマネージド Redis Enterprise を選択してください。
- アプリケーションには、スケールアウト用の自動シャーディング、Redis on Flash、Redis Enterprise Operator for Kubernetes などの独自の機能が必要です。
- オペレーション チームが、サードパーティのサポートなしで、複雑な Redis の問題を社内で処理できるスキルセットを持っていない。
- Redis Ltd. が提供するエンタープライズ サポートを希望し、関連するライセンス費用を組織で管理できる。
Redis Enterprise ソフトウェアの詳細については、Redis Enterprise ソフトウェアのドキュメントをご覧ください。
導入について
- GKE または OpenShift 上のセルフマネージド Redis Enterprise ソフトウェア(Kubernetes 用の Redis Enterprise Operator の使用は任意)
- Compute Engine でのセルフマネージド Redis Enterprise ソフトウェア
調達と請求のオプション
- ライセンスとサポートは Redis Inc. から請求されますが、インフラストラクチャは Google から請求されます。
- ライセンスとサポートは Google Cloud Marketplace から調達しますが、インフラストラクチャは Google から請求されます。
Redis オープンソース ソフトウェア
次のいずれかに該当する場合は、セルフマネージド Redis オープンソース ソフトウェアを選択してください。
- 完全なカスタマイズが必要であるか、または他の方法では実現できない完全なカスタマイズを希望している。
- 運用チームは、サードパーティのサポートを受けずに、複雑な Redis の問題を内部で処理するためのスキルセットを備えています。
- ライセンス費用を節約したい。
- 社内で Redis と Linux カーネルのチューニングに関するリソースが豊富にあるか、ユースケースでチューニングが必要ない場合。
セルフマネージド Redis オープンソース ソフトウェアをデプロイする際は、プラットフォーム戦略に基づいてデプロイ ターゲットを選択します。Redis オープンソース ソフトウェアは、Compute Engine、Google Kubernetes Engine、OpenShift にデプロイできます。GKE Autopilot は、デプロイと管理の労力を削減できますが、スケールインが困難になるなど、制限が厳しい場合があります。
Redis オープンソース ソフトウェアの詳細については、Redis.io をご覧ください。
機能の比較
次の表は、すべてのデプロイ オプションの主な違いをまとめたものです。
デプロイの特徴 | 導入について | |||
---|---|---|---|---|
Memorystore for Redis と Redis Cluster | Redis Enterprise Cloud | Redis Enterprise ソフトウェア | Redis オープンソース ソフトウェア | |
管理者 | Google のフルマネージド サービス | Redis Ltd. が完全に管理 | セルフ マネージド | セルフ マネージド |
サポート: | Redis Ltd. | Redis Ltd. | 自己サポート | |
ご請求元 | Redis Ltd. または Google | インフラストラクチャは Google から請求されます。 Redis Ltd. のライセンスとサポートは、Redis Ltd. または Google から請求されます。 |
||
費用要素 | すべての費用が含まれています。 インフラストラクチャ、ライセンス、サポート、管理の費用が含まれます。 詳細については、Memorystore の料金をご覧ください。 |
すべての費用が含まれています。 インフラストラクチャ、ライセンス、サポート、管理の費用が含まれます。 詳細については、Redis Enterprise Cloud の料金をご覧ください。 |
ソフトウェア ライセンスとサポート費用が含まれています。インフラストラクチャの使用量は Google Cloud で個別に請求されます。 デプロイ、調整、人件、ダウンタイムなどの管理コストは、お客様が負担します。 詳細については、Redis Enterprise ソフトウェアの料金をご覧ください。 |
サービス料やライセンス料はかかりません。Google Cloud によって請求されるインフラストラクチャの使用量。 デプロイ、調整、人件、ダウンタイムなどの管理コストは、お客様が負担します。 |
SLA |
詳細については、Memorystore サービスレベル契約をご覧ください。 |
詳細については、Redis Cloud サービスレベル契約をご覧ください。 |
なし 稼働時間はお客様が責任を負います。 |
なし 稼働時間はお客様が責任を負います。 |
無料枠 | いいえ | はい | 30 日間の無料トライアル | 該当なし |
データ階層化 | いいえ | 自動階層化 | 自動階層化 | いいえ |
マルチクラウド | いいえ | はい | 手動 | 可能だが、多くの手間がかかる |
マルチリージョン アクティブ / アクティブ | いいえ | はい | 手動 | 可能だが、多くの手間がかかる |
モジュール |
|
|
||
コンプライアンス | さまざまなコンプライアンス レジームのサポートが組み込まれています。詳細については、コンプライアンス サービスをご覧ください。 | さまざまなコンプライアンス レジームのサポートが組み込まれています。詳細については、Redis Trust Center をご覧ください。 | さまざまなコンプライアンス レジームのサポートが組み込まれています。詳細については、Redis Trust Center をご覧ください。 | 手動によるコンプライアンス管理が必要です。詳細については、コンプライアンス サービスをご覧ください。 |
クラスタ書き込みのスケーリング | スケールインとスケールアウト | スケールインとスケールアウト | スケールアウトします。スケーリングには手動での作業が必要です。 | セルフ マネージド、手動での作業が必要。 |
自動再調整 | はい | はい | セルフ マネージド、手動による作業が必要 | セルフ マネージド、手動による作業が必要 |
高可用性の追加 | シームレス。再デプロイは不要 | シームレス。再デプロイは不要 | 再デプロイは不要だが、手動での作業が必要 | 手作業による大幅な労力が必要 - 元のアーキテクチャによっては再デプロイが必要になる場合があります |
リードレプリカの追加 | シームレス。再デプロイは不要 | シームレス。再デプロイは不要 | 手作業による大幅な労力が必要 - 元のアーキテクチャによっては再デプロイが必要になる場合があります | セルフ マネージド、手動による作業が必要 |
書き込みスループットが不足している場合に、データシャードされた Redis クラスタに移行する | 再デプロイが必要ですが、ツールが用意されているため、手間はかかりません。Redis Cluster API をサポートするようにクライアントをリファクタリングする必要があります。 | シームレス。再デプロイは不要 | シームレス。再デプロイは不要 | セルフ マネージド、手動による作業が必要 |