
この記事の内容
リージョンはデータセンターなどをまとめた地域の単位、可用性ゾーンは一つのリージョンの中で、電源・冷却・ネットワークなどを分けたまとまりです。
「東日本リージョンを選べば、アプリは自動で複数のゾーンに配置される?」。この問いには、使うサービスと構成の確認が必要です。地域の名前と、実際の配置の仕方を分けて見ていきましょう。
可用性ゾーンは、リージョンの中にある
Azureのリージョンには、一つ以上のデータセンターと、それらをつなぐネットワークなどがあります。多くのリージョンには、可用性ゾーンが用意されています。ここでは、特定のリージョンに配置するリソースを扱います。単一のリージョンに結び付かないサービスもあります。リージョンの公式説明
| 用語 | 何を表すか | まず区別したいこと |
|---|---|---|
| リージョン | データセンターなどがある地域のまとまり | どの地域に配置するか |
| 可用性ゾーン | 同じリージョン内にある、一つ以上のデータセンターのまとまり | 同じ地域の中で設備をどう分けているか |
各ゾーンは、電源・冷却・ネットワークの基盤を独立させています。ゾーンは必ず一つの建物を指すわけではありません。また、すべてのリージョンで可用性ゾーンを利用できるわけでもありません。可用性ゾーンの公式説明
リージョンの中に可用性ゾーンがあります。「ゾーンを一つ指定する」と「サービスが複数ゾーンに分散・複製する」は違います。地域名だけでは、どちらの配置か判断できません。
この図は用語を分けるための模式図です。実際に使えるゾーン数や、リソースが利用するゾーンは、リージョン・サービス・構成で異なります。
「ゾーン指定」と「ゾーン冗長」は違う
公式資料の配置の用語をもとに、ゾーンの使い方を整理します。
| 配置の説明 | 意味 | その言葉だけでは言えないこと |
|---|---|---|
| ゾーン指定(zonal) | リソースを一つの可用性ゾーンに配置する | 別のゾーンにも自動で複製されるとは言えない |
| ゾーン冗長(zone-redundant) | サービスがリソースを複数のゾーンに分散・複製する | アプリ全体のあらゆる停止を防げるとは言えない |
| 非ゾーン配置(nonzonal/regional) | ゾーン対応が有効ではない配置 | ゾーン障害への耐性があるとは判断できない |
非ゾーン配置でも、実際の設備がいずれかのゾーン内にある場合があります。「ゾーンを指定していないから、どのゾーンの障害も受けない」という意味ではありません。配置の種類
特に覚えたいのは、ゾーンを一つ指定しただけでは、ゾーン冗長にならないことです。複数ゾーンの利用が自動のサービスもあれば、条件に合うプランや設定が必要なサービスもあります。サービスごとのゾーン構成
申込アプリの「配置メモ」を読んでみよう
架空の勉強会で、申込ページを動かすWebアプリと、案内資料を置くストレージを使うとします。担当者のメモには、次の三行だけがありました。
| メモに書かれたこと | この情報から分かること | まだ分からないこと |
|---|---|---|
| Webアプリの配置先:東日本 | Webアプリ側のリージョン | ゾーンをどう使う構成か |
| 資料用ストレージの配置先:東日本 | ストレージ側のリージョン | どの冗長性の方式か |
| リソースグループの場所:東日本 | グループの管理情報の保存先 | 中のリソースのゾーン構成 |
これは説明用のメモで、実際の画面や、動作を確認した構成ではありません。アプリに必要な全リソースも列挙していません。
三行とも同じ地名ですが、このメモだけでは、Webアプリやストレージがゾーン冗長かどうかは分かりません。 一つの部品でゾーン冗長を使っていても、アプリ全体について判断するには、ほかの部品や接続先も確認する必要があります。アプリの構成要素と依存関係を確認する考え方
なお、リソースグループの「場所」は、そのグループについての管理情報であるメタデータの保存先です。中のリソースの配置先を一括指定するものではなく、異なるリージョンのリソースを含めることもできます。グループの場所の公式説明
管理の入れ物から整理したい場合は、リソース・リソースグループ・サブスクリプションの違いも読んでみてください。
対応する「地域・サービス・プラン・構成」を確認する
「そのリージョンにはゾーンがある」と「使いたいサービスでゾーン冗長を利用できる」は、別々に確認します。公式の対応サービス一覧から、対象サービスの信頼性ガイドへ進めます。
資料を読むときは、次の順で探すと条件を見落としにくくなります。
- 対象のリージョンが可用性ゾーンに対応しているか
- そのサービスが、そこで必要なゾーン構成に対応しているか
- プランやSKUなど、利用条件に指定があるか
- 自動で有効なのか、追加の構成が必要なのか
たとえばApp Serviceの公式ガイドには、地域だけでなく、プランの種類、最低インスタンス数、配置先の基盤である「スケールユニット」の条件も記載されています。「App Serviceは対応している」という一言では、個別のプランで利用できるかまでは判断できません。App Serviceの要件
ここでの一歩は、設定を変更することではなく、条件を読めるようになることです。実際の変更に進む場合は、対象サービスの手順、料金への影響、停止や移行の条件を別に確認します。
最後に、場所と配置を分けて説明する
今回のメモに戻って、次の二つを考えてみよう。
- 同じリージョンにある二つのリソースは、必ず同じゾーンにある?
- 一つのゾーンを指定すれば、別のゾーンにも自動で配置される?
一つ目は、リージョン名だけでは判断できません。二つ目も、自動で複数ゾーンに配置されるとは限りません。次に知りたいのは、それぞれのリソースのゾーン構成です。
また、同じリージョン内で複数のゾーンを使うことと、複数のリージョンを使うことは別です。ゾーン冗長だけで、リージョン全体の障害まで対処できるわけではありません。可用性ゾーンの範囲
学習メモに「どの地域か」と「ゾーンをどう使うか」の二つの欄を作ると、分かっていることと次に調べることを分けられます。Azure全体の学習範囲へ戻りたい場合は、AZ-900とAI-901の違いと選び方へ進めます。
利用中のサービスに問題があるか調べるときは、Azure Status・Service Health・Resource Healthの確認範囲を分けて見てください。地域名や正常表示だけで、アプリの状態を判断しないための確認順です。
出典を開く
- 確認日 https://learn.microsoft.com/en-us/azure/reliability/regions-overview
- 確認日 https://learn.microsoft.com/en-us/azure/reliability/availability-zones-overview
- 確認日 https://learn.microsoft.com/en-us/azure/reliability/availability-zones-enable-zone-resiliency
- 確認日 https://learn.microsoft.com/en-us/azure/reliability/availability-zones-service-support
- 確認日 https://learn.microsoft.com/en-us/azure/reliability/reliability-app-service
- 確認日 https://learn.microsoft.com/en-us/azure/well-architected/design-guides/regions-availability-zones
- 確認日 https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal