Azure Managed Redis (プレビュー) とは
Azure Managed Redis (プレビュー) は、Redis Enterprise ソフトウェアに基づくメモリ内データ ストアを提供します。 Redis Enterprise は、互換性を維持しながら、Redis のコミュニティ エディションのパフォーマンスと信頼性を向上します。 このサービスは、Microsoft によって管理されており、Azure 上でホストされ、Azure 内外の任意のアプリケーションから使用できます。 Azure Managed Redis の構築方法の詳細については、「Azure Managed Redis のアーキテクチャ」を参照してください。
重要
Azure Managed Redis は現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
Azure Managed Redis は、バックエンド データ ストアを頻繁に使用するアプリケーションのパフォーマンスとスケーラビリティを向上します。 高速に読み書きできるサーバーのメモリ内にアクセス頻度の高いデータを維持することで、大量のアプリケーション要求を処理することができます。
Redis によって、きわめて低遅延かつ高スループットのデータ ストレージ ソリューションがモダン アプリケーションにもたらされます。 さらに Redis は、データ インジェスト、重複除去、メッセージング、ランキング、セマンティック キャッシュのほか、ベクトル データベースとして、非キャッシング アプリケーションにますます使用されています。
Azure Managed Redis はスタンドアロンでデプロイすることも、Azure Container Apps、Azure App Service、Azure Functions、Azure SQL、Azure Cosmos DB などの他の Azure アプリやデータベース サービスと共にデプロイすることもできます。
主なシナリオ
Azure Managed Redis は、一般的なアプリケーションのアーキテクチャ パターンをサポートしているため、アプリケーションのパフォーマンスが向上します。 次のパターンなど、最も一般的なものをいくつか示します。
Pattern | 説明 |
---|---|
データ キャッシュ | 多くの場合、データベースが大きすぎてキャッシュに直接読み込むことができません。 キャッシュ アサイド パターンを使用して、必要な場合にだけデータをキャッシュに読み込むのが一般的です。 システムがデータを変更した場合、システムはキャッシュも更新できます。それが後で他のクライアントに配布されます。 さらに、システムでは、データの有効期限を設定したり、削除ポリシーを使用してキャッシュへのデータの更新をトリガーしたりすることができます。 |
コンテンツ キャッシュ | 多くの Web ページは、ヘッダー、フッター、バナーなどの静的コンテンツを使用するテンプレートから生成されます。 これらの静的項目は、頻繁には変更されません。 メモリ内キャッシュを使用すると、バックエンド データストアと比較して、静的コンテンツに迅速にアクセスできます。 このパターンでは、処理時間とサーバーの負荷が軽減されるため、Web サーバーの応答性が向上します。 負荷に対処するために必要なサーバー数を減らすことができます。 Azure Managed Redis は、このパターンを ASP.NET でサポートするために、Redis 出力キャッシュ プロバイダーを備えています。 |
セッション ストア | このパターンは通常、Web アプリケーションでユーザーの Cookie に関連付けられる、ショッピング カートなどのユーザー履歴データに使用されます。 Cookie に格納する情報量が多すぎると、Cookie のサイズが大きくなり、大きなサイズ の Cookie が要求ごとに渡されたり検証されたりするため、パフォーマンスに悪影響を及ぼす場合があります。 一般的なソリューションでは、データベース内のデータにクエリを実行するためのキーとして、Cookie を使用します。 ユーザーに情報を関連付けるために、Azure Managed Redis などのメモリ内キャッシュを使用すると、リレーショナル データベース全体を操作するよりも高速になります。 |
ベクトル類似性検索 | 一般的な AI のユース ケースは、大規模言語モデル (LLM) を使用してベクトル埋め込みを生成することです。 これらのベクトル埋め込みは、ベクトル データベースに格納してから、類似性を判断するために比較する必要があります。 Azure Managed Redis には、ベクトル埋め込みを高スループットで格納および比較する機能が組み込まれています。 |
セマンティック キャッシュ | LLM を使用すると、アプリケーションに対して (生成時間が原因で) 待機時間が長くかかり、(トークンごとの価格発生が原因で) コストがかさむことがよくあります。 キャッシュは、LLM の過去の出力を保存して、再び迅速に取得できるようにすることで、これらの問題を解決するのに役立ちます。 ただし、LLM は自然言語を使用するため、一般的なキャッシュでは処理が困難な場合があります。 Azure Managed Redis のようなセマンティック キャッシュは、特定のクエリだけでなく、クエリのセマンティックな意味をキャッシュできるため、LLM でより自然に使用できます。 |
Deduplication (重複除去) | 多くの場合、ユーザー名が取得されたかどうかや、顧客が既にメールを送信したかどうかの判断など、システムで既にアクションが発生したかどうかを判断する必要があります。 Azure Managed Redis では、ブルーム フィルターを使用して重複を迅速に特定し、問題を防ぐことができます。 |
ランキング | Redis は、きちんと分類されたデータ構造を使用して、あらゆる種類のランキングを開発するためのシンプルで強力なサポートを提供します。 さらに、アクティブ geo レプリケーションを使用すると、1 つのランキングをグローバルに共有できます。 |
ジョブおよびメッセージ キュー | アプリケーションは、多くの場合、要求に関連付けられている操作の実行に時間がかかると、キューにタスクを追加します。 実行時間の長い操作は、通常は別のサーバーによって順番に処理されるように、キューに登録されます。 作業を延期するこの手法は、タスク キューと呼ばれます。 Azure Managed Redis は、アプリケーションでこのパターンを有効にするために、分散キューを提供します。 |
分散トランザクション | アプリケーションは、バックエンド データストアに対する一連のコマンドを単一のアトミック操作として実行することを必要とする場合があります。 すべてのコマンドが成功する必要があり、成功しなかった場合はすべて、初期の状態にロールバックされる必要があります。 Azure Managed Redis は、一連のコマンドを単一のトランザクションとして実行する方法をサポートしています。 |
Redis バージョン
Azure Managed Redis は、Redis バージョン 7.4.x をサポートしています。 詳細については、「Azure Managed Redis インスタンスのバージョンをアップグレードする方法」を参照してください。
最適なサービス レベルを選択する
Azure Managed Redis には 4 つのレベルが用意されており、それぞれパフォーマンス特性と価格レベルが異なります。
メモリ内データに対しては、次の 3 つのレベルがあります。
- メモリ最適化 高いメモリ対 vCPU 比率 (8:1) を必要とするが最高のスループット パフォーマンスは必要としない、メモリ集中型のユース ケースに最適です。 処理能力またはスループットがそれほど必要でないシナリオ向けに低価格を実現しており、開発環境やテスト環境に最適です。
- バランス (メモリとコンピューティング) バランスの取れたメモリ対 vCPU (4:1) 比率を提供するため、標準ワークロードに最適です。 このレベルは、メモリとコンピューティング リソースの適切なバランスを実現します。
- コンピューティング最適化 メモリ対 vCPU (2:1) の比率が低く、最大スループットを必要とするパフォーマンス集中型のワークロード向けに設計されています。 最高のパフォーマンスを必要とするアプリケーションに最適です。
1 つのレベルから、メモリ内とディスク上の両方にデータが保存されます。
- フラッシュ最適化 Redis クラスターが、アクセス頻度の低いデータをメモリ (RAM) から NVMe ストレージに自動的に移動できるようにします。 これによりパフォーマンスは低下しますが、大規模なデータセットを持つキャッシュをコスト効率よくスケーリングできるようになります。
Note
フラッシュ最適化レベルがどのように設計されているかの詳細については、「Azure Managed Redis のアーキテクチャ」を参照してください。
重要
データ永続化機能を使用して、メモリ内レベルのデータをディスクに格納することもできます。 データ永続化では、予期しない障害が発生した場合に迅速に復旧できるように、データのバックアップ コピーがディスクに格納されます。 これは、一般的な操作のためにディスクにデータを格納するように設計されたフラッシュ最適化レベルとは異なります。 フラッシュ最適化レベルを使用して一部のデータをディスクに格納しても、データの回復性は向上しません。 フラッシュ最適化レベルでもデータ永続化を使用できます。
レベルと SKU の間でスケーリングする方法については、「Azure Managed Redis インスタンスのスケーリング」を参照してください。
レベルと SKU の概要
価格情報については、Azure Managed Redis の価格に関するページを参照してください。
機能の比較
次の表に、レベル別にサポートされる一部の機能を紹介します。
機能の説明 | メモリ最適化 | Balanced | コンピューティング最適化 | フラッシュ最適化 |
---|---|---|---|---|
サイズ (GB) | 12 - 1920 | 0.5 - 960 | 3 - 720 | 250 - 4500 |
サービス レベル アグリーメント (SLA) | はい | イエス | イエス | はい |
転送中のデータの暗号化 | はい (プライベート エンドポイント) | はい (プライベート エンドポイント) | はい (プライベート エンドポイント) | はい (プライベート エンドポイント) |
レプリケーションとフェールオーバー | はい | イエス | イエス | はい |
ネットワークの分離 | はい | イエス | イエス | はい |
Microsoft Entra ID ベースの認証 | はい | イエス | イエス | はい |
スケーリング | はい | イエス | イエス | はい |
データの永続化 | はい | イエス | イエス | はい |
ゾーン冗長性 | はい | イエス | イエス | はい |
geo レプリケーション | はい (アクティブ) | はい (アクティブ) | はい (アクティブ) | いいえ |
接続監査ログ | はい (イベントベース) | はい (イベントベース) | はい (イベントベース) | はい (イベントベース) |
JSON データ構造 (Redis JSON) | はい | イエス | イエス | はい |
検索機能 (ベクトル検索を含む) | はい | イエス | はい | いいえ |
確率論的データ構造 (Redis Bloom) | はい | イエス | イエス | はい |
時系列データベース機能 (Redis TimeSeries) | はい | イエス | イエス | はい |
Redis on Flash (自動階層化とも呼ばれる) | はい | イエス | イエス | はい |
Import/Export | はい | イエス | イエス | はい |
更新プログラム チャネルと更新プログラムのスケジュール | いいえ | いいえ | いいえ | いいえ |
重要
バランス B0 と B1 の SKU オプションは、アクティブ geo レプリケーションをサポートしていません。
重要
SLA は GA でのみ使用でき、プレビュー期間中は使用できません。
Note
サポートのスケールダウンは、状況によっては制限されます。 詳細については、「Azure Managed Redis のスケーリングの前提条件と制限事項」を参照してください。
レベル選択時のその他の考慮事項
- ネットワーク パフォーマンス: 高スループットを必要とするワークロードがある場合は、ネットワーク帯域幅によってボトルネックが発生する可能性があります。 より高いパフォーマンス レベルに移行するか、サイズが大きいインスタンスに移行することで、帯域幅を増やすことができます。 キャッシュをホストする基盤の VM により、インスタンスのサイズが大きいほど帯域幅も増えます。 帯域幅の制限を上げると、アプリケーションのタイムアウトを引き起こすネットワークの飽和状態を避けやすくなります。 帯域幅のパフォーマンスについては、「パフォーマンス テスト」を参照してください。
- クライアント接続の最大数: 各 SKU にはクライアント接続の最大数があります。 この制限は、パフォーマンス レベルが高くなり、インスタンス サイズが大きくなるほど増えます。 各 SKU の制限の詳細については、「Azure Managed Redis の価格」を参照してください。
- 高可用性: Azure Managed Redis には、複数の高可用性オプションが用意されています。 SLA は、キャッシュ エンドポイントへの接続のみをカバーします。 SLA は、データ損失からの保護には対応していません。 SLA の詳細については、「SLA」を参照してください。 高可用性を Azure Managed Redis インスタンスで無効にできます。 これにより、価格は下がりますが、データ損失とダウンタイムが発生します。 高可用性は、開発とテストのシナリオでのみ無効にすることをお勧めします。
価格に関するその他の考慮事項
重要
Azure Managed Redis Enterprise では、キャッシュ インスタンスごとに IP アドレスが必要です。 現在、IP アドレスの料金は Azure Managed Redis によって吸収され、顧客には渡されません。 これは、今後変更される可能性があります。 詳細については、「IP アドレスの価格」を参照してください。
重要
アクティブ geo レプリケーションを使用すると、Azure リージョン間でデータ転送が生まれます。 これらの帯域幅の料金は現在、Azure Managed Redis によって吸収され、お客様には渡されません。 これは、今後変更される可能性があります。 詳細については、「帯域幅の価格」をご覧ください。
リージョンごとの可用性
Azure Managed Redis は、新しいリージョンに継続的に拡大しています。 リージョンで利用できるかどうかについては、「リージョン別の利用可能な製品」をご覧ください。
Azure Cache for Redis からの移行
Azure Cache for Redis から Azure Managed Redis への移行の詳細については、「Azure Managed Redis から Azure Managed Redis に移行する」を参照してください。