RIOT ライブ マイグレーションを使用して Redis Enterprise Cloud に移行する

Last reviewed 2024-01-29 UTC

このドキュメントでは、Redis Input and Output Tool(RIOT)ライブ マイグレーション サービスを使用して、Redis オープンソース(Redis OSS)、AWS ElastiCache、Azure Cache for Redis などの Redis 互換ソースから、Google Cloud のフルマネージド Redis Enterprise Cloud に移行するアーキテクチャについて説明します。このドキュメントは、Redis 互換のソースからフルマネージド Redis Enterprise Cloud への移行を計画しているデータベース アーキテクト、データベース管理者、データベース エンジニアを対象としています。

Redis Enterprise Cloud は、ミッション クリティカルなアプリケーションのサポートに役立つ、エンタープライズ クラスのフルマネージド Redis ソリューションです。これにより、Redis 互換ソースより高度なスケーラビリティ、可用性、セキュリティ、運用効率を実現できます。無料のコマンドライン ユーティリティである RIOT を使用すると、サービスの中断やダウンタイムを生じさせることなく、Redis から Redis Enterprise Cloud にデータを移行できます。

アーキテクチャ

次の図は、移行のアーキテクチャを示しています。

Redis 互換ソースは、RIOT を介して Redis Enterprise Cloud に移行されます。

この図では、RIOT ライブ マイグレーション サービスを使用して、Redis 互換ソースを Redis Enterprise Cloud に移行しています。

このアーキテクチャは、次のコンポーネントで構成されます。

  • ソース: Redis OSS、AWS ElastiCache、Azure Redis などの Redis 互換ソース。
  • ターゲット: Redis マネージド VPC で実行されている Redis Enterprise Cloud。
  • 移行サービス: Compute Engine 仮想マシン(VM)で実行される RIOT。

使用するプロダクト

このリファレンス アーキテクチャでは、次の Google Cloud プロダクトとサードパーティ プロダクトを使用します。

  • Compute Engine: Google のインフラストラクチャで VM を作成して実行するための、安全でカスタマイズ可能なコンピューティング サービス。
  • RIOT ライブ マイグレーション: Redis との間でデータをやり取りできるように設計された、無料のコマンドライン ユーティリティ。
  • Google Cloud 上の Redis Enterprise Cloud: ミッション クリティカルなアプリケーションのサポートに役立つ、フルマネージドのエンタープライズ クラス Redis ソリューション。

ユースケース

Redis は、1 ミリ秒未満のレイテンシ、高度なデータ構造のサポート、復元力、オープンソースのポータビリティを提供します。ただし、非常に低いレイテンシを維持しながら、要求の厳しい企業ワークロードに対応できるよう、セルフマネージド Redis 互換ソースをスケーリングすることは容易ではありません。セルフマネージド Redis クラスタ デプロイの容量が足りなくなると、スケーリングに苦労することがあります。高可用性ソリューションを設計してレプリケーションを管理するのは、時間がかかり、エラーが発生しやすい作業です。また、ハードウェアの管理、パッチ適用、アップグレードに関連するロジスティックの課題と費用も発生します。

これらの課題を解決するために、Redis Enterprise Cloud は Google Cloud と完全に統合され、Redis を実行、スケーリング、管理するためのリアルタイム データベース サービスを提供します。Redis Enterprise Cloud は、オープンソース コア、完全なエンタープライズ グレードの機能とセキュリティ、市場をリードするパフォーマンス、スケーラビリティ可用性といった、ビジネス クリティカルなアプリケーションに必要とされる各種機能を備えています。さらに、Redis Enterprise Cloud は 1 ミリ秒未満のレイテンシ、わずか数秒のフェイルオーバー、99.999% の稼働時間を実現します。

代替案を設計する

RIOT は、Redis 内外の柔軟な移行ソリューションを提供します。以降のセクションでは、このアーキテクチャの代替となる設計案について説明します。代替手段には、ダウンタイムを伴うものと、ターゲット データベースが Redis フレキシブル(または年間)サブスクリプションでなければならないものがあります。

RDB スナップショット

