次の方法で共有


Azure Cache for Redis のゾーン冗長性を有効にする

この記事では、Azure portal を使用してゾーン冗長の Azure Cache インスタンスを構成する方法について説明します。

Note

ゾーンをサポートしていないリージョンでは、ゾーン冗長を有効にするオプションは無効になります。 ゾーンをサポートするリージョンの一覧については、「Azure Cache for Redis - ゾーンがサポートされているリージョン」を参照してください。

Azure Cache for Redis の Standard (プレビュー)、Premium、Enterprise の各レベルでは、2 つの専用仮想マシン (VM) で各キャッシュをホストして、組み込みの冗長性が提供されます。 これらの VM は、Azure の障害と更新のドメインに個別に配置されているため、可用性は高いですが、データセンター レベルの障害の影響を受けやすくなっています。 Azure Cache for Redis では、Standard (プレビュー)、Premium、Enterprise レベルでのゾーン冗長もサポートされています。 ゾーン冗長キャッシュは、複数の可用性ゾーンに分散している VM 上で実行されます。 これにより、回復性と可用性が向上します。

前提条件

キャッシュの作成

キャッシュを作成するには、次の手順に従います。

  1. Azure Portal にサインインし、[リソースの作成] を選択します。

  2. [新規] ページで、 [データベース] を選択し、 [Azure Cache for Redis] を選択します。

    [Azure Cache for Redis] を選択します。

  3. [基本] ページで、新しいキャッシュの設定を構成します。

    設定 提案された値 説明
    サブスクリプション サブスクリプションを選択します。 この新しい Azure Cache for Redis インスタンスが作成されるサブスクリプション。
    リソース グループ リソース グループを選択するか、 [新規作成] を選択し、新しいリソース グループの名前を入力します。 その中にキャッシュやその他のリソースを作成するリソース グループの名前。 すべてのアプリ リソースを 1 つのリソース グループに配置することで、それらをまとめて簡単に管理または削除できます。
    DNS 名 グローバルに一意の名前を入力します。 キャッシュ名は 1 から 63 文字の文字列で、数字、英字、ハイフンのみを使用する必要があります。 名前の先頭と末尾には数字または文字を使用する必要があり、連続するハイフンを含めることはできません。 キャッシュ インスタンスの "ホスト名" は、<DNS 名>.redis.cache.windows.net になります。
    場所 場所を選択します。 キャッシュを使用する他のサービスの近くのリージョンを選択します。
    キャッシュの種類 Premium または Enterprise の各レベルのキャッシュを選択します。 価格レベルによって、キャッシュに使用できるのサイズ、パフォーマンス、および機能が決まります。 詳細については、Azure Cache for Redis の概要に関するページを参照してください。
  4. Standard レベル キャッシュは、可用性ゾーンをサポートするリージョン内の自動ゾーン割り当てを使用して、常にゾーン冗長として作成されます。 Standard キャッシュの [可用性ゾーン] が赤いボックスで囲まれている [詳細] タブを示すスクリーンショット。

  5. Premium レベル キャッシュの場合は、[リソース] メニューで [詳細] を選択します。 ゾーンをサポートするリージョンで、このレベルのゾーン冗長を有効にする方法は以下のようにいくつか存在します。

    1. 自動ゾーン割り当ての使用:
      • [ゾーンを自動的に割り当てる] は、[可用性ゾーン] で選択されている既定のオプションです。 Premium キャッシュの [可用性ゾーン] が赤いボックスで囲まれている [詳細] タブを示すスクリーンショット。
    2. ユーザー定義ゾーン割り当ての使用:
      • Premium レベル キャッシュの場合、[可用性ゾーン] 設定はユーザーが編集することができ、これを使用して非ゾーンを選択したり、キャッシュのゾーンを手動で選択したりできます。
    • 非ゾーンの選択: Premium キャッシュの [可用性ゾーン] と [なし] オプションが赤いボックスで囲まれている [詳細] タブを示すスクリーンショット。
    • ゾーンを手動で選択する場合、可用性ゾーンの数は、以下のように、常にキャッシュのノードの総数以下である必要があります: [可用性ゾーン] が [1] に設定され、[レプリカ数] が [3] に設定されていることを示すスクリーンショット。
  6. Enterprise レベルのキャッシュの場合は、[リソース] メニューの [詳細] を選択します。 ゾーン冗長の場合、[ゾーン冗長 (推奨)] を選択します。

    ゾーン冗長の周囲に赤いボックスが表示された [詳細] タブを示すスクリーンショット。

  7. クラスタリングまたは RDB 永続化 (あるいはその両方) の設定を構成します。

    Note

    ゾーン冗長は、複数のレプリカ (1 つより多いレプリカ) を含む追加専用ファイル (AOF) をサポートしていません。

  8. [作成] を選択します

    キャッシュが作成されるまで、しばらく時間がかかります。 Azure Cache for Redis の [概要] ページで進行状況を監視できます。 [状態] に "実行中" と表示されている場合は、キャッシュを使用する準備ができています。

自動ゾーン割り当て

Azure Cache for Redis は、キャッシュが複数のゾーンに分散されて高可用性が実現されるように、シャードあたりのノード数とリージョンのゾーン サポートに基づいて、ユーザーの代わりに自動的にゾーンをキャッシュに割り当てます。

このタイプの割り当てでは、ユーザーは、キャッシュのゾーンを手動で選択することや、ゾーンに関連する容量の問題について心配する必要はありません。それらは Azure によって処理されます。

キャッシュに割り当てられている実際のゾーンは抽象化され、ユーザーがそれを意識することはありません。

