次の方法で共有


Azure Storage冗長性

Azure Storageは、計画されたイベントや計画外のイベントからデータを保護するために、データの複数のコピーを常に格納します。 これらのイベントの例には、一時的なハードウェア障害、ネットワークまたは停電、大規模な自然災害などが含まれます。 冗長性を確保することで、障害が発生した場合でも、ストレージ アカウントが可用性と耐久性に関する目標を確実に達成できます。

ご自身のシナリオに最適な冗長性オプションを決定する際には、低コストと高可用性のトレードオフを検討してください。 どの冗長性オプションを選択するかの判断に役立つ要因は次のとおりです。

  • プライマリ リージョンでのデータのレプリケート方法。
  • 地域災害から保護するために、データをプライマリ リージョンから地理的に離れた 2 つ目のリージョンにレプリケートするかどうか (geo レプリケーション)。
  • プライマリ リージョンで障害が発生した場合に、アプリケーションがセカンダリ リージョンのレプリケートされたデータへの読み取りアクセス権を必要とするかどうか (読み取りアクセス権付きの geo レプリケーション)。

この記事で説明する機能とリージョンの可用性は、階層型名前空間 (Azure Blob Storage) を持つアカウントでも使用できます。

Azure Storageを構成するサービスは、storage アカウントと呼ばれる共通のAzure リソースを介して管理されます。 ストレージ アカウントは、BLOB コンテナー (Blob Storage)、ファイル共有 (Azure Files)、テーブル (Table Storage)、キュー (キュー ストレージ) などのストレージ リソースをデプロイするために使用できるストレージの共有プールを表します。 Azure Storage アカウントの詳細については、「Storage アカウントの概要」を参照してください。

ストレージ アカウントの冗長性設定は、そのアカウントによって公開されるすべてのストレージ サービスで共有されます。 同じストレージ アカウントにデプロイされたすべてのストレージ リソースの冗長性設定は同じです。 さまざまな冗長性の要件がある場合は、さまざまなリソースを別々のストレージ アカウントに分離することを検討してください。

プライマリ リージョンでの冗長性

Azure Storageには、プライマリ リージョンでデータをレプリケートする方法に関する 2 つのオプションがあります。

  • ローカル冗長ストレージ (LRS) は 、ストレージ アカウント内のデータを、選択したプライマリ リージョンにある 1 つの物理データセンターにレプリケートします。

  • Zone-redundant Storage (ZRS) は、プライマリ リージョンの 3 つ以上のAzure可用性ゾーン間で同期的にデータをコピーします。 高可用性を必要とするアプリケーションの場合Microsoft、プライマリ リージョンで ZRS を使用し、セカンダリ リージョンにもレプリケートすることをお勧めします。

Microsoftでは、Azure Data Lake Storageワークロードにプライマリ リージョンで ZRS を使用することをお勧めします。

ローカル冗長ストレージ

ローカル冗長ストレージ (LRS) は、ストレージ アカウント内のデータを、選択したプライマリ リージョンの単一の物理データセンターにレプリケートします。 可用性ゾーンの選択はサポートされていませんが、Azureでは、負荷分散を向上させるために、ゾーン間で LRS アカウントを移動または拡張する場合があります。 LRS では、オブジェクトに年間 99.999999999% (9 が 11 個) 以上の持続性が提供されます。 可用性ゾーンの信頼性の詳細については、可用性ゾーンのAzureに関する記事を参照してください。

LRS は、コストが最も安い冗長オプションであり、他のオプションと比較して持続性は最も低くなります。 LRS は、ドライブ、サーバー、ラックの障害からデータを保護します。 ただし、データセンター内で火災や洪水などの災害が発生した場合、LRS を使用するストレージ アカウントのすべてのレプリカが失われたり、回復不能になる可能性があります。 データ センター内で一時的なイベント (熱イベントなど) が発生した場合、イベントが解決されるまで、すべてのレプリカが一時的に使用できなくなる可能性があります。 これらのリスクを軽減するために、Microsoftでは、ゾーン冗長ストレージ (ZRS)、geo 冗長ストレージ (GRS)、または geo ゾーン冗長ストレージ (GZRS) の使用をお勧めします。

