Share via


ストレージ アカウントのカスタマー マネージド フェールオーバーのしくみ

Azure ストレージ アカウントのカスタマー マネージド フェールオーバーを使うと、プライマリ リージョンのストレージ サービス エンドポイントが使用できなくなった場合に、geo 冗長ストレージ アカウント全体をセカンダリ リージョンにフェールオーバーできます。 フェールオーバーの間に、元のセカンダリ リージョンが新しいプライマリになり、BLOB、テーブル、キュー、ファイルのすべてのストレージ サービス エンドポイントが、新しいプライマリ リージョンにリダイレクトされます。 ストレージ サービス エンドポイントの停止が解決されたら、別のフェールオーバー操作を実行して、元のプライマリ リージョンに "フェールバック" できます。

この記事では、ストレージ アカウントのカスタマー マネージド フェールオーバーとフェールバックのプロセスのすべてのステージで行われることについて説明します。

重要

階層型名前空間 (Azure Data Lake Storage Gen2) を持つアカウントのカスタマー マネージド アカウント フェールオーバーは現在プレビュー段階であり、次のリージョンでのみサポートされています。

  • (アジア太平洋) インド中部
  • (アジア太平洋) 東南アジア
  • (ヨーロッパ) 北ヨーロッパ
  • (ヨーロッパ) スイス北部
  • (ヨーロッパ) スイス西部
  • (ヨーロッパ) 西ヨーロッパ
  • (北米) カナダ中部
  • (北米)米国東部 2
  • (北米) 米国中南部

プレビューにオプトインする方法については、「Azure サブスクリプションでプレビュー機能を設定する」を参照してください。機能名は AllowHNSAccountFailover を指定します。

ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

プライマリ リージョンに影響する重大な障害が発生した場合、Microsoft は階層型名前空間を持つアカウントのフェールオーバーを管理します。 詳細については、「Microsoft が管理するフェールオーバー」を参照してください。

フェールオーバーとフェールバックの間の冗長性管理

ヒント

ストレージ アカウントのフェールオーバーとフェールバックのプロセス中のさまざまな冗長性状態を詳しく理解するには、「Azure Storage の冗長性」でそれぞれの定義をご覧ください。

ストレージ アカウントが GRS または RA-GRS の冗長性用に構成されている場合、データはプライマリとセカンダリ両方のリージョン内でローカルに 3 回レプリケートされます (LRS)。 ストレージ アカウントが GZRS または RA-GZRS のレプリケーション用に構成されている場合、データはプライマリ リージョン内ではゾーン冗長になり (ZRS)、セカンダリ リージョン内ではローカルに 3 回レプリケートされます (LRS)。 アカウントが読み取りアクセス (RA) 用に構成されている場合は、セカンダリ リージョンへのストレージ サービス エンドポイントが使用可能である限り、そのリージョンからデータを読み取ることができます。

カスタマー マネージド フェールオーバー プロセスの間に、ストレージ サービス エンドポイントの DNS エントリは、セカンダリ リージョンのエンドポイントがストレージ アカウントの新しいプライマリ エンドポイントになるように変更されます。 フェールオーバーの後、元のプライマリ リージョンのストレージ アカウントのコピーは削除され、ストレージ アカウントは元のセカンダリ リージョン (新しいプライマリ) 内で引き続きローカルに 3 回レプリケートされます。 その時点で、ストレージ アカウントはローカル冗長 (LRS) になります。

ストレージ アカウントのプロパティには元と現在の冗長性構成が格納されているため、フェールバック時には、最終的に元の構成に戻ることができます。

フェールオーバーの後で geo 冗長性を回復するには、アカウントを GRS として再構成する必要があります。 (新しいプライマリはフェールオーバー後に LRS になるため、フェールオーバー後に GZRS にすることはできません)。 アカウントが geo 冗長として再構成されると、Azure はすぐに新しいプライマリ リージョンから新しいセカンダリへのデータのコピーを開始します。 セカンダリ リージョンに対する読み取りアクセス (RA) 用にストレージ アカウントを構成した場合、そのアクセスは使用できるようになりますが、プライマリからのレプリケーションによってセカンダリが最新になるまでに時間がかかる場合があります。

警告

アカウントが geo 冗長として再構成された後、新しいプライマリ リージョンの既存のデータが新しいセカンダリに完全にコピーされるまでに、かなり時間がかかる場合があります。

大きなデータ損失を防ぐため、フェールバックを行う前に、最終同期時刻プロパティの値を確認してください。 最終同期時刻を、データが新しいプライマリに最後に書き込まれた時刻と比較して、失われる可能性のあるデータを評価します。

フェールバック プロセスは、基本的にはフェールオーバー プロセスと同じですが、Azure によってレプリケーションの構成がフェールオーバー前の元の状態に復元される点が異なります (データではなくレプリケーション構成)。 そのため、ストレージ アカウントがもともと GZRS として構成されていた場合、フェールバック後のプライマリ リージョンは ZRS になります。

フェールバックの後で、ユーザーはストレージ アカウントを geo 冗長として再び構成できます。 元のプライマリ リージョンが LRS 用に構成されていた場合は、GRS または RA-GRS として構成できます。 元のプライマリが ZRS として構成されていた場合は、GZRS または RA-GZRS として構成できます。 その他のオプションについては、「ストレージ アカウントがレプリケートされる方法を変更する」を参照してください。

フェールオーバーを開始する方法

フェールオーバーを開始する方法については、「ストレージ アカウントのフェールオーバーを開始する」をご覧ください。

注意事項

通常、ストレージ アカウントのフェールオーバーには、ある程度のデータ損失が伴い、ファイルとデータの不整合が発生する可能性があります。 アカウントのフェールオーバーを始める前に、それがデータに与える影響をよく理解することが重要です。

データ損失と不整合の可能性について詳しくは、「データ損失と不整合を予測する」をご覧ください。

フェールオーバーとフェールバックのプロセス

このセクションでは、カスタマー マネージド フェールオーバーのフェールオーバー プロセスの概要を示します。

フェールオーバーの切り替えの概要

カスタマー マネージド フェールオーバーの後:

  • セカンダリ リージョンが新しいプライマリになります
  • 元のプライマリ リージョン内のデータのコピーが削除されます
  • ストレージ アカウントが LRS に変換されます
  • geo 冗長が失われます

次の表は、カスタマー マネージド フェールオーバーとフェールバックのすべてのステージで得られる冗長性の構成をまとめたものです。

変更元
configuration
の後
failover
geo 冗長性の
再有効化後
の後
フェールバック
geo 冗長性の
再有効化後
GRS LRS GRS 1 LRS GRS 1
GZRS LRS GRS 1 ZRS GZRS 1

1 geo 冗長性は、カスタマー マネージド フェールオーバーの間に失われ、手動で再構成する必要があります。

フェールオーバーの切り替えの詳細

次の図は、geo 冗長として構成されたストレージ アカウントのカスタマー マネージド フェールオーバーとフェールバックの間に行われることを示したものです。 GZRS と RA-GZRS の切り替えの詳細は、GRS と RA-GRS とは若干異なります。

通常の動作 (GRS/RA-GRS)

通常の状況では、クライアントはストレージ サービス エンドポイントを通してプライマリ リージョンのストレージ アカウントにデータを書き込みます (1)。 その後、データはプライマリ リージョンからセカンダリ リージョンに非同期的にコピーされます (2)。 次の図は、GRS として構成されたストレージ アカウントの、プライマリ エンドポイントが使用可能な通常状態を示したものです。

Diagram that shows how clients write data to the storage account in the primary region.

ストレージ サービス エンドポイントがプライマリ リージョンで使用できなくなる (GRS/RA-GRS)

何らかの理由でプライマリ ストレージ サービス エンドポイントが使用できなくなった場合 (1)、クライアントはストレージ アカウントに書き込むことができなくなります。 障害の根本的な原因によっては、セカンダリ リージョンへのレプリケーションが機能しなくなる可能性があるので (2)、ある程度のデータ損失を予測する必要があります。 次の図は、プライマリ エンドポイントが使用できなくなり、復旧がまだ行われていないシナリオを示しています。