Redis データベース(RDB)スナップショットは、Redis 内のデータを耐久性の高いストレージに保存する方法の一つです。データセットの特定の時点のスナップショットを実行する手法であり、Redis のデータをバックアップするためによく使用されます。RIOT を使用して移行を実行する代わりに、RDB スナップショットを使用して、Redis OSS インスタンスから Redis Enterprise に移行することもできます。ただし、RIOT とは異なり、RDB スナップショットはライブ マイグレーションをサポートしていないため、ダウンタイムが発生します。

アクティブ / パッシブを使用した同期

Redis OSS ReplicaOf コマンドを使用して、Redis インスタンスを別の Redis サーバーのレプリカとして構成できます。このコマンドは、Redis レプリケーションのコンテキストで使用されます。これにより、さまざまな Redis インスタンスにデータのコピーを作成できます。RIOT と同じく、ReplicaOf コマンドはライブ マイグレーションをサポートするので、ダウンタイムは生じません。しかも、このコマンドは Redis OSS に組み込まれているため、なんらかのツールをインストールする必要もありません。

Redis Enterprise のアクティブ / パッシブ 地理的分散では、ReplicaOf コマンドを使用して、複数の地理的位置で Redis デプロイをスケーリングします。ターゲット データベースがフレキシブル(または年間)サブスクリプションである場合は、このコマンドを使用して、Redis データベースから Redis Enterprise Cloud サブスクリプションにデータを移行することもできます。しかし、ターゲットが固定サブスクリプションの場合、このコマンドは機能しません。また、異なる Redis Cloud アカウントのフレキシブル サブスクリプション間でも機能しません。

設計上の考慮事項

次のガイドラインは、信頼性、費用、パフォーマンスに関する組織の要件を満たすアーキテクチャを開発するために役立ちます。

信頼性

このアーキテクチャでの移行は、ソースの Redis OSS インスタンスからターゲットの Redis Enterprise インスタンスへの一方向の移行です。ソースの Redis OSS からターゲットの Redis Enterprise クラスタへのカットオーバーが完了すると、ターゲット クラスタで変更が生じても、ソースは最新の状態に保たれなくなります。したがって、このアーキテクチャを本番環境に実装した場合、フォールバック時にアプリケーションを最新のソース インスタンスに切り替えることはできません。

費用の最適化

Redis OSS インスタンスを Redis Enterprise に移行する場合は、ターゲットの Redis Enterprise データベースをサブスクリプションごとにグループ化することをおすすめします。こうすることで、マルチテナンシーを使用して総所有コストを低減できます。たとえば、開発とテスト用に設計されたデータベースのグループがある場合、これらは共通の特性とネットワーク要件を持つため、単一のサブスクリプションにグループ化できます。同様に、本番環境用のデータベースのグループは、これとは別のサブスクリプションでホストできます。

パフォーマンス

RIOT ライブ マイグレーションでは、ダウンタイムはほぼ発生しません。ソース Redis OSS インスタンスからの移行中も、アプリケーションはソース Redis OSS インスタンスに引き続きアクセスでき、影響が生じることもありません。RIOT ライブ マイグレーションによる移行プロセスの間、Redis OSS からデータが最初に読み込まれた後も、Redis OSS で変更が生じるつど、変更の移行が継続的に行われます。

最初の Key-Value ペアのデータを移行したら、ソース Redis OSS インスタンスからターゲット Redis Enterprise インスタンスへのカットオーバーを実行します。カットオーバー プロセスの一環として、ソース Redis OSS インスタンスへのクライアントの書き込みを一時停止します。その後、ソース Redis OSS インスタンスからターゲット Redis Enterprise インスタンスへの残りの変更が RIOT によってすべて処理されるまで待機します。

デプロイ

このアーキテクチャをデプロイする方法については、RIOT ライブ マイグレーションをデプロイして Redis オープンソースから Redis Enterprise Cloud に移行するをご覧ください。

次のステップ

寄稿者

著者:

  • ISV パートナー エンジニア | Saurabh Kumar
  • Redis、プリンシパル クラウド アーキテクト | Gilbert Lau

その他の関係者:

  • データ マネジメント担当カスタマー エンジニア | Chris Mague
  • デベロッパー アドボカシー マネージャー | Gabe Weiss
  • クラウド ソリューション アーキテクト | Marco Ferrari