LRS を使用しているストレージ アカウントへの書き込み要求は同期的に行われます。 書き込み操作は、データが 3 つのレプリカすべてに書き込まれた場合にのみ、正常に返されます。

次の図は、LRS を使用した、単一のデータ センター内でのデータのレプリケーション方法を示しています。

LRS を使用して可用性ゾーンでデータがレプリケートされる方法を示す図

LRS は、次のシナリオに適しています。

  • データ損失が発生した場合に簡単に再構築できるデータをアプリケーションが保存している場合は、LRS の選択を検討してください。
  • データ ガバナンス要件により、アプリケーションがデータをレプリケートするのが地域内のみに制限されている場合は、LRS の選択を検討してください。 場合によっては、データが geo レプリケートされているペア リージョンが別の地域にある場合があります。 ペアになっているリージョンの詳細については、「Azure リージョン」を参照してください。
  • シナリオで非管理対象ディスクAzure使用している場合は、LRS の使用を検討してください。 GRS を使用する非管理対象ディスクAzureストレージ アカウントを作成することは可能ですが、非同期 geo レプリケーションに対する整合性に関する潜在的な問題が原因で推奨されません。

ゾーン冗長ストレージ

ゾーン冗長ストレージ (ZRS) は、ストレージ アカウント内のデータを、選択したプライマリ リージョンにある 3 つ以上のAzure可用性ゾーンにレプリケートします。 各可用性ゾーンは、独立した電源、冷却装置、ネットワークを備えた独立した物理的な場所です。 ZRS は、ストレージ リソースに年間 99.9999999999% (9 が 12 個) 以上の持続性を提供します。 可用性ゾーンの信頼性の詳細については、可用性ゾーンのAzureに関する記事を参照してください。

ZRS を利用すると、データは、ゾーンが使用できなくなった場合でも読み取り操作と書き込み操作の両方にアクセスできます。 ゾーンが使用できなくなった場合、Azureはドメイン ネーム システム (DNS) の再ポイントなどのネットワーク更新を実行します。 更新が完了する前にデータにアクセスすると、これらの更新がアプリケーションに影響を与える可能性があります。 ZRS 用のアプリケーションを設計するときは、指数バックオフを使用した再試行ポリシーを実装するなど、一時的な障害処理方法に関するプラクティスに従ってください。

ZRS を使用しているストレージ アカウントへの書き込み要求は同期的に行われます。 書き込み操作は、3 つの可用性ゾーンのすべてのレプリカにデータが書き込まれた場合にのみ、正常に返されます。 可用性ゾーンが一時的に使用できない場合、データはすべての利用可能なゾーンに書き込まれた後、操作は正常に返されます。

Microsoftでは、高可用性を必要とするシナリオでは、プライマリ リージョンで ZRS を使用することをお勧めします。 データ ガバナンス要件を満たすために、特定の地域へのデータのレプリケーションを制限する場合にも、ZRS をお勧めします。

Microsoftでは、Azure Filesワークロードに ZRS を使用することをお勧めします。 ゾーンが使用できなくなった場合、接続されているクライアントからAzureファイル共有を再マウントする必要はありません。

次の図は、ZRS を使用した、プライマリ リージョンの可用性ゾーン間でのデータのレプリケーション方法を示しています。

ZRS を使用した、プライマリ リージョンでのデータのレプリケーション方法を示す図

ZRS は、データが一時的に使用できなくなった場合に、データに対して優れたパフォーマンス、低待機時間、および回復性を提供します。 ただし、ZRS だけでは、複数のゾーンが永続的に影響を受ける地域的な災害からデータを完全に保護できない可能性があります。 geo ゾーン冗長ストレージ (GZRS) は、プライマリ リージョンで ZRS を使い、データをセカンダリ リージョンに geo レプリケートします。 GZRS は多くのリージョンで使用でき、地域的な災害から守るために推奨されます。

