0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

# AWS のリージョン・アベイラビリティゾーン・グローバルサービスを理解する

0
Posted at

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 はどのリージョンでも同じ画面だったりと、この記事の内容が実感として理解できると思います。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?