Diagram that shows how the primary is unavailable, so clients cannot write data.

フェールオーバー プロセス (GRS/RA-GRS)

データへの書き込みアクセスを復元するには、フェールオーバーを開始することができます。 次の図に示すように、BLOB、テーブル、キュー、ファイルのストレージ サービス エンドポイントの URI は変わりませんが、それらの DNS エントリはセカンダリ リージョンを指すように変更されます (1)。

Diagram that shows how the customer initiates account failover to secondary endpoint.

通常、カスタマー マネージド フェールオーバーには約 1 時間かかります。

フェールオーバーが完了した後、元のセカンダリが新しいプライマリになり (1)、元のプライマリにあったストレージ アカウントのコピーは削除されます (2)。 新しいプライマリ リージョンでは、ストレージ アカウントは LRS として構成され、geo 冗長ではなくなります。 次の図に示すように、ユーザーはストレージ アカウントへのデータの書き込みを再開できます (3)。

Diagram that shows the storage account status post-failover to secondary region.

新しいセカンダリ リージョンへのレプリケーションを再開するには、アカウントを geo 冗長用に再構成します。

重要

geo 冗長性を使用するようにローカル冗長ストレージ アカウントを変換すると、コストと時間の両方がかかることにご注意ください。 詳しくは、「フェールオーバーの時間とコスト」をご覧ください。

次の図に示すように、アカウントを GRS として再構成すると、Azure は新しいセカンダリ リージョンへのデータの非同期コピーを開始します (1)。

Diagram that shows the storage account status post-failover to secondary region as GRS.

元の停止の原因となった問題が解決されるまで、新しいセカンダリ リージョンへの読み取りアクセスは再び使用できるようになりません。

フェールバック プロセス (GRS/RA-GRS)

警告

アカウントが geo 冗長として再構成された後、新しいプライマリ リージョンのデータが新しいセカンダリに完全にコピーされるまでに、かなり時間がかかる場合があります。

大きなデータ損失を防ぐため、フェールバックを行う前に、最終同期時刻プロパティの値を確認してください。 最終同期時刻を、データが新しいプライマリに最後に書き込まれた時刻と比較して、失われる可能性のあるデータを評価します。

元の停止の原因になった問題が解決したら、別のフェールオーバーを開始して元のプライマリ リージョンにフェールバックできます。その結果、次のようになります。

  1. 現在のプライマリ リージョンは読み取り専用になります。
  2. お客様が開始したフェールオーバーとフェールバックでは、フェールバック プロセスの間、セカンダリ リージョンへのデータのレプリケートは完了できません。 そのため、フェールバックを行う前に、最終同期時刻プロパティの値を確認することが重要です。
  3. ストレージ サービス エンドポイントの DNS エントリは、セカンダリ リージョンのエンドポイントがストレージ アカウントの新しいプライマリ エンドポイントになるように変更されます。

Diagram that shows how the customer initiates account failback to original primary region.

フェールバックが完了した後、元のプライマリ リージョンが再び現在のプライマリ リージョンになり (1)、元のセカンダリ内のストレージ アカウントのコピーは削除されます (2)。 プライマリ リージョンでは、ストレージ アカウントはローカル冗長として構成され、geo 冗長ではなくなります。 次の図に示すように、ユーザーはストレージ アカウントへのデータの書き込みを再開できます (3)。

Diagram that shows the Post-failback status.

元のセカンダリ リージョンへのレプリケーションを再開するには、もう一度アカウントを geo 冗長として構成します。

重要

geo 冗長性を使用するようにローカル冗長ストレージ アカウントを変換すると、コストと時間の両方がかかることにご注意ください。 詳しくは、「フェールオーバーの時間とコスト」をご覧ください。

次の図に示すように、アカウントを GRS として再構成すると、元のセカンダリ リージョンへのレプリケーションが再開します。

Diagram that shows how the redundancy configuration returns to its original state.

関連項目