現在、Blob Storage のアーカイブ層は、ZRS、GZRS、または RA-GZRS アカウントではサポートされていません。 アンマネージド ディスクでは ZRS または GZRS がサポートされていません。

ZRS をサポートするリージョンの詳細については、可用性ゾーンを持つ Azure リージョンを参照してください。

セカンダリ リージョンでの冗長性

冗長性オプションは、アプリケーションが高い持続性を実現するのに役立ちます。 多くのリージョンでは、ストレージ アカウント内のデータを、プライマリ リージョンから数百マイル離れたセカンダリ リージョンにコピーできます。 ストレージ アカウントをセカンダリ リージョンにコピーすると、リージョンが完全に停止した場合や、プライマリ リージョンが復旧できない災害が発生した場合でも、データの持続性が維持されます。

ストレージ アカウントの作成時に、アカウントのプライマリ リージョンを選択します。 ペアのセカンダリ リージョンはプライマリ リージョンに基づいて決定され、変更することはできません。 Azureでサポートされているリージョンの詳細については、Azure リージョンの一覧を参照してください。

Azure Storageには、セカンダリ リージョンにデータをコピーするための 2 つのオプションがあります。

  • Geo 冗長ストレージ (GRS) は、LRS を使用して、プライマリ リージョンの 1 つ以上のAzure可用性ゾーン内で同期的にデータをコピーします。 その後、データがセカンダリ リージョンに非同期的にコピーされます。 セカンダリ リージョン内では、LRS を使用してデータが同期的にコピーされます。

  • Geo ゾーン冗長ストレージ (GZRS) は、ZRS を使用して、プライマリ リージョン内の 3 つ以上のAzure可用性ゾーン間で同期的にデータをコピーします。 その後、データがセカンダリ リージョンに非同期的にコピーされます。 セカンダリ リージョン内では、LRS を使用してデータが同期的にコピーされます。

GRS と GZRS の主な違いは、プライマリ リージョンでのデータのレプリケート方法です。 セカンダリ リージョン内では、データは常に LRS を使用して同期的にレプリケートされます。 セカンダリ リージョンの LRS は、ハードウェア障害からデータを保護します。

GRS または GZRS を使用する場合、セカンダリ リージョンへのフェールオーバーがない限り、セカンダリ リージョン内のデータは読み取りまたは書き込みアクセスに使用できません。 セカンダリ リージョンへの読み取りアクセスについては、読み取りアクセス geo 冗長ストレージ (RA-GRS) または読み取りアクセス geo ゾーン冗長ストレージ (RA-GZRS) を使用するようにストレージ アカウントを構成します。 詳細については、「セカンダリ リージョンのデータへの読み取りアクセス」を参照してください。

プライマリ リージョンが使用できなくなった場合、セカンダリ リージョンへのフェールオーバーを選択できます。 フェールオーバー操作が完了すると、セカンダリ リージョンがプライマリ リージョンになり、再びデータの読み取りと書き込みができるようになります。 ディザスター リカバリーの詳細と、セカンダリ リージョンへのフェールオーバーの方法については、「ディザスター リカバリーとストレージ アカウントのフェールオーバー」を参照してください。

重要

データはセカンダリ リージョンに非同期的にレプリケートされるため、プライマリ リージョンに影響するエラーが発生すると、プライマリ リージョンを復旧できない場合にデータが失われる可能性があります。 プライマリ リージョンへの最新の書き込みと、セカンダリ リージョンへの最後の書き込みとの間隔は、回復ポイントの目標 (RPO) と呼ばれます。 RPO は、データを復旧できる対象の時点を示します。 Azure Storageは Geo 優先度レプリケーションを提供するようになりました。これにより、ブロック BLOB の RPO が 15 分以下になります。 詳細については、Azure Storage geo Priority Replication に関する記事を参照してください。

ジオ冗長ストレージ

geo 冗長ストレージ (GRS) は、LRS を使用して、プライマリ リージョン内の 1 つ以上の可用性ゾーンに同期的にデータをコピーします。 その後、データは、プライマリ リージョンから数百マイル離れたセカンダリ リージョンに非同期的にコピーされます。 GRS は、ストレージ リソースに年間 99.99999999999999% (9 が 16 個) 以上の持続性を提供します。

書き込み操作は、まずプライマリの場所にコミットされ、LRS を使用してレプリケートされます。 更新は、セカンダリ リージョンに非同期にレプリケートされます。 データがセカンダリの場所に書き込まれると、LRS を使用してその場所内にレプリケートされます。

次の図は、GRS または RA-GRS を使用した、データのレプリケーション方法を示しています。

GRS または RA-GRS を使用した、データのレプリケーション方法を示す図

ジオゾーン冗長ストレージ

geo ゾーン冗長ストレージ (GZRS) により、可用性ゾーン間での冗長性によって提供される高可用性と、geo レプリケーションによって提供されるリージョン障害からの保護が結合されます。 GZRS アカウント内のデータは、プライマリ リージョンの 3 つ以上のAzure可用性ゾーンにコピーされます。 さらに、リージョンの災害から保護するためにセカンダリ地理的リージョンにもレプリケートされます。 Microsoftでは、ディザスター リカバリーの最大の整合性、持続性、可用性、優れたパフォーマンス、回復性を必要とするアプリケーションに GZRS を使用することをお勧めします。

GZRS アカウントを使うと、可用性ゾーンが使用できなくなったり、回復できなくなった場合でも、データの読み取りと書き込みを続けることができます。 さらに、リージョンが完全に停止した場合や、プライマリ リージョンが復旧できない災害が発生した場合でも、データの持続性は維持されます。 GZRS は年間 99.99999999999999 % 以上 (9 が 16 個) のオブジェクトの持続性を提供するように設計されています。

次の図は、GZRS または RA-GZRS を使用した、データのレプリケーション方法を示しています。

GZRS または RA-GZRS を使用した、データのレプリケーション方法を示す図

リージョンが GZRS をサポートしているかどうかを確認するには、Azure リージョンの一覧を参照してください。 GZRS をサポートするには、リージョンが可用性ゾーンをサポートし、ペアのリージョンを持っている必要があります。

セカンダリ リージョンのデータへの読み取りアクセス

geo 冗長ストレージ (GRS または GZRS を使用) は、リージョン障害から保護するために、セカンダリ リージョンの別の物理的な場所にデータをレプリケートします。 GRS または GZRS 用に構成されたアカウントでは、プライマリ リージョンで障害が発生した場合、フェールオーバーが発生しない限り、セカンダリ リージョンのデータにはユーザーやアプリケーションから直接アクセスできなくなります。 フェールオーバー プロセスでは、セカンダリ リージョンのストレージ サービス エンドポイントがストレージ アカウントの新しいプライマリ エンドポイントになるように、Azure Storageによって提供される DNS エントリが更新されます。 フェールオーバー プロセス中は、データにアクセスできません。 フェールオーバーが完了すると、新しいプライマリ リージョンでデータの読み取りや書き込みが可能になります。 詳細については、停止から復旧するための顧客管理のストレージ アカウントのフェールオーバーのしくみに関する記事を参照してください。

アプリケーションで高可用性が必要な場合は、セカンダリ リージョンへの読み取りアクセス用にストレージ アカウントを構成できます。 セカンダリ リージョンへの読み取りアクセスを有効にすると、プライマリ リージョンが使用できなくなる状況を含め、読み取りにおいてセカンダリからのデータを使用することができます。 読み取りアクセス geo 冗長ストレージ (RA-GRS) または読み取りアクセス geo ゾーン冗長ストレージ (RA-GZRS) 構成によって、セカンダリ リージョンへの読み取りアクセスが許可されます。

Azure Filesでは、読み取りアクセス地理的に冗長化されたストレージ (RA-GRS) または読み取りアクセス地理的にゾーン冗長化されたストレージ (RA-GZRS) はサポートされていません。

セカンダリへの読み取りアクセス用にアプリケーションを設計する

