Azureサービス構築時の基本となる冗長化についてです。
サービス構築時は冗長化を意識して構築しますが、構築後は障害が発生しない限り、なかなか意識することが少ないと思います。
冗長化とは
システムやデータの可用性を高めるために、複数の予備構成を用意し障害が発生した場合でも業務を継続できるようにする仕組みです。
冗長化の種類
Storageでサポートされている冗長化を紹介しますが、ローカル冗長やゾーン冗長はSQL Databaseなどでもサポートされています。
- ローカル冗長ストレージ(LRS)
1つのデータセンター内で、3つのデータコピーを同期的に書き込みます。
データセンター単位の障害が発生した場合には耐えられないリスクがあります。

- ゾーン冗長ストレージ(ZRS)
3つ以上の可用性ゾーンにデータを同期的にレプリケートします。
データセンターレベルの障害には耐えられますが、リージョン全体の障害には耐えられないリスクがあります。

- geo冗長ストレージ(GRS)
プライマリリージョン内でLRSによりデータを3回、さらにセカンダリリージョンにも非同期にレプリケートします。
リージョン全体の障害にも対応できます。

- geoゾーン冗長ストレージ(GZRS)
プライマリリージョンでZRSを使用し、セカンダリリージョンにも非同期にレプリケートします。
最も高い冗長性を実現します。
災害からのデータ保護目的であればリージョン全体の障害にも対応できるGRSやGZRSが適しています。

冗長化のメリット/デメリット
冗長化することで可用性は高まりますが、当然ランニングコストが上がります。
上記で記載した冗長化は上から順にコストが高くなり、Blob Storageを例にすると、汎用v2ストレージアカウント1,000GBでローカル冗長ストレージの場合は$20/月、geoゾーン冗長ストレージでは$45/月(※)になります。
※ 2025年12月調べ
まとめ
可用性を高める方法として冗長化をお話ししましたが、「可用性セット」「可用性ゾーン」やバックアップによる可用性の向上など様々な仕組みがあります。
システム構成を検討する際は、どこまで高可用性を必要とするか、ランニングコスト見合いでしっかり考えていきたいものです。

