AWSの知識の復習も兼ねて、リージョンとアベラビリティゾーン、クローバルサービスについて復習してみました。
はじめに
- この記事では、AWS を使ううえで最初に知っておくべき リージョン・アベイラビリティゾーン(AZ)・グローバルサービス の 3 つの概念を解説します
- 「AWS を触り始めたけど、リージョンとか AZ って何?」「なぜ東京リージョンを選ぶの?」という方を対象にしています
- この記事を読むと、AWS のインフラがどういう構造になっているか、サービスごとにリージョンを意識すべきかどうかがわかるようになります
前提知識は特にありません。AWS アカウントを持っていなくても理解できる内容です。
リージョンとは
一言でいうと
リージョンは、AWS のデータセンター群が置かれている 地理的なエリア のことです。世界中に複数のリージョンがあり、利用者はどのリージョンにリソースを置くかを選べます。
たとえ話で理解する
リージョンを 支店 にたとえるとわかりやすいです。
AWS という大きな会社があって、東京支店、大阪支店、バージニア支店、ロンドン支店・・・と世界中に支店を構えているイメージです。どの支店(リージョン)にデータを預けるかは自分で選べます。
主なリージョン一覧
よく使われるリージョンをいくつか紹介します。
| リージョン名 | リージョンコード | 場所 |
|---|---|---|
| 東京 | ap-northeast-1 | 日本 |
| 大阪 | ap-northeast-3 | 日本 |
| バージニア北部 | us-east-1 | アメリカ東海岸 |
| オレゴン | us-west-2 | アメリカ西海岸 |
| シンガポール | ap-southeast-1 | シンガポール |
| フランクフルト | eu-central-1 | ドイツ |
| ソウル | ap-northeast-2 | 韓国 |
日本向けのサービスであれば、基本的には 東京リージョン(ap-northeast-1) を選んでおけば問題ありません。
リージョンの選び方
どのリージョンを選ぶかで、パフォーマンスやコストが変わります。選ぶときのポイントは主に 4 つです。
| ポイント | 説明 |
|---|---|
| レイテンシー(通信遅延) | ユーザーに近いリージョンほどレスポンスが速い。日本のユーザー向けなら東京リージョン |
| 料金 | リージョンによって同じサービスでも料金が違う。一般的にバージニア北部が最安 |
| 利用可能なサービス | 新しいサービスはまずバージニア北部で提供され、他のリージョンには後から展開されることが多い |
| 法令・コンプライアンス | 個人情報を国内に保管する必要がある場合など、法律上の制約で選ぶケースもある |
リージョンを指定しないとデフォルトリージョン(設定による)が使われるので、意図しないリージョンにリソースを作ってしまわないよう注意が必要です。
アベイラビリティゾーン(AZ)とは
一言でいうと
アベイラビリティゾーン(AZ)は、1 つのリージョンの中にある 物理的に分離されたデータセンター群 のことです。各リージョンには通常 2〜3 個以上の AZ があります。
たとえ話で理解する
先ほどの「支店」のたとえを続けると、AZ は 支店の中にある別棟のビル のようなものです。
AWS 東京リージョン(東京支店)
├── AZ-a(ビルA)
├── AZ-c(ビルC)
└── AZ-d(ビルD)
ビルごとに独立した電源・冷却・ネットワークを持っています。もし 1 棟が火災や停電で使えなくなっても、他のビルで業務を続けられるという設計です。
なぜ AZ が複数あるのか
理由はシンプルで、障害に強くするため です。
- 1 つの AZ だけに全部置く → その AZ が落ちたらサービス停止
- 複数の AZ に分散する → 1 つの AZ が落ちても他の AZ で動き続ける
これを マルチ AZ 構成 と呼びます。本番環境では基本的にマルチ AZ にするのが AWS のベストプラクティスです。
東京リージョンの AZ
東京リージョン(ap-northeast-1)には現在 3 つの AZ があります。
| AZ 名 | AZ ID |
|---|---|
| ap-northeast-1a | apne1-az4 |
| ap-northeast-1c | apne1-az1 |
| ap-northeast-1d | apne1-az2 |
ちなみに ap-northeast-1b は以前存在しましたが、現在は新規利用不可になっています。
マルチ AZ 構成の具体例
たとえば Web アプリケーションをマルチ AZ で構築すると、こんなイメージになります。
- ELB(Elastic Load Balancer = 負荷分散装置)がリクエストを 2 つの AZ に振り分ける
- EC2(仮想サーバー)を各 AZ に配置して冗長化
- RDS(データベース)はマルチ AZ オプションで主系と副系を自動的に別 AZ に配置
AZ-a が丸ごとダウンしても、AZ-c 側で処理を継続できます。
AZ 間の通信
AZ 同士は 高速な専用回線 で接続されています。AZ 間のレイテンシーは 1 ミリ秒程度なので、AZ をまたいだ通信でもほぼ気にならない速度です。ただし、AZ 間の通信には わずかに料金が発生 する点は知っておくとよいです。
グローバルサービスとは
一言でいうと
グローバルサービスは、特定のリージョンに属さず、世界全体で 1 つとして動作するサービス のことです。リージョンを選ぶ必要がありません。
たとえ話で理解する
リージョンサービスが「各支店で個別に管理されるもの」(在庫や経理など)だとすると、グローバルサービスは「本社が一括管理しているもの」(社員名簿や社内規則など)にあたります。どの支店からでも同じものにアクセスできます。
リージョンサービスとの違い
| 観点 | リージョンサービス | グローバルサービス |
|---|---|---|
| リージョン選択 | 必要 | 不要 |
| データの所在 | 選んだリージョン内 | 世界全体(または us-east-1) |
| 例 | EC2, RDS, S3, Lambda | IAM, CloudFront, Route 53 |
| リージョン間の共有 | 共有されない(各リージョンで独立) | 自動的に全リージョンで共有 |
主なグローバルサービス
| サービス | 何をするもの | なぜグローバルなのか |
|---|---|---|
| IAM | ユーザー・権限管理 | どのリージョンのリソースにも同じユーザーでアクセスするため |
| Route 53 | DNS(ドメイン管理) | ドメイン名は世界中から解決される必要があるため |
| CloudFront | CDN(コンテンツ配信) | 世界中のエッジロケーション(=ユーザーに近い配信拠点)からコンテンツを配信するため |
| WAF(CloudFront 連携時) | Web アプリケーションファイアウォール | CloudFront と連携する場合はグローバル |
| AWS Organizations | 複数アカウントの一元管理 | アカウント管理はリージョンに依存しないため |
| STS | 一時的なセキュリティ認証情報の発行 | どのリージョンからも認証が必要なため |
注意点:グローバルだけど内部的には us-east-1
グローバルサービスの多くは、内部的には バージニア北部(us-east-1) にデータを持っています。
たとえば IAM でユーザーを作成すると、コンソール上ではリージョンの選択がありませんが、裏では us-east-1 に保存されています。CloudFront のディストリビューション設定や、Route 53 のホストゾーンも同様です。
これが実務で影響するのは、主に以下のようなケースです。
- CloudWatch のログやメトリクス — CloudFront のログは us-east-1 に記録される。東京リージョンの CloudWatch では見えないので注意
- ACM(SSL 証明書) — CloudFront で使う SSL 証明書は us-east-1 で発行する必要がある
- WAF — CloudFront に適用する WAF ルールは us-east-1 で作成する
リージョン・AZ・グローバルの関係を整理する
全体の構造を mermaid で図にすると、こうなります。
- グローバルサービス — リージョンの上に位置し、全リージョンで共有
- リージョンサービス — 各リージョン内に閉じている。東京の S3 バケットとバージニアの S3 バケットは完全に別物
- AZ — リージョン内の物理的に分離されたデータセンター群。マルチ AZ で冗長化する
よくある疑問
Q. S3 はリージョンサービス?グローバルサービス?
S3 はリージョンサービス です。バケットを作成するときにリージョンを選びます。データはそのリージョン内に保存されます。
ただし、S3 のバケット名は 全世界で一意(ユニーク)でなければなりません。この点だけ「グローバル」的な性質を持っています。
Q. Lambda はどこで動く?
Lambda はリージョンサービス です。デプロイしたリージョン内で実行されます。ただし、CloudFront と組み合わせる Lambda@Edge はエッジロケーションで実行されるため、グローバルに近い動作をします。
Q. リージョンをまたいでデータをコピーしたい
S3 のクロスリージョンレプリケーションや、RDS のクロスリージョンリードレプリカなど、リージョン間でデータを複製する機能が用意されています。災害対策(DR = Disaster Recovery)でよく使われます。
まとめ
- リージョン は AWS のデータセンターがある地理的エリア。日本向けサービスなら東京リージョン(ap-northeast-1)を選ぶ
- アベイラビリティゾーン(AZ) はリージョン内の物理的に分離されたデータセンター群。本番環境では マルチ AZ 構成 にして障害に備える
- グローバルサービス(IAM, Route 53, CloudFront 等)はリージョンに属さず世界全体で動作する。内部的には us-east-1 にデータがあることが多い
- S3 のバケット名はグローバルで一意だが、データ自体はリージョンに保存される リージョンサービス
- CloudFront 用の SSL 証明書は us-east-1 で発行するなど、グローバルサービス絡みの「罠」は実務で頻出
次のステップとしては、実際に AWS コンソールでリージョンを切り替えながらリソースを眺めてみるのがおすすめです。リージョンを変えると EC2 インスタンスが見えなくなったり、IAM はどのリージョンでも同じ画面だったりと、この記事の内容が実感として理解できると思います。