ご使用のストレージ アカウントがセカンダリ リージョンへの読み取りアクセス用に構成されている場合、プライマリ リージョンが何らかの理由で使用できなくなった場合に、セカンダリ リージョンからデータを読み取るようにシームレスに変更するようにアプリケーションを設計できます。

RA-GRS または RA-GZRS を有効にすると、セカンダリ リージョンは読み取りアクセスに使用できるようになります。 この可用性により、アプリケーションを事前にテストして、停止中にセカンダリ リージョンから適切に読み取られるかどうかを確認できます。 geo 冗長性を利用するようにアプリケーションを設計する方法の詳細については、「geo 冗長性を使用して高可用性アプリケーションを設計する」を参照してください。

セカンダリへの読み取りアクセスが有効な場合、アプリケーションはセカンダリ エンドポイントとプライマリ エンドポイントの両方から読み取ることができます。 セカンダリ エンドポイントでは、アカウント名にサフィックス "–secondary" が追加されます。 たとえば、BLOB ストレージのプライマリ エンドポイントが myaccount.blob.core.windows.net の場合、セカンダリ エンドポイントは myaccount-secondary.blob.core.windows.net になります。 ストレージ アカウントのアカウント アクセス キーは、プライマリ エンドポイントとセカンダリ エンドポイントの両方で同じです。

データ損失に対して計画する

データはプライマリからセカンダリ リージョンに非同期的にレプリケートされるため、通常、セカンダリ リージョンは書き込み操作の観点からプライマリ リージョンの背後にあります。 プライマリ リージョンに災害が発生した場合、一部のデータが失われ、ディレクトリまたはコンテナー内のファイルの整合性が失われる可能性があります。 潜在的なデータ損失に対する計画の立て方については、「データ損失と不整合」を参照してください。

冗長オプションの概要

次のセクションの表は、Azure Storageで使用できる冗長性オプションの概要を示しています。

耐久性と可用性パラメーター

次の表では、各冗長オプションの主要なパラメーターについて説明します。

パラメーター LRS ZRS GRS/RA-GRS GZRS/RA-GZRS
指定された 1 年間にわたるオブジェクトの持続性のパーセンテージ 99.999999999% 以上 (9 が 11 個) 99.9999999999% 以上 (9 が 12 個) 99.99999999999999% 以上 (9 が 16 個) 99.99999999999999% 以上 (9 が 16 個)
読み取り要求の可用性 少なくとも99.9%。クール/コールド/アーカイブ アクセス層の場合は 99% 少なくとも99.9%。クール/コールド アクセス層の場合は 99% GRS の場合、少なくとも 99.9%。クール/コールド/アーカイブ アクセス層の場合は 99%

RA-GRS の場合、少なくとも 99.99%。クール/コールド/アーカイブ アクセス層の場合は 99.9%
GZRS の場合、少なくとも 99.9%。クール/コールド アクセス層の場合は 99%

RA-GZRS の場合、少なくとも 99.99%。クール/コールド アクセス層の場合は 99.9%
書き込み要求の可用性 少なくとも99.9%。クール/コールド/アーカイブ アクセス層の場合は 99% 少なくとも99.9%。クール/コールド アクセス層の場合は 99% 少なくとも99.9%。クール/コールド/アーカイブ アクセス層の場合は 99% 少なくとも99.9%。クール/コールド アクセス層の場合は 99%

注: GRS は地理的なレプリケーションを提供しますが、セカンダリ リージョンからの読み取りアクセスは許可しません。 プライマリ リージョンの停止中に読み取り可用性を維持するには、RA-GRS または RA-ZRS を使用する必要があります。

詳細については、ストレージ アカウントのサービス レベル アグリーメント (SLA) に関するページを参照してください。

障害のシナリオでの耐久性と可用性

次の表は、特定のシナリオにおいてデータに耐久性と可用性があるかどうかを、ご使用のストレージ アカウントに対して有効な冗長性の種類に応じて示しています。

