Azure Files のデータ冗長性
Azure Files では、計画されたイベントや計画外のイベント (一時的なハードウェア障害、ネットワークの停止や停電、自然災害など) から保護するため、常にデータの複数のコピーを格納しています。 冗長性を確保することで、障害が発生した場合でも、ストレージ アカウントが可用性と耐久性に関する目標を確実に達成できます。
ご自身のシナリオに最適な冗長性オプションを決定する際には、低コストと高可用性のトレードオフを検討してください。 どの冗長性オプションを選択するかの判断に役立つ要因は次のとおりです。
- プライマリ リージョンでのデータのレプリケート方法。
- 地域的な災害からの保護のために、プライマリ リージョンから地理的に離れた第 2 のリージョンにデータをレプリケートするかどうか (geo 冗長性)。
Azure ファイル共有は、ストレージ アカウントと呼ばれる共通の Azure リソースを介して管理されます。 ストレージ アカウントは、ファイル共有のデプロイに使用できるストレージの共有プールを表します。 ストレージ アカウントの詳細については、「ストレージ アカウントの概要」を参照してください。
ストレージ アカウントを作成するときに、そのアカウントによって公開されるすべてのストレージ サービスに共通するストレージ アカウントの冗長性設定を選択します。 したがって、同じストレージ アカウントにデプロイされるファイル共有の冗長性設定はすべて同じです。 冗長性の要件が異なる場合は、ファイル共有を別々のストレージ アカウントに分離することもできます。
プライマリ リージョンでの冗長性
Azure ストレージ アカウントのデータは、常にプライマリ リージョンで 3 回レプリケートされます。 Azure Files には、プライマリ リージョンでデータをレプリケートする方法について、次の 2 つのオプションが用意されています:
- ローカル冗長ストレージ (LRS) は、プライマリ リージョンの 1 つの物理的な場所内で、データを同期的に 3 回コピーします。 LRS は最もコストのかからないレプリケーション オプションですが、高可用性または持続性を必要とするアプリケーションには推奨されません。
- ゾーン冗長ストレージ (ZRS) は、プライマリ リージョンの 3 つの Azure 可用性ゾーン間でデータを同期的にコピーします。 高可用性を必要とするアプリケーションでは、プライマリ リージョンで ZRS を使用し、さらにセカンダリ リージョンにもレプリケートすることをお勧めします。
ローカル冗長ストレージ
ローカル冗長ストレージ (LRS) によって、プライマリ リージョンの単一のデータ センター内で、ストレージ アカウントは 3 回レプリケートされます。 LRS では、年間 99.999999999% (9 が 11 個) 以上の持続性が提供されます。
LRS は、コストが最も安い冗長オプションであり、他のオプションと比較して持続性は最も低くなります。 LRS は、サーバー ラックとドライブの障害からデータを保護します。 ただし、データセンター内で火災や洪水などの災害が発生した場合、LRS を使用しているストレージ アカウントのすべてのレプリカが失われたり、回復不能になる可能性があります。 このリスクを軽減するために、Microsoft ではゾーン冗長ストレージ (ZRS)、geo 冗長ストレージ (GRS)、または geo ゾーン冗長ストレージ (GZRS) を使用することを推奨しています。
LRS を使用しているストレージ アカウントへの書き込み要求は、同期的に行われます。 書き込み操作は、データが 3 つのレプリカすべてに書き込まれた場合にのみ、正常に返されます。
次の図は、LRS を使用した、単一のデータ センター内でのデータのレプリケーション方法を示しています。
LRS は、次のシナリオに適しています。
- アプリケーションによって格納されるデータが、データ損失が発生しても簡単に再構築できるものの場合。
- データ ガバナンスの要件によって、データをレプリケートすることが国または地域の内部に制限されているアプリケーションの場合。 場合によっては、データが geo レプリケーションされているペア リージョンが別の国または地域にある可能性があります。 ペアリングされるリージョンの詳細については、「Azure リージョン」を参照してください。
ゾーン冗長ストレージ
ゾーン冗長ストレージ (ZRS) は、プライマリ リージョンの 3 つの Azure 可用性ゾーン間でストレージ アカウントを同期的にレプリケートします。 各可用性ゾーンは、独立した電源、冷却装置、ネットワークを備えた独立した物理的な場所です。 ZRS は、年間 99.9999999999% (9 が 12 個) 以上の持続性を実現します。
ZRS を使用すると、データは、ゾーンが使用できなくなった場合でも読み取り操作と書き込み操作の両方にアクセスできます。 ゾーンが使用できなくなった場合、Azure により、DNS の再指定などのネットワークの更新が行われます。 このような更新は、更新が完了する前にデータにアクセスすると、アプリケーションに影響を与える可能性があります。 ZRS 用のアプリケーションを設計するときは、指数バックオフを使用した再試行ポリシーを実装するなど、一時的な障害処理方法に関するプラクティスに従ってください。
ZRS を使用しているストレージ アカウントへの書き込み要求は、同期的に行われます。 書き込み操作は、3 つの可用性ゾーンのすべてのレプリカにデータが書き込まれた場合にのみ、正常に返されます。
Azure Files ワークロードに ZRS を使用する利点は、ゾーンが使用できなくなった場合、接続されているクライアントから Azure ファイル共有を再マウントする必要がないことです。 高可用性を必要とするシナリオでは、プライマリ リージョンで ZRS を使用することをお勧めします。 データ ガバナンス要件を満たすために、データのレプリケーションを特定の国内または地域へ制限する場合にも、ZRS をお勧めします。
Note
Azure File Sync は、US Gov バージニアを除く、可用性ゾーンをサポートするすべてのリージョンでゾーン冗長です。 ほとんどの場合に対して、Azure File Sync ユーザーは ZRS または GZRS を使用するようにストレージ アカウントを構成することをお勧めします。
次の図は、ZRS を使用した、プライマリ リージョンの可用性ゾーン間でのデータのレプリケーション方法を示しています。
ZRS は、データが一時的に使用できなくなった場合に、データに対して優れたパフォーマンス、低待機時間、および回復性を提供します。 ただし、ZRS 単独では、複数のゾーンが永続的に影響を受けるような地域的災害からデータを保護することはできません。 地域的災害からの保護のために、Microsoft では geo ゾーン冗長ストレージ (GZRS) を使用することを推奨しています。これはプライマリ リージョンで ZRS を使用し、セカンダリ リージョンにもデータを geo レプリケートします。
ZRS をサポートするリージョンの詳細については、「 可用性ゾーンを持つ Azure リージョン」を参照してください。
Standard Storage アカウント
ZRS は、トランザクション最適化、ホット、クールの 3 つの Standard レベルすべてにおいて、Standard 汎用 v2 ストレージ アカウントでサポートされています。
Standard ストレージ アカウント向けの ZRS をサポートするリージョンの一覧については、Standard ストレージ アカウント向けのゾーン冗長ストレージ (ZRS) をサポートする Azure リージョンに関する記事を参照してください。
Premium ファイル共有アカウント
ZRS は、Premium ファイル共有では、FileStorage
ストレージ アカウントの種類を介してサポートされています。
Premium ファイル共有アカウント向けの ZRS をサポートするリージョンの一覧については、「Premium ファイル共有向けの Azure Files ゾーン冗長ストレージ」を参照してください。
セカンダリ リージョンでの冗長性
SBM ファイル共有向けに高持続性を必要とするアプリケーションでは、プライマリ リージョンから数百キロ離れたセカンダリ リージョンにストレージ アカウントのデータをコピーする geo 冗長ストレージを選択することもできます。 ご使用のストレージ アカウントがセカンダリ リージョンにコピーされている場合は、地域全体が停電になった場合やプライマリ リージョンが復旧できない災害が発生しても、データは保持されます。
重要
Azure Files では、Standard SMB ファイル共有に対してのみ geo 冗長性 (GRS または GZRS) がサポートされます。 Premium ファイル共有と NFS ファイル共有では、LRS または ZRS を使用する必要があります。
ストレージ アカウントの作成時に、アカウントのプライマリ リージョンを選択します。 ペアのセカンダリ リージョンはプライマリ リージョンに基づいて決定され、変更することはできません。 Azure でサポートされているリージョンの詳細については、「Azure リージョン」を参照してください。
Azure Files には、セカンダリ リージョンにデータをコピーするための 2 つのオプションが用意されています。 現在、geo 冗長ストレージ オプションは、標準の SMB ファイル共有でのみ使用できます。
- geo 冗長ストレージ (GRS) は、LRS を使用して、プライマリ リージョンの 1 つの物理的な場所内で、データを同期的に 3 回コピーします。 その後、セカンダリ リージョンの 1 つの物理的な場所にデータを非同期的にコピーします。 セカンダリ リージョン内のデータは、LRS を使用して同期的に 3 回コピーされます。
- geo ゾーン冗長ストレージ (GZRS) は、ZRS を使用して、プライマリ リージョンの 3 つの Azure 可用性ゾーン間でデータを同期的にコピーします。 その後、セカンダリ リージョンの 1 つの物理的な場所にデータを非同期的にコピーします。 セカンダリ リージョン内のデータは、LRS を使用して同期的に 3 回コピーされます。
GRS と GZRS の主な違いは、プライマリ リージョンでのデータのレプリケート方法です。 セカンダリ リージョンでは、データは常に LRS を使用して 3 回同期的にレプリケートされます。 セカンダリ リージョンの LRS は、ハードウェア障害からデータを保護します。
geo 冗長ストレージ
geo 冗長ストレージ (GRS) は、LRS を使用して、プライマリ リージョンの 1 つの物理的な場所内で、データを同期的に 3 回コピーします。 その後、プライマリ リージョンから何百キロも離れたセカンダリ リージョン内の 1 つの物理的な場所にデータが非同期にレプリケートされます。 GRS は、年間 99.99999999999999% (9 が 16 個) 以上の持続性を実現します。
書き込み操作は、まずプライマリの場所にコミットされ、LRS を使用してレプリケートされます。 更新は、セカンダリ リージョンに非同期にレプリケートされます。 データがセカンダリの場所に書き込まれると、LRS を使用してその場所内にレプリケートされます。
次の図は、GRS を使用したデータのレプリケーション方法を示しています:
geo ゾーン冗長ストレージ
geo ゾーン冗長ストレージ (GZRS) により、可用性ゾーン間での冗長性によって提供される高可用性と、geo レプリケーションによって提供されるリージョン障害からの保護が結合されます。 GZRS ストレージ アカウント内のデータは、プライマリ リージョンの 3 つの Azure 可用性ゾーン間でコピーされ、地域災害から保護するためにセカンダリ リージョンにもレプリケートされます。 最大限の一貫性、持続性、および高可用性、さらに、優れたパフォーマンス、ディザスター リカバリーのための回復性を必要とするアプリケーションに対しては、GZRS を使用することをお勧めします。
GZRS ストレージ アカウントを使用すると、可用性ゾーンが使用できなくなったり、回復できなくなった場合に、引き続きデータの読み取りと書き込みを行うことができます。 さらに、リージョン全体の障害が発生した場合や、プライマリ リージョンを回復できない災害が発生した場合にも、データは保持されます。 GZRS は、年間 99.99999999999999% (9 が 16 個) 以上の持続性を実現するように設計されています。
次の図は、GZRS を使用したデータのレプリケーション方法を示しています:
GZRS は、Standard 汎用 v2 ストレージ アカウントでのみサポートされます。
GZRS をサポートするリージョンの一覧については、「geo ゾーン冗長ストレージ (GZRS) をサポートする Azure リージョン」を参照してください。
ディザスター リカバリーとフェールオーバー
GRS または GZRS では、フェールオーバーが発生しない限り、セカンダリ リージョンでファイル共有にアクセスすることはできません。 プライマリ リージョンが使用できなくなった場合、セカンダリ リージョンへのフェールオーバーを選択できます。 フェールオーバー プロセスでは、Azure Files によって提供される DNS エントリが更新されて、セカンダリ エンドポイントがストレージ アカウントに対する新しいプライマリ エンドポイントになります。 フェールオーバー プロセス中は、データにアクセスできません。 フェールオーバーが完了すると、新しいプライマリ リージョンでデータの読み取りや書き込みが可能になります。 フェールオーバーが完了すると、セカンダリ リージョンがプライマリ リージョンになり、データの読み取りと書き込みを再び行うことができます。 詳細については、「Azure Files のディザスター リカバリーとフェールオーバー 」を参照してください。
重要
Azure Files では、読み取りアクセス geo 冗長ストレージ (RA-GRS) または読み取りアクセス geo ゾーン冗長ストレージ (RA-GZRS) はサポートされていません。 ストレージ アカウントが RA-GRS または RA-GZRS を使用するように構成されている場合、ファイル共有は GRS または GZRS として構成され、またそのように課金されます。
Premium ファイル共有の geo 冗長性
前述のように、geo 冗長性オプション (GRS と GZRS) は、Premium ファイル共有ではサポートされていません。 ただし、他の方法で geo 冗長性を実現することはできます。
Azure File Sync のシナリオでは、Azure ファイル共有 (クラウド エンドポイント)、オンプレミスの Windows ファイル サーバー、および別の Azure リージョンの仮想マシンで実行されているマウントされたファイル共有 (ディザスター リカバリー目的ためのサーバー エンドポイント) の間で同期を行うことができます。 すべてのデータがローカルに存在することを確認するためにクラウドを使った階層化化を無効にし、データセット全体を保持するために十分なストレージを Azure VM にプロビジョニングする必要があります。 変更がセカンダリ リージョンにすばやくレプリケートされるようにするには、ファイルは Azure 内ではなくサーバー エンドポイントでのみアクセスして変更する必要があります。
AzCopy (ACL とタイムスタンプを保持するに、バージョン 10.4 以降を使用します) などのツールを使用して、セカンダリ リージョンのストレージ アカウントにデータをコピーする独自のスクリプトを作成することもできます。
冗長オプションの概要
次のセクションの表は、Azure Files で使用可能な冗長オプションをまとめています。
耐久性と可用性パラメーター
次の表では、各冗長オプションの主要なパラメーターについて説明します。
パラメーター | LRS | ZRS | GRS | GZRS |
---|---|---|---|---|
年間持続性のパーセンテージ | 99.999999999% (イレブン ナイン) 以上 | 99.9999999999% (トゥエルブ ナイン) 以上 | 99.99999999999999% (シックスティーン ナイン) 以上 | 99.99999999999999% (シックスティーン ナイン) 以上 |
読み取り要求の可用性 | 99.9% 以上 (クール層の場合、99%) | 99.9% 以上 (クール層の場合、99%) | 99.9% 以上 (クール層の場合、99%) | 99.9% 以上 (クール層の場合、99%) |
書き込み要求の可用性 | 99.9% 以上 (クール層の場合、99%) | 99.9% 以上 (クール層の場合、99%) | 99.9% 以上 (クール層の場合、99%) | 99.9% 以上 (クール層の場合、99%) |
個別のノードで保持されるデータ コピーの数 | 1 つのリージョン内に 3 つのコピー | 1 つのリージョン内の個別の可用性ゾーン間で 3 つのコピー | プライマリ リージョンに 3 つ、セカンダリ リージョンに 3 つ、合計 6 つのコピー | プライマリ リージョンの個別の可用性ゾーン間で 3 つ、セカンダリ リージョンに 3 つのローカル冗長コピー、合計 6 つのコピー |
詳細については、ストレージ アカウントの SLA に関する記事を参照してください。
障害のシナリオでの耐久性と可用性
次の表は、特定のシナリオにおいてデータに持続性と可用性があるかどうかを、ご使用のストレージ アカウントで有効な冗長性の種類に応じて示しています。 プライマリ リージョンが使用できなくなった場合、フェールオーバーが発生しない限り Azure Files はセカンダリ リージョンへの読み取りアクセスをサポートしません。
障害のシナリオ | LRS | ZRS | GRS | GZRS |
---|---|---|---|---|
データ センター内のノードが使用できなくなる | はい | イエス | イエス | はい |
データ センター全体 (ゾーンまたは非ゾーン) が使用できなくなる | いいえ | はい | 可1 | はい |
プライマリ リージョンでリージョン全体の障害が発生する | いいえ | いいえ | 可1 | 可1 |
1プライマリ リージョンが使用できなくなった場合に書き込みの可用性を復元するには、アカウントのフェールオーバーが必要です。
各冗長オプションの料金情報については、Azure Files の価格に関するページをご覧ください。