次の方法で共有


Azure Managed Redis でデータをインポートまたはエクスポートする (プレビュー)

Azure Managed Redis (プレビュー) のインポート機能およびエクスポート機能をデータ管理操作として使用します。 Redis データベース (RDB) スナップショットを使用して、キャッシュ インスタンスにデータをインポートするか、キャッシュ インスタンスからデータをエクスポートします。 スナップショットは、Azure ストレージ アカウントの BLOB を使用してインポートまたはエクスポートされます。

  • "エキスポート" - ブロック Blob に、Azure Managed Redis RDB のスナップショットをエクスポートすることができます。
  • "インポート" - ページ Blob またはブロック Blob から、Azure Managed Redis RDB のスナップショットをインポートすることができます。

インポートとエクスポートを使用して、異なる Azure Managed Redis インスタンス間での移行や、使用前のキャッシュへのデータの設定ができます。 古い Azure Cache for Redis インスタンスからデータをエクスポートして、Azure Managed Redis インスタンスにデータを移行することもできます。

この記事では Azure Managed Redis でデータをインポートまたはエクスポートする方法を説明し、よく寄せられる質問に回答します。

可用性のスコープ

レベル メモリ最適化、バランス、コンピューティング最適化 フラッシュ最適化
利用可能 はい はい

互換性

  • データは、.gz ブロック BLOB としてエクスポートされます。
  • Redis 7.2 を実行しているインスタンスでは、RDB バージョン 11 以下がサポートされています。
  • 新しいバージョンの Redis (Redis 7.2 など) からエクスポートされたバックアップを、古いバージョンの Redis (Redis 6.0 など) にインポートすることはできません
  • Premium レベルの Azure Cache for Redis インスタンスの RDB ファイルを Azure Managed Redis にインポートすることはできますが、その逆はできません。
  • Enterprise または Enterprise Flash レベルの RDB ファイルは、Azure Cache for Redis にインポートできます。 Azure Managed Redis の RDB ファイルは、Enterprise レベルのキャッシュが同じ Redis バージョン (Redis 7.2 など) を実行している場合、これらのレベルにインポートし直すことができます

[インポート]

Import を使用して、Redis と互換性のある RDB ファイルを、任意のクラウドまたは環境で稼働している任意の Redis サーバー (Linux や Windows のほか、アマゾン ウェブ サービスをはじめとする各種クラウド プロバイダーで稼働している Redis など) から取り込みます。 データをインポートすると、あらかじめデータが入力されたキャッシュを簡単に作成できます。 インポート処理中、Azure Managed Redis では RDB ファイルが Azure Storage からメモリに読み込まれて、キーがキャッシュに挿入されます。

Note

インポート操作を開始する前に、Redis データベース (RDB) ファイルが、Azure Managed Redis インスタンスと同じリージョンとサブスクリプションにある Azure Storage 内のページ BLOB またはブロック BLOB にアップロードされる設定になっていることを確認してください。 認証にマネージド ID を使用している場合、ストレージ アカウントは別のサブスクリプションに存在することができます。 詳細については、 Azure Blob Storage の使用に関するページをご覧ください。 Azure Cache for Redis のエクスポート機能を使って RDB ファイルをエクスポートした場合、そのファイルは既にブロック BLOB に格納されており、インポートの準備ができています。

  1. エクスポートされた 1 つ以上のキャッシュ BLOB をインポートするには、Azure portal でキャッシュを参照し、 [リソース] メニューの [データのインポート] を選択します。 作業ウィンドウに [BLOB の選択] が表示されます。ここで RDB ファイルを見つけることができます。

    [リソース] メニューで [データのインポート] が選択されていることを示すスクリーンショット。

  2. [BLOB の選択] を選択して、インポートするデータを含むストレージ アカウントを選択します。

    ストレージ アカウントのリストを示すスクリーンショット。

  3. インポートするデータが含まれているコンテナーを選択します。

    前に選択したストレージ アカウントのコンテナーのリストを示すスクリーンショット。

  4. BLOB 名の左側の領域を選択し、インポートする 1 つ以上の BLOB、 [選択] の順に選択します。

    コンテナーからの BLOB を示すスクリーンショット。

  5. [インポート] を選択してインポート処理を開始します。

    重要

    インポート処理中は、キャッシュ クライアントからキャッシュにアクセスすることはできません。また、キャッシュ内の既存データはすべて削除されます。

    インポートを開始するために選択する [インポート] ボタンを示すスクリーンショット。

    インポート操作の進行状況を監視するには、Azure Portal からの通知を確認するか、アクティビティ ログのイベントを確認します。

    重要

    Azure Managed Redis では、アクティビティ ログはまだサポートされていません。

    通知領域でのインポートの進行状況を示すスクリーンショット。

