アベイラビリティゾーンとは建物が違うという意味だ
一言でいうと
リージョンは地理的に離れた地域で、アベイラビリティゾーン(AZ)は、その中で電源・冷房・ネットワークが独立したデータセンターのまとまりです。この2つの言葉を正確に区別した瞬間に、可用性設計の半分が解けます。
なぜ必要なのか
「冗長化しました」と書かれたアーキテクチャを開いてみると、サーバー2台が同じラックにある場合がよくあります。オンプレミスでは、これが目に見えますが、クラウドでは見えません。インスタンスを2つ起動すると、どこに置かれるかは、こちらが指定しない限り、同じ場所に行くことがあります。
そのためクラウドは、分離の単位を名前として公開しています。それがAZです。
| 単位 | 何が独立か | 何が共有か |
|---|---|---|
| アベイラビリティゾーン(AZ) | 電源・冷房・物理ネットワーク・建物 | リージョン内の低レイテンシのバックボーン |
| リージョン | 地理・法的管轄・たいてい電力網 | なし(完全分離) |
| エッジロケーション | キャッシュ拠点 | オリジンはリージョンにある |
AZ間のレイテンシは1–2ms程度なので、同期レプリケーションが実用的です。リージョン間は数十–数百msなので、同期レプリケーションは事実上不可能です。この数字1つが、「マルチAZは基本、マルチリージョンは大きな決断」という実務のルールを生みます。
リージョン選択の比較基準
ベンダーごとの名前
| 概念 | AWS | Azure | GCP |
|---|---|---|---|
| リージョン | Region | Region | Region |
| アベイラビリティゾーン | Availability Zone | Availability Zone | Zone |
| リージョン内のグループ | — | Region Pair(別の概念) | — |
Azureは、一部のリージョンにAZがありません(可用性セットだけを提供)。「マルチAZで行く」という決定が、リージョンの選択を制約しうるという意味です。
リージョンは何で選ぶのか
- 法規制。個人情報を国外に送れない要件があれば、ここで決まりです。韓国の公共・金融の案件で、最初に引っかかる条件です。
- レイテンシ。ユーザーと物理的に近いほどよくなります。ソウルリージョンと東京リージョンは、約30–40msの差です。
- サービスの提供状況。すべてのリージョンがすべてのサービスを提供しているわけではありません。新しいサービスは、たいていバージニア(us-east-1)に最初に出ます。
- 価格。リージョンごとに違います。同じインスタンスで20%以上の差が出ることもあります。
AZ名はアカウントごとに違う
AWSのap-northeast-2aは、アカウントごとに別の物理AZを指します。負荷を均等に分散させるための仕組みですが、このため「うちは2a、あちらも2a」と言っても、同じ場所とは限りません。アカウント間で物理的な位置を合わせる必要があれば、AZ ID(apne2-az1)を使います。
現場での姿
- マルチAZで起動したのに、1つのAZの障害でサービスが止まりました → DBが単一AZでした。
- リージョン全体の障害 → マルチAZでは防げません。リージョンの障害はまれですが、起こります。
- サービスがそのリージョンになくて設計を変えました → リージョンを選ぶ前に確認しておくべきでした。
次に見ること
責任共有モデル。このインフラでどこまでが自分たちの責任かを決める図です。