Azure のストレージの冗長性について説明する

完了

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

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

  • プライマリ リージョンでのデータのレプリケート方法。
  • 地域災害から保護するため、プライマリ リージョンから地理的に離れている 2 番目のリージョンにデータをレプリケートするかどうか。
  • プライマリ リージョンを使用できなくなった場合に、セカンダリ リージョンのレプリケートされたデータへの読み取りアクセスがアプリケーションに必要かどうか。

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

Azure Storage アカウントのデータは、常にプライマリ リージョンで 3 回レプリケートされます。 Azure Storage には、プライマリ リージョンでデータをレプリケートするための 2 つのオプションがあります。ローカル冗長ストレージ (LRS) とゾーン冗長ストレージ (ZRS) です。

ローカル冗長ストレージ

ローカル冗長ストレージ (LRS) によって、プライマリ リージョンの単一のデータ センター内で、データは 3 回レプリケートされます。 LRS では、オブジェクトに年間 99.999999999% (イレブン ナイン) 以上の持続性が提供されます。

ローカル冗長ストレージに使用される構造の図。

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

ゾーン冗長ストレージ

可用性ゾーンが有効なリージョンでは、ゾーン冗長ストレージ (ZRS) ゾーン冗長ストレージを使うと、プライマリ リージョン内の 3 つの Azure 可用性ゾーンに Azure Storage のデータが同期的にレプリケートされます。 ZRS では、Azure Storage データ オブジェクトに年間 99.9999999999% (トゥエルブ ナイン) 以上の持続性を提供します。

ZRS と 3 つの可用性ゾーンのそれぞれに格納されているデータのコピーの図。

ZRS を使用すると、データは、ゾーンが使用できなくなった場合でも読み取り操作と書き込み操作の両方にアクセスできます。 接続されているクライアントから Azure ファイル共有を再マウントする必要はありません。 ゾーンが使用できなくなった場合、Azure により、DNS の再指定などのネットワークの更新が行われます。 このような更新は、更新が完了する前にデータにアクセスすると、アプリケーションに影響を与える可能性があります。

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

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

高持続性を必要とするアプリケーションでは、プライマリ リージョンから数百キロ離れたセカンダリ リージョンにストレージ アカウントのデータを追加でコピーすることもできます。 ストレージ アカウント内のデータがセカンダリ リージョンにコピーされると、プライマリ リージョン内のデータが復旧できなくなるという致命的な障害が発生した場合でも、データは持続的になります。

ストレージ アカウントの作成時に、アカウントのプライマリ リージョンを選択します。 ペアのセカンダリ リージョンは Azure リージョンのペアに基づいており、変更することはできません。

Azure Storage には、データをセカンダリ リージョンにコピーするための 2 つのオプションがあります。geo 冗長ストレージ (GRS) と geo ゾーン冗長ストレージ (GZRS) です。 GRS は 2 つのリージョンでの LRS の実行に似ていますが、GZRS はプライマリ リージョンで ZRS を実行し、LRS をセカンダリ リージョンで実行するのと似ています。

既定で、セカンダリ リージョンへのフェールオーバーが発生しない限り、セカンダリ リージョンのデータを読み取りまたは書き込みのアクセスに使うことはできません。 プライマリ リージョンが使用できなくなった場合、セカンダリ リージョンへのフェールオーバーを選択できます。 フェールオーバーが完了すると、セカンダリ リージョンがプライマリ リージョンになり、データの読み取りと書き込みを再び行うことができます。

重要

データはセカンダリ リージョンに非同期的にレプリケートされるため、プライマリ リージョンに影響を与える障害が発生すると、プライマリ リージョンを復旧できない場合にデータが失われる可能性があります。 プライマリ リージョンへの最新の書き込みと、セカンダリ リージョンへの最後の書き込みとの間隔は、回復ポイントの目標 (RPO) と呼ばれます。 RPO は、データを復旧できる対象の時点を示します。 現在、データをセカンダリ リージョンにレプリケートするのにかかる時間に関する SLA はありませんが、Azure Storage では通常、RPO は 15 分未満となります。

geo 冗長ストレージ

LRS を使用して、プライマリ リージョンの 1 つの物理的な場所内で、GRS によってデータが同期的に 3 回コピーされます。 その後、LRS を使用してセカンダリ リージョン (リージョン ペア) の 1 つの物理的な場所にデータを非同期的にコピーします。 GRS では、Azure Storage データ オブジェクトに年間 99.99999999999999% (シックスティーン ナイン) 以上の持続性を提供します。

GRS の図。プライマリ リージョン LRS のデータがセカンダリ リージョン LRS に複製されています。

geo ゾーン冗長ストレージ

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

GZRS の図。プライマリ リージョン ZRS のデータがセカンダリ リージョン LRS に複製されています。

GZRS は、オブジェクトに年間 99.99999999999999% (シックスティーン ナイン) 以上の持続性を確保するように設計されています。

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

geo 冗長ストレージ (GRS または GZRS を使用) は、リージョン障害から保護するために、セカンダリ リージョンの別の物理的な場所にデータをレプリケートします。 ただし、そのデータが読み取れるのは、お客様または Microsoft がプライマリ リージョンからセカンダリ リージョンへのフェールオーバーを開始した場合だけです。 ただし、セカンダリ リージョンへの読み取りアクセスを有効にした場合、プライマリ リージョンが最適に実行されている場合でも、データは常に使用できます。 セカンダリ リージョンへの読み取りアクセスについては、読み取りアクセス geo 冗長ストレージ (RA-GRS) または読み取りアクセス geo ゾーン冗長ストレージ (RA-GZRS) を有効にします。

重要

セカンダリ リージョンのデータは、RPO のため最新ではない可能性があります。