さまざまな種類のゾーン割り当てに関する REST API 仕様は、「作成 - ZonalAllocationPolicy」で確認できます。

要求内でプロパティ ZonalAllocationPolicy が渡されていない場合、Azure はリージョンのゾーンのサポート性と容量に基づいてキャッシュに適した値を割り当てます。

サポートされている ZonalAllocationPolicy プロパティの値は以下のとおりです。

  1. 自動

この値を渡すことで、キャッシュに適したゾーンを Azure に自動で割り当てさせることができます。

ゾーンをサポートするリージョンでは、2024-11-01 API バージョン以降、要求内で ZonalAllocationPolicy が渡されていない場合、これがキャッシュの既定のオプションとして選択されます。

  1. ユーザー定義

ユーザーがこの値を渡すことができるのは Premium キャッシュに対してだけであり、ゾーンを手動で選択する際に要求本文内で渡すことができます。

  1. 非ゾーン

ユーザーがこの値を渡すことができるのは Premium キャッシュに対してだけです。 ゾーンをサポートしていないリージョンでは、これがサポートされている唯一の値です。

  • ユーザーは非ゾーン Standard キャッシュを明示的に選択することができないため、Standard キャッシュの要求内でユーザがこの値を渡すことはできません。

以下のケースで要求内で ZonalAllocationPolicy が渡されない場合、これがキャッシュの既定のオプションとして選択されます。

  • ゾーンをサポートしていないリージョン (使用されている API のバージョンに無関係)。
  • 2024-11-01 より前の API バージョンが使用されている場合のすべてのリージョン (ゾーンのサポートに無関係)。

重要

自動ゾーン割り当ては、キャッシュに対して一度有効化すると変更できません。

重要

  • 2024-11-01 API バージョン以降、自動ゾーン割り当ては、Premium および Standard キャッシュの既定のオプションとして選択されます。 まれなケースですが、少なくとも 2 つのゾーンを割り当てるための十分なゾーン容量が存在せず、ユーザーが要求内で ZonalAllocationPolicy を渡していない場合、Azure は非ゾーン キャッシュを作成します。これはユーザーが応答内で ZonalAllocationPolicy プロパティをチェックすることで確認できます。
    • そのため、キャッシュの作成時には要求本文内で ZonalAllocationPolicy を渡さないことが推奨されます。これにより、Azure はリージョンのゾーンのサポート性と容量に基づいて、キャッシュにとって最適なオプションを自動非ゾーンから選択できるようになります。 それ以外では、特定のゾーン割り当てポリシーを明示的に使用したい場合に、ユーザーは ZonalAllocationPolicy を渡すことができます。

重要

ユーザーは、ZonalAllocationPolicy自動に設定してキャッシュを更新することで、手動で選択したゾーンを使用する既存の非ゾーン キャッシュを、自動ゾーン割り当てを使用するように更新することができます。 更新プロセスの詳細については、「可用性ゾーンをサポートするための Azure Cache for Redis インスタンスの移行」を参照してください。

ゾーン冗長性に関する FAQ

Premium の作成時に、ゾーン冗長性を有効にできないのはなぜですか

ゾーン冗長性は、Availability Zones がある Azure リージョンでのみ使用できます。 最新 の一覧については、「Azure のリージョンと Availability Zones」を参照してください。

キャッシュの作成中に 3 つのゾーンすべてを選択できないのはなぜですか

Premium キャッシュには、既定で 1 つのプライマリ ノードと 1 つのレプリカ ノードがあります。 複数の Availability Zones にゾーン冗長性を構成するには、作成するキャッシュにレプリカを追加する必要があります。 可用性ゾーンの総数は、プライマリとレプリカ両方のノードを含む、キャッシュ内のノードの合計数を超えてはなりません。

ゾーン冗長を使用できるように既存の Standard または Premium キャッシュを更新することはできますか

  • はい。ゾーン冗長を使用するように既存の Standard または Premium キャッシュを更新することはサポートされています (プレビュー)。 ユーザーは、[リソース] メニューの [詳細設定] に移動し、[ゾーンを自動的に割り当てる] のチェックボックスを選択した後、[保存] ボタンを選択することでこれを有効にできます。 いったん有効にしたゾーン冗長は、無効にできません。

  • 詳細については、「可用性ゾーンをサポートするための Azure Cache for Redis インスタンスの移行」を参照してください

  • これは、キャッシュの更新時に要求本文内で ZonalAllocationPolicyAutomatic にして渡すことでも実行できます。 REST API を使用した更新プロセスの詳細については、「更新 - ZonalAllocationPolicy」を参照してください。

    • ZonalAllocationPolicyAutomatic 以外の値に更新することはサポートされていません。

    重要

    自動ゾーン割り当ては、キャッシュに対して一度有効化すると変更できません。

    重要

    (異なるゾーン割り当てで作成された) 既存のキャッシュに対する自動ゾーン割り当ての有効化は、現在、Geo レプリケートされたキャッシュまたは VNet インジェクションを使用したキャッシュではサポートされて "いません"。

Azure Availability Zones 間でデータをレプリケートするコストはどれくらいですか

複数の可用性ゾーンで構成されたゾーン冗長をキャッシュで使っている場合、データは 1 つのゾーンのプライマリ キャッシュ ノードから別のゾーンの他のノードにレプリケートされます。 データ転送料金は、選択した Availability Zones 間で移動するデータのネットワーク エグレス コストです。 詳しくは、「帯域幅の料金詳細」をご覧ください。

次の手順

Azure Cache for Redis の機能について