グローバルインフラ(リージョンと AZ)
AWS は世界中にデータセンターを展開しています。このレッスンでは、リージョン・アベイラビリティゾーン・エッジロケーションという 3 つの構成要素と、それらを使って高可用性を実現する考え方を学びます。
グローバルインフラとは
AWS のレッスンで、AWS のメリットのひとつとして「数分でグローバル展開できる」ことを学びました。これを支えているのが、AWS が世界中に張りめぐらせた物理的な設備のネットワークです。これをグローバルインフラ(グローバルインフラストラクチャ)と呼びます。
AWS のグローバルインフラは、主に次の 3 つの要素から成り立っています。
- リージョン — 世界各地にある、データセンターを集めた地域の単位
- アベイラビリティゾーン(AZ) — リージョンの中にある、独立したデータセンターのまとまり
- エッジロケーション — コンテンツを利用者の近くから配信するための拠点
これらがどう関係しているのかを、ひとつずつ見ていきましょう。
リージョン
リージョンとは、AWS がデータセンターを集約している世界中の地理的な地域のことです。AWS は世界の各地にリージョンを構え、利用者は「どの地域でシステムを動かすか」をリージョン単位で選べます。
例えば、日本には東京リージョンがあり、ap-northeast-1 というコードで表されます。ほかにも、アメリカ・ヨーロッパ・アジアなど、世界中に数多くのリージョンが用意されています。
リージョンには次のような特徴があります。
- 地理的に離れている — 各リージョンは別々の地域にあり、お互いに独立している
- リージョンごとに選んで使う — システムを置くリージョンは利用者が選ぶ。東京リージョンに置いたデータが、勝手に他のリージョンへコピーされることはない
- コードで識別する —
ap-northeast-1(東京)のように、地域を表すコードが割り当てられている
リージョンのコードは「地域 - 方角 - 番号」の形で読み解けます。例えば ap-northeast-1 は、ap(Asia Pacific = アジア太平洋)の northeast(北東)にある 1 番目のリージョン、という意味です。
アベイラビリティゾーン(AZ)
アベイラビリティゾーン(Availability Zone、略して AZ)とは、1 つのリージョンの中にある、物理的に独立したデータセンターのまとまりです。1 つの AZ は、1 つ以上のデータセンターで構成されています。
重要なのは、1 つのリージョンが複数の AZ で構成されているという点です。AWS では、各リージョンに最低 3 つの AZ が用意されています。
AZ 同士は、次のような絶妙なバランスで配置されています。
- 物理的に離れている — 災害や停電が同時に起きないよう、AZ 同士は数十 km 離れた別の場所に置かれている。電源・ネットワーク・空調もそれぞれ独立している
- でも、近すぎず遠すぎず — 互いに高速な専用ネットワークで結ばれており、AZ をまたいでも、データのやり取りにかかる時間はごくわずかで済む
AZ にも、ap-northeast-1a のようにコードが割り当てられます。これは、リージョンのコード(ap-northeast-1)の末尾に a、c、d などの文字を付けたものです。
複数 AZ で高可用性を実現する
なぜ AWS は、1 つのリージョンをわざわざ複数の AZ に分けているのでしょうか。その狙いは、システムを止めないことにあります。
ある AZ で大規模な停電や災害が起きても、別の AZ は物理的に独立しているため影響を受けません。そこで、システムを複数の AZ にまたがって配置しておけば、片方の AZ がダウンしても、もう片方の AZ で処理を続けられます。
このように、障害が起きてもサービスを止めずに動かし続けられる性質を高可用性(こうかようせい)と呼びます。複数の AZ を使う構成は、AWS で高可用性を実現するための基本的な考え方です。
「同じデータセンターの中でサーバーを 2 台に増やす」だけでは、その建物全体が停電したときに両方とも止まってしまいます。AZ を分けることは、こうしたまとめて倒れるリスクを避けるための工夫です。
エッジロケーション
エッジロケーションとは、利用者にコンテンツをより近い場所から届けるための拠点です。リージョンや AZ とは別系統で、世界中の多くの都市に、リージョンよりもさらに細かく数多く配置されています。
例えば、東京リージョンに置いた画像を世界中のユーザーに配信するとき、毎回はるばる東京まで取りに行くと、遠い国の利用者ほど表示が遅くなります。そこで、各地のエッジロケーションに画像のコピーを一時的に置いておけば、利用者は自分の近くの拠点から受け取れるため、表示が速くなります。
この仕組みは、主にコンテンツ配信を行う Amazon CloudFront などのサービスで使われます。
CloudFront のようなコンテンツ配信の仕組み(CDN)は、後のネットワーキングのセクションで詳しく学びます。ここでは「利用者の近くから配信して速くするための拠点がある」というイメージを持っておけば十分です。
リージョンの選び方
システムをどのリージョンで動かすかは、利用者が選びます。リージョンを選ぶときは、主に次の 4 つの観点を考えます。
| 観点 | 内容 |
|---|---|
| データの法令・主権 | データを国外に出してはいけないなど、法律や規制で保管場所が決まっている場合は、それを満たすリージョンを選ぶ |
| レイテンシ(遅延) | 利用者に近いリージョンを選ぶと、通信の遅れが小さくなり、応答が速くなる |
| 利用できるサービス | 新しいサービスや機能は、すべてのリージョンで同時に使えるとは限らない。使いたいサービスがあるリージョンを選ぶ |
| 料金 | 同じサービスでも、リージョンによって料金が異なる。要件を満たしたうえで、コストも考慮する |
特にデータの法令・主権は最優先されることが多く、「データを日本国内に置く必要がある」といった要件があれば、まずそれを満たすリージョン(例: 東京リージョン)が候補になります。
まとめ
- AWS のグローバルインフラは、リージョン・アベイラビリティゾーン(AZ)・エッジロケーションから成り立っている
- リージョンは、データセンターを集約した世界中の地理的な地域の単位(例: 東京リージョン
ap-northeast-1) - アベイラビリティゾーン(AZ)は、リージョン内の物理的に独立したデータセンターのまとまりで、各リージョンに最低 3 つ用意されている
- システムを複数の AZ にまたがって配置することで、障害が起きてもサービスを止めない高可用性を実現できる
- エッジロケーションは、利用者の近くからコンテンツを配信するための拠点(CloudFront などで利用)
- リージョンを選ぶときは、データの法令・主権、レイテンシ、利用できるサービス、料金の 4 つを考慮する
問題に挑戦