Export

エクスポートを使用すると、Azure Managed Redis に格納されているデータをエクスポートできます。 この機能を使えば、ある Azure Managed Redis インスタンスから、別のインスタンスまたは別の Redis サーバーにデータを移動できます。 エクスポート処理中に、Azure Managed Redis サーバー インスタンスをホストしている VM に一時ファイルが作成されます。 その後、ファイルは、選択されているストレージ アカウントにアップロードされます。 エクスポート処理が完了したら、処理の成否にかかわらず、この一時ファイルは削除されます。

  1. キャッシュの現在の内容をストレージにエクスポートするには、Azure portal でキャッシュを参照し、 [リソース] メニューの [データのエクスポート] を選択します。 作業ウィンドウに [ストレージ コンテナーの選択] が表示されます。

    [リソース] メニューで [データのエクスポート] が選択されていることを示すスクリーンショット

  2. [ストレージ コンテナーの選択] を選び、使用可能なストレージ アカウントのリストを表示します。 目的のストレージ アカウントを選びます。 ストレージ アカウントは、キャッシュと同じリージョンに存在する必要があります。 認証にマネージド ID を使用している場合、ストレージ アカウントは別のサブスクリプションに存在することができます。 それ以外の場合、ストレージ アカウントは、キャッシュと同じサブスクリプションに存在する必要があります。

    重要

    • エクスポートが機能するページ BLOB は、クラシック ストレージ アカウントと Resource Manager ストレージ アカウントの両方でサポートされています。
    • Azure Managed Redis では、ADLS Gen2 ストレージ アカウントへのエクスポートはサポートされていません。
    • ファイアウォールが有効なストレージ アカウントへのキャッシュ データのエクスポートが失敗した場合は、「ストレージ アカウントでファイアウォールを有効にした場合はどうなりますか?」を参照してください

    詳細については、「Azure ストレージ アカウントの概要」を参照してください。

    作業ウィンドウにコンテナーのリストが表示されているスクリーンショット。

  3. エクスポートを保持するストレージ コンテナーを選び、[選択] を選びます。 新しいコンテナーが必要な場合は、まず [コンテナーの追加] を選んで新しいコンテナーを追加し、リストからそれを選びます。

    1 つが強調表示されたコンテナーのリストと、選択ボタンのスクリーンショット。

  4. BLOB 名のプレフィックスを入力し、 [エクスポート] を選択して、エクスポート処理を開始します。 BLOB 名のプレフィックスは、このエクスポート操作によって生成されるファイル名のプレフィックスとして使用されます。

    BLOB 名のプレフィックスと [エクスポート] ボタンを示すスクリーンショット。

    エクスポート操作の進行状況を監視するには、Azure Portal からの通知を確認するか、監査ログのイベントを確認します。

    通知領域でのエクスポートの進行状況を示すスクリーンショット。

    エクスポート処理中でも、キャッシュは使用可能な状態のままです。

Import/Export の FAQ

このセクションでは、Import/Export 機能についてよく寄せられる質問を掲載しています。

インポート/エクスポートをサポートするレベルはどれですか?

インポート機能とエクスポート機能は、Azure Managed Redis のすべてのレベルで使用できます。

どの Redis サーバーからでもデータをインポートできるのでしょうか?

はい。Azure Managed Redis インスタンスから、または任意のクラウドや環境で稼働している任意の Redis サーバーからエクスポートされたデータをインポートできます。 この環境には、Linux や Windows のほか、アマゾン ウェブ サービスなどのクラウド プロバイダーが含まれます。 このデータをインポートするには、必要な RDB ファイルを、Redis サーバーから、Azure Storage Account 内のページまたはブロック BLOB にアップロードします。 次に、Azure Managed Redis インスタンスにインポートします。

たとえば、次の操作を行います。

  1. 運用キャッシュからデータをエクスポートします。

  2. その後、テストや移行のためのステージング環境の一部として使用されるキャッシュにインポートします。

重要

ページ BLOB を使用する場合、Azure Managed Redis 以外の Redis サーバーからエクスポートされたデータを正常にインポートするには、ページ BLOB のサイズを 512 バイト境界に合わせる必要があります。 必要なバイト パディングを実行するサンプル コードについては、ページ BLOB をアップロードするためのサンプル コードに関するページを参照してください。

RDB のどのバージョンをインポートできますか?

インポートで使用されるサポートされている RDB バージョンの詳細については、互換性に関するセクションをご覧ください。

Import/Export 操作中にキャッシュを使うことはできますか?

  • エクスポート - キャッシュは使用可能な状態のままです。エクスポート操作中もキャッシュの使用を続行できます。
  • インポート - インポート処理が開始されると、キャッシュは使用できなくなります。インポート処理が終了すると、キャッシュは使用可能になります。

Import/Export と Redis の永続化にはどのような違いがありますか?

Azure Managed Redis の永続化機能は、主にデータ持続性機能です。 一方、インポート/エクスポート機能は、特定の時点の復旧のために定期的なデータ バックアップを作成する方法として設計されています。

永続化を構成すると、構成可能なバックアップ頻度に基づいて、キャッシュはデータのスナップショットをディスクに保持します。 この永続化ファイルには、ユーザーがアクセスすることはできません。 プライマリ キャッシュとレプリカ キャッシュの両方が無効になるような致命的なイベントが発生した場合、最新のスナップショットを使用してキャッシュ データが自動的に復元されます。

データ永続化は、ディザスター リカバリー用に設計されています。 これは、特定の時点の復旧メカニズムとして意図されていません。

特定の時点の復旧のために定期的なデータ バックアップを作成する場合は、インポート/エクスポート機能を使用することをお勧めします。 詳しくは、「Azure Managed Redis のデータ永続化の構成方法」をご覧ください。

PowerShell、CLI、またはその他の管理クライアントを使って Import/Export を自動化することはできますか?

はい。次の手順を実行してください。

Import/Export 操作中にタイムアウト エラーが発生しました。 これはどういうことですか?

[データのインポート] または [データのエクスポート] に、操作を開始しないまま留まっている時間が 15 分を超えると、次の例のようなエラー メッセージのエラーが発生します。

The request to import data into cache 'contoso55' failed with status 'error' and error 'One of the SAS URIs provided could not be used for the following reason: The SAS token end time (se) must be at least 1 hour from now and the start time (st), if given, must be at least 15 minutes in the past.

このエラーを解決するには、インポート操作またはエクスポート操作を 15 分以内に開始してください。

Azure Blob Storage にデータをエクスポートしているときにエラーが発生しました。 なぜでしょうか?

エクスポートは、ブロック BLOB として格納されている RDB ファイルでのみ機能します。 他の BLOB の種類は現在サポートされていません。 詳細については、「Azure ストレージ アカウントの概要」を参照してください。 ストレージ アカウントの認証にアクセス キーを使っている場合、ストレージ アカウントにファイアウォールの例外が設定されていると、インポートとエクスポートのプロセスが失敗する傾向があります。

ストレージ アカウントでファイアウォールを有効にした場合はどうなりますか?

ストレージ アカウントの設定で [信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] をオンにする必要があります。 次に、マネージド ID (システムまたはユーザー割り当て) を使い、そのオブジェクト ID に対してストレージ BLOB データ共同作成者 RBAC の役割をプロビジョニングします。

詳細については、「ストレージ アカウントのためのマネージド ID - Azure Cache for Redis」を参照してください

キャッシュとは異なるサブスクリプションのストレージ アカウントからデータをインポートまたはエクスポートできますか?

キャッシュとは異なるサブスクリプションのストレージ アカウントからデータをインポートおよびエクスポートできますが、認証方法としてマネージド ID を使用する必要があります。 インポートまたはエクスポートの構成時のストレージ アカウントを保持している、選択したサブスクリプションを選択する必要があります。

エクスポートを許可するには、ストレージ アカウント コンテナー Shared Access Signature (SAS) トークンにどのアクセス許可を付与する必要がありますか?

Azure Storage アカウントへのエクスポートが正常に機能するには、Shared Access Signature (SAS) トークンに次のアクセス許可が必要です。

  • read
  • add
  • create
  • write
  • delete
  • tag
  • move

次のステップ