障害のシナリオ LRS ZRS GRS/RA-GRS GZRS/RA-GZRS
データ センター内のノードが使用できなくなる はい はい はい はい
データ センター全体 (ゾーンまたは非ゾーン) が使用できなくなる いいえ はい あり1 はい
プライマリ リージョンでリージョン全体の障害が発生する いいえ いいえ あり1 あり1
プライマリ リージョンが使用できなくなった場合、セカンダリ リージョンに対する読み取りアクセスが可能 いいえ いいえ はい (RA-GRS を使用) はい (RA-GZRS を使用)

1プライマリ リージョンが使用できなくなった場合に書き込みの可用性を復元するには、アカウントのフェールオーバーが必要です。 詳細については、「ディザスター リカバリーとストレージ アカウントのフェールオーバー」を参照してください。

サポートされているAzure Storage サービス

次の表に、各Azure Storage サービスでサポートされる冗長性オプションを示します。

サービス LRS ZRS GRS RA-GRS GZRS RA-GZRS
ブロブ ストレージ
(Data Lake Storageを含む)
Queue storage
Table Storage
Azure Files 1 1
Azure マネージド ディスク 2
Azure Elastic SAN

LRS および ZRS では、1 つの SSD ファイル共有がサポートされています。
2 つの ZRS マネージド ディスクには、特定の制限があります。 詳細については、マネージド ディスクの冗長性オプションに関する記事の制限事項に関するセクションを参照してください。

スマート層を利用するストレージ アカウントの場合、冗長性の変換とアカウントフェールオーバーのシナリオには依存関係があります。 詳細については、「スマート層を使用したコストの最適化」を参照してください

サポートされるストレージ アカウントの種類

次の表は、ストレージ アカウントの型ごとにサポートされる冗長性オプションを示しています。 ストレージ アカウントの種類については、「ストレージ アカウントの概要」を参照してください。

ストレージ アカウントの種類 LRS ZRS GRS/RA-GRS GZRS/RA-GZRS
推奨 Standard 汎用 v2 (StorageV2)1

Premium ブロック BLOB (BlockBlobStorage)1

SSD ファイル共有 (FileStorage)

Premium ページ BLOB (StorageV2)
Standard 汎用 v2 (StorageV2)1

Premium ブロック BLOB (BlockBlobStorage)1

SSD ファイル共有 (FileStorage)
Standard 汎用 v2 (StorageV2)1 Standard 汎用 v2 (StorageV2)1
レガシー Standard 汎用 v1 (Storage)

レガシ ブロブ (BlobStorage)
該当なし Standard 汎用 v1 (Storage)

レガシ ブロブ (BlobStorage)
該当なし

1 階層型名前空間が有効になっているこの種類のアカウントでは、指定された冗長性オプションもサポートされます。

ストレージ アカウントの冗長オプションに従って、すべてのストレージ アカウントのすべてのデータがプライマリからセカンダリにコピーされます。 ブロック BLOB、追加 BLOB、ページ BLOB、キュー、テーブル、ファイルなどのオブジェクトがコピーされます。

アーカイブ レベルを含むすべてのレベルのデータは、geo レプリケーション中に常にプライマリからセカンダリにコピーされます。 Blob Storageのアーカイブ層は現在、LRS、GRS、および RA-GRS アカウントではサポートされていますが、ZRS、GZRS、または RA-GZRS アカウントではサポートされていません。 BLOB 層の詳細については、「BLOB データのアクセス層」を参照してください。

アンマネージド ディスクでは ZRS または GZRS がサポートされていません。

各冗長性オプションの価格情報については、「Azure Storage pricing」を参照してください。

ブロック BLOB ストレージ アカウントでは、特定のリージョンで、ローカル冗長ストレージ (LRS) とゾーン冗長ストレージ (ZRS) をサポートしています。

データ整合性

Azure Storageは、循環冗長チェック (CLC) を使用して格納されているデータの整合性を定期的に検証します。 また、データの破損が検出された場合は、冗長データを使用して修復されます。 Azure Storageでは、データの格納または取得時にデータ パケットの破損を検出するために、すべてのネットワーク トラフィックのチェックサムも計算されます。

関連項目