次の方法で共有


Basic、Standard、Premium、および Enterprise レベルから Azure Managed Redis に移行する

この記事では、Azure Cache for Redis (Basic、Standard、Premium、Enterprise レベルを含む) から Azure Managed Redis に移行する理由と方法について説明します。

以下について学習します。

  • 以前のレベルよりも Azure Managed Redis を選択する利点。
  • サービス間の主な機能の違い。
  • キャッシュ データを移行するための戦略。
  • スムーズな移行プロセスを確保する方法。
  • ニーズに適した Azure Managed Redis SKU とパフォーマンス レベルの選択に関するガイダンス。
  • クライアント アプリケーションを更新するための考慮事項と推奨事項。

Basic、Standard、Premium、Enterprise、OSS のどちらのレベルを使用している場合でも、このガイドは Azure Managed Redis への移行の計画と実行に役立ちます。

ドキュメントは 2 つのセクションに分割されます。 1 つは Enterprise インスタンスについてです。 もう 1 つは、Azure Cache for Redis の Basic レベル、Standard レベル、Premium レベルです。

Enterprise から Azure Managed Redis への移行の利点

Azure Managed Redis は、高度な Redis Enterprise ソフトウェアに基づいて構築されています。 Azure Managed Redis は Azure ファースト パーティのオファリングです。つまり、Azure Marketplace コンポーネントは関係せず、ユーザーは Marketplace と個別に取引する必要はありません。 他のネイティブ Azure サービスや製品と同様に、Azure Managed Redis のプロビジョニング、管理、支払いを行います。

Azure Managed Redis では、リソースが不足し、Azure Cache for Redis Enterprise を提供できるリージョンまたはクラウドを制限する クォーラム ノード は必要ありません。 Azure Managed Redis は、他のソブリン クラウドでサポートされる予定のほとんどの Azure リージョンで利用できるようになりました。 クォーラム ノードの詳細については、「 Enterprise および Enterprise Flash レベル」を参照してください。 未使用の クォーラム ノードを削除すると、すべてのノードをデータ ノードとして使用できるため、コスト効率が向上します。

既定では、Azure Managed Redis はゾーン冗長です。

高可用性 (HA) なしで Azure Managed Redis を開発環境とテスト環境に使用できます。 HA なしで非運用環境を使用すると、インスタンスのコストが半減します。

Azure Managed Redis の SKU 構造は、メモリとパフォーマンスのニーズに基づいています。 Azure Cache for Redis Enterprise と同様にスケール ファクターまたは容量を管理する代わりに、Azure Managed Redis の 3 つのパフォーマンス レベルから選択できます。 詳細については、「 適切なレベルの選択」を参照してください。

最後に、Azure Managed Redis では、ワークロードのセキュリティ体制を向上させるためにキャッシュを作成するときに、Microsoft Entra ID 認証が提供されます。

機能の比較

特徴 Azure Cache for Redis Enterprise(Azure Redis Enterprise 用キャッシュ) Azure マネージド再配布
Redis のバージョン 7.2 7.4
クラスタリング ポリシー OSS、Enterprise OSS、Enterprise、ノンクラスタード
Geo-replication Active Active
SLA 最大 99.999% 最大 99.999%
ゾーン冗長性 Yes *高可用性あり
非 HA モード No はい (開発/テストの場合)
データの永続化 はい (プレビュー段階) Yes
Scaling Yes Yes
TLS バージョンのサポート 1.2,1.3 1.2,1.3
Microsoft Entra ID 認証 No Yes
Azure リージョンのサポート Limited 広範囲
Azure ソブリン クラウドのサポート No はい (近日公開予定)
ホスト名 DNS サフィックス <name>.<region>.redisenterprise.cache.azure.net <name>.<region>.redis.azure.net

* 高可用性 が有効になっている場合、Azure Managed Redis は複数の可用性ゾーンを持つリージョンでゾーン冗長になります。

Enterprise から Azure Managed Redis に移行するときの考慮事項

Azure Managed Redis は Azure Cache for Redis Enterprise と同じソフトウェア スタックを使用するため、Enterprise レベルを使用する既存のアプリケーションでは多くの変更は必要ありません。 重要な例外は、接続資格情報を変更する必要がある場合です。

異なるホスト名とサフィックス

Azure Cache for Redis Enterprise と Azure Managed Redis のコア ソフトウェアは似ていますが、Redis クラスターホスト名の DNS サフィックスは異なります。 Azure Managed Redis に移行するときは、アプリケーションで Redis クラスターのホスト名を変更する必要があります。 キャッシュへの接続にアクセス キーを使用する場合は、キャッシュへの接続に使用するアクセス キーも更新する必要があります。

Important

キャッシュに接続するコードを更新することを検討してください。 アクセス キーを使用する代わりに、Microsoft Entra ID を使用します。 アクセス キーの代わりに Microsoft Entra ID を使用することをお勧めします。

適切な Azure Managed Redis のサイズと SKU の選択

Azure Managed Redis には、多くのメモリ サイズと 3 つのパフォーマンス レベルが用意されています。 メモリ サイズとパフォーマンスレベルの詳細については、適切なレベル の選択に関するページを参照してください。

既存の Azure Cache for Redis Enterprise インスタンスのメモリ サイズを特定する

Azure Cache for Redis Enterprise インスタンスはスケールアウトして、より多くのメモリとより多くのコンピューティング リソースの両方を提供できるため、キャッシュのスケールアウト係数に注意することが重要です。 スケールアウトは容量にも関連します。これは、基本的にクラスターで実行されている仮想マシンの数です。

適切な Azure Managed Redis メモリ サイズを選択するには:

  1. Azure portal に移動し、リソース メニューから [概要 ] を選択します。
  2. [エンタープライズ インスタンスの概要] の [状態] フィールドを確認します。 [状態] フィールドには、Redis Enterprise インスタンスのメモリ サイズが表示されます。

考えられるシナリオを見てみましょう。

Enterprise キャッシュの概要のスクリーンショット。

[概要] ウィンドウの [状態] を見ると、実行中 - Enterprise 8 GB (2 x 4 GB) が表示されます。 この表記は、キャッシュが現在、スケールが 2 の E5 Enterprise SKU を使用し、8 GB のキャッシュを生成することを意味します。 そのため、Azure Managed Redis では少なくとも 10 GB のキャッシュから始める必要があります。

この場合は、12 GB のメモリを提供する任意のレベルを使用します。

SKU レベル
M10 メモリ最適化
B10 Balanced
X10 コンピューティング最適化

パフォーマンスレベルを特定する

また、ワークロードがメモリを集中的に消費しているか、コンピューティング集中型であるかも考慮する必要があります。 現在のエンタープライズ インスタンスが CPU より前にメモリ不足になる可能性が高い場合、ワークロードはメモリを集中的に消費します。 メモリ最適化パフォーマンス レベルから選択することを検討してください。

ワークロードのスループットを集中的に使用する場合、または待機時間が長すぎる場合、ワークロードはコンピューティング集中型になります。 コンピューティング最適化パフォーマンス レベルから選択することを検討してください。

不明な場合は、 バランスの取れた パフォーマンス レベルから始めることができます。これは、メモリとパフォーマンスが正常に組み合わせて提供されるためです。

現在 Redis Enterprise Flash レベルを使用している場合は、Flash Optimized レベルを選択する必要があります。

新しい Azure Managed Redis インスタンスを作成する

新しい Azure Managed Redis インスタンスのメモリとパフォーマンスレベルを選択したら、新しい Azure Managed Redis インスタンスを作成できます。 キャッシュの作成の詳細については、「 クイック スタート: Azure Managed Redis インスタンスを作成する」を参照してください。

次に、データを移動するための戦略を選択する必要があります。 最後に、新しいキャッシュを使用するようにアプリケーションを更新する必要があります。

アプリを更新して Azure Managed Redis インスタンスに接続する

新しい Azure Managed Redis インスタンスを作成したら、新しい Azure Managed Redis インスタンスを指すように、アプリケーションの Redis エンドポイント/ホスト名とアクセス キーを変更する必要があります。 このエンドポイントの変更は接続に一時的な途切れが発生するため、勤務時間外に公開することを推奨します。

Note

プライベート エンドポイントを介して既存の Redis Enterprise インスタンスに接続する場合は、新しい Azure Managed Redis Cache もアプリケーションの仮想ネットワークにピアリングされていることを確認します。 新しいキャッシュには、既存の Redis Enterprise インスタンスと同様のセットアップが必要です。

アプリケーションが想定どおりに実行されていることを確認し、以前の Redis Enterprise インスタンスを削除します。

Enterprise キャッシュから新しい Azure Managed Redis キャッシュへのデータの移動

Azure Managed Redis インスタンスに移行するときは、既存の Redis Enterprise インスタンスから新しい Azure Managed Redis インスタンスにデータを移動する最適な方法を検討する必要があります。 アプリケーションがデータ損失を許容できる場合、または悪影響を受けずにキャッシュをリハイドレートするその他のメカニズムがある場合は、この手順をスキップして次の手順に進みます。

アプリケーションでデータが新しい Azure Managed Redis インスタンスにも移行されるようにする必要がある場合は、次のいずれかのオプションを選択します。

RDB ファイルを使用したデータのエクスポートとインポート

  • 長所: データ スナップショットを保持します。
  • 短所: スナップショットの後に書き込みが発生した場合のデータ損失のリスク。

基本的なエクスポート/インポート手順を次に示します。

  1. 既存の Redis Enterprise キャッシュから Azure Storage アカウントに RDB をエクスポートします。
  2. Azure Storage アカウントから新しい Azure Managed Redis キャッシュにデータをインポートします。
  3. データのエクスポートとインポートの詳細については、 Azure Managed Redis でのデータのインポートとエクスポートに関するページを参照してください。

デュアルライティング戦略

  • 長所: ダウンタイムゼロ、安全な移行。
  • 短所: 一時的なデュアルキャッシュのセットアップが必要です。

基本的なデュアル書き込み手順を次に示します。

  1. 既存の Azure Cache for Redis Enterprise キャッシュと新しい Azure Managed Redis キャッシュの両方に書き込むように、アプリケーションを変更します。
  2. Redis Enterprise キャッシュからの読み取りと書き込みを続行します。
  3. 十分なデータ同期が完了したら、読み取りを Azure Managed Redis に切り替え、Redis Enterprise インスタンスを削除します

RIOT-X を使用したプログラムによる移行

RIOT-X は、コンテンツを Enterprise から Azure Managed Redis に移行する方法を提供します。 詳細については、「 Azure Managed Redis の RIOT-X を使用したデータ移行」を参照してください。

  • 長所:フルコントロール、カスタマイズ可能。
  • 短所: 開発作業が必要です。

Basic、Standard、または Premium キャッシュから Azure Managed Redis に移行する利点

OSS SKU、Basic、Standard、または Premium のいずれかを使用する場合、Azure Managed Redis に移行すると、すべてのレベルのキャッシュでより多くの機能が提供されます。

Azure Cache for Redis の機能と Azure Managed Redis の機能を比較する表を次に示します。

機能の説明 Basic
OSS
Standard
OSS
Premium
OSS
Balanced
AMR
メモリ最適化
AMR
コンピューティング最適化
AMR
Availability N/A 99.9% 99.9% 最大 99.999% 最大 99.999% 最大 99.999%
転送中のデータの暗号化 Yes Yes Yes Yes Yes Yes
ネットワークの分離 Yes Yes Yes Yes Yes Yes
スケールアップ/スケールアウト Yes Yes Yes Yes Yes Yes
スケールダウン/スケールイン Yes Yes Yes No No No
OSS クラスタリング No No Yes Yes Yes Yes
データの永続化 No No Yes Yes Yes Yes
ゾーン冗長性 No はい (プレビュー) Yes *高可用性あり *高可用性あり *高可用性あり
Geo-replication No No はい (パッシブ) はい (アクティブ) はい (アクティブ) はい (アクティブ)
接続監査ログ No No Yes Yes(Event-based) Yes(Event-based) Yes(Event-based)
Redis モジュール No No No Yes Yes Yes
Import/Export No No Yes Yes Yes Yes
Reboot Yes Yes Yes No No No
スケジュールされた更新 Yes Yes Yes No No No
Microsoft Entra ID 認証 Yes Yes Yes Yes Yes Yes
Microsoft Entra ID RBAC Yes Yes Yes No No No
キースペース通知 Yes Yes Yes No No No
非高可用性 N/A No No Yes Yes Yes

OSS は Azure Cache for Redis を参照します
AMR は Azure Managed Redis を参照します

* 高可用性 が有効になっている場合、Azure Managed Redis は複数の可用性ゾーンを持つリージョンでゾーン冗長になります。

Azure Managed Redis を実装する際に考慮すべきその他の違いを次に示します。 次のクライアント アプリケーションの変更を検討してください。

機能の説明 Azure Cache for Redis Azure マネージド再配布
DNS サフィックス (PROD クラウドの場合のみ) .redis.cache.windows.net <region>.redis.azure.net
TLS ポート 6380 10000
TLS 以外のポート 6379 サポートされていません
個々のノードの TLS ポート 13XXX 85xx
個々のノードの非 TLS ポート 15XXX サポートされていません
クラスタリングのサポート OSS クラスタリング モード OSS および Enterprise クラスター モード
サポートされていないコマンド サポートされていないコマンド マルチキー コマンド
リージョン別の提供状況 すべての Azure リージョン * このセクションの後のリージョンの一覧を参照してください。
Redis のバージョン 6 7.4
サポートされている TLS バージョン 1.2 および 1.3 1.2 および 1.3

Basic、Standard、または Premium キャッシュを Azure Managed Redis に移行する

テーブルに基づいて、Azure Cache for Redis SKU と Azure Managed Redis のキャッシュのオプションの間のマッピングをいくつか次に示します。

Note

Basic SKU の移行に Azure Managed Redis の非高可用性オプションを使用する

Azure Cache for Redis Azure マネージド再配布 追加メモリ (%)
ベーシック/スタンダード - C0 バランス - B0 50
Basic/Standard - C1 バランス - B1 0
Basic/Standard - C2 バランス - B3 17
ベーシック/スタンダード - C3 バランス - B5 0
ベーシック/スタンダード - C4 メモリ最適化 – M10* -8
Basic/Standard – C4 メモリ最適化 – M20** 46
ベーシック/スタンダード - C5 メモリ最適化 – M20* -8
ベーシック/スタンダード – C5 メモリ最適化 – M50** 57
基本/標準 - C6 メモリ最適化 - M50 12
Premium - P1 バランス - B5 0
Premium - P2 バランス - B10* -8
Premium - P2 バランス - B20** 46
プレミアム - P3 バランス - B20* -8
プレミアム - P3 バランス - B50** 57
プレミアム - P4 バランス - B50 12
プレミアム - P5 バランス - B100 0
  • *このオプションは、コスト効率のためです。 このオプションを選択するには、過去 1 か月間に使用されたメモリの合計のピークが、推奨される Azure Managed Redis メモリよりも小さいことを確認してください。
  • ** このオプションは、豊富なメモリ消費に適しています。

クラスター化 Azure Cache for Redis Premium

  • シャード クラスターの場合は、同等の合計メモリを持つメモリ最適化レベルを選びます。
  • 複数の読み取りレプリカを持つクラスターの場合は、同等の合計メモリを持つコンピューティング最適化レベルをプライマリ レプリカとして選びます。

移行オプション

クライアント アプリケーションは、さまざまなクラスタリング モードとエンドポイントを持つ Azure Managed Redis インスタンスを使用できる必要があります。 Azure Cache for Redis と Azure Managed Redis は互換性があるため、ほとんどのシナリオで接続構成以外のアプリケーション コードの変更は必要ありません。

詳細は次で参照してください。

Azure Cache for Redis を Azure Managed Redis に移行するためのオプション

Option Advantages Disadvantages
新しいキャッシュを作成する 実装が非常に簡単です。 新しいキャッシュにデータを再入力する必要があります。多くのアプリケーションで動作しない可能性があります。
RDB ファイルを使用してデータをエクスポートおよびインポートする 一般に、Redis キャッシュとの互換性があります。 RDB ファイルの生成後に既存のキャッシュに書き込まれると、一部のデータが失われる可能性があります。
2 つのキャッシュにデータを二重に書き込む データの損失やダウンタイムはありません 既存のキャッシュが中断されない操作です。 新しいキャッシュのテストが簡単になります。 長期間にわたって 2 つのキャッシュが必要です。
プログラムでデータを移行する データの移動方法を完全に制御できます。 カスタム コードが必要です。

新しい Azure Cache for Redis を作成する

このアプローチは、技術的には移行ではありません。 データの損失が気にならない場合、Azure Managed Redis レベルに移行する最も簡単な方法は、新しいキャッシュ インスタンスを作成し、それにアプリケーションを接続することです。 たとえば、Redis をデータベース レコードのルックアサイド キャッシュとして使用すると、キャッシュをゼロから簡単に再構築できます。 このオプションを実装する一般的な手順は、次のとおりです。

  1. 新しい Azure Managed Redis インスタンスを作成します。
  2. 新しいインスタンスが使用されるようにアプリケーションを更新します。
  3. 古い Azure Cache for Redis インスタンスを削除します。

データを RDB ファイルにエクスポートし、Azure Managed Redis にインポートします

このオプションは、Premium レベルのキャッシュにのみ適用されます。 オープンソースの Redis は、キャッシュのメモリ内データセットのスナップショットを取得してファイルに保存するための標準的なメカニズムが定義されます。 別の Redis Cache が、エクスポートされた RDB ファイルを読み取ることができます。 Azure Cache for Redis Premium レベルは、キャッシュ インスタンスからデータへの RDB ファイル経由でのエクスポートをサポートします。 RDB ファイルを使用して、既存の Azure Cache for Redis インスタンスから Azure Managed Redis インスタンスにデータを転送できます。

このオプションを実装する一般的な手順は、次のとおりです。

  1. 既存の Azure Cache for Redis インスタンスと同じ (またはより大きい) サイズの新しい Azure Managed Redis インスタンスを作成します。
  2. これらのエクスポート手順または PowerShell Export コマンドレットを使用して、既存の Azure Cache for Redis インスタンスから RDB ファイルをエクスポートする
  3. 次のインポート手順または PowerShell インポート コマンドレットを使用して、RDB ファイルを新しい Azure Managed Redis インスタンスにインポートします
  4. 新しい Azure Managed Redis インスタンスの接続文字列を使用するようにアプリケーションを更新します。

移行期間内に 2 つの Redis キャッシュに同時に書き込む

キャッシュ間で直接データを移動するのではなく、アプリケーションを使用して、既存のキャッシュと設定中の新しいものの両方にデータを書き込むことができます。 アプリケーションは最初は、引き続き既存のキャッシュからデータを読み取ります。 新しいキャッシュに必要なデータがある場合は、そのキャッシュにアプリケーションを切り替え、古いキャッシュを削除します。 たとえば、Redis をセッション ストアとして使用し、アプリケーション セッションが 7 日間有効であるとします。 1 週間で 2 つのキャッシュに書き込まれた後は、期限切れではないセッション情報がすべて新しいキャッシュに含まれていると確信できるようになります。 その時点以降は、データが失われることを心配せずに安全に利用できます。

このオプションを実装する一般的な手順は、次のとおりです。

  1. 既存の Azure Cache for Redis インスタンスと同じ (またはより大きい) サイズの新しい Azure Managed Redis インスタンスを作成します。
  2. 新しいインスタンスと元のインスタンスの両方に書き込まれるようにアプリケーション コードを変更します。
  3. 新しいインスタンスに十分なデータが入力されるまで、元のインスタンスからのデータの読み取りを続行します。
  4. 新しいインスタンスからの読み取りと書き込みのみが行われるようにアプリケーション コードを更新します。
  5. 元のインスタンスを削除します。

プログラムで移行する

プログラムで既存の Azure Cache for Redis インスタンスからデータを読み込み、Azure Managed Redis インスタンスに書き込むことで、カスタム移行プロセスを作成します。 試すことができるオープン ソース ツールには次の 2 つがあります。

  • Redis-copy
    • このオープンソース ツールを使用すると、別の Azure Cache for Redis インスタンスにデータをコピーできます。 このツールは、さまざまな Azure Cache for Redis リージョンのキャッシュ インスタンス間でデータを移動する場合に役立ちます。 コンパイル済みのバージョンも入手できます。 独自の移行ツールの作成に役立つガイドになるソース コードも見つけることができます。
  • RIOT
    • RIOT は、Redis コミュニティによってテストされたもう 1 つの人気がある移行ツールです。 これは、Redis 内外からデータを取得するのに役立つコマンド ライン ユーティリティです。

Note

このツールは、正式には Microsoft でサポートされていません。

このオプションを実装する一般的な手順は、次のとおりです。

  1. 既存のキャッシュが配置されているリージョンで VM を作成します。 データセットが大きい場合は、コピー時間が削減されるように、比較的強力な VM を選択してください。
  2. 新しい Azure Managed Redis インスタンスを作成します。
  3. 新しいキャッシュからデータをフラッシュして、空になったことを確認します。 このステップは、コピー ツール自体ではターゲット キャッシュの既存のキーが上書きされないため必須です。 重要: ソース キャッシュからのフラッシュは "しないで" ください。
  4. 前述のオープンソース ツールなどのアプリケーションを使用して、ソース キャッシュからターゲットへのデータのコピーを自動化します。 データセットのサイズによっては、コピー処理が完了するまでに時間がかかる場合があることに注意してください。

Azure Managed Redis のリージョン別の提供状況

Azure Managed Redis は、新しいリージョンに継続的に拡大しています。 リージョンで利用できるかどうかについては、「リージョン別の利用可能な製品」をご覧ください。