クラウドの可用性設計では、zonal、regional、dual-region、multi-region、global、cross-region という言葉が何度も出てきます。
本記事では、これらのスコープ用語をGCPではどう読むかに絞って整理します。クラウド全般で似た言葉は出てきますが、実際の意味やリソースの所属範囲はクラウドごとに異なります。
これらはすべて「どこまでまたがるか」に関係しますが、GCPの中でもサービスによって意味の射程が少し違います。Compute、Storage、Load Balancerを同じ感覚で読むと混乱します。
基本の階層
まずは基本の地理スコープです。
| スコープ | 意味・例 |
|---|---|
| zone | 例: asia-northeast1-a |
| region | 例: asia-northeast1 |
| dual-region | 指定された2つのregion |
| multi-region | US / EU / ASIA など、広域内の複数region |
| global | regionに閉じない |
GCPのVPC、subnet、VMの関係は『GCPのVPC・サブネット・リージョン・ゾーンの関係を整理する』で扱っています。
用語ごとの意味
| 用語 | 意味 | 典型例 |
|---|---|---|
| zonal | 1つのzoneに属する | VM、zonal disk、zonal MIG |
| regional | 1つのregionに属する | subnet、Regional MIG、Cloud VPN gateway、Cloud Router |
| dual-region | 指定した2regionにデータを置く | Cloud Storage |
| multi-region | 広域内の複数regionにデータを置く | Cloud Storage、BigQuery、Firestore、Spanner |
| global | regionに閉じない入口/リソース | VPC、IAM、Global external LB |
| cross-region | 複数regionをまたいで機能する | cross-region internal LB、cross-region replica |
重要なのは、regional は 複数region ではないことです。多くの場合、1つのregion内の複数zoneにまたがれる、という意味です。
Computeでのregional
Compute系では、zonal と regional の違いがよく出ます。
- Zonal MIG: 1つのzone内のVM群
- Regional MIG: 1つのregion内の複数zoneに分散したVM群
flowchart TB
subgraph r1["Region: asia-northeast1"]
subgraph z1["Zone A"]
vm1["VM #1"]
end
subgraph z2["Zone B"]
vm2["VM #2"]
end
subgraph z3["Zone C"]
vm3["VM #3"]
end
end
Regional MIGはzone障害に強い構成ですが、region障害に耐えるには複数regionにbackendを置く必要があります。Compute可用性の詳細は『Compute可用性設計』で扱います。
Storageでのdual-region / multi-region
Cloud Storageでは、データ配置場所として region、dual-region、multi-region を選びます。
| ロケーション | 意味 |
|---|---|
| region | 1つのregionに保存 |
| dual-region | 指定した2つのregionに保存 |
| multi-region | US / EU / ASIA のような広域ロケーションに保存 |
これは、アプリ全体がmulti-regionになるという意味ではありません。あくまで、そのStorageサービスのデータ配置です。
flowchart TB
app["App"]
bucket["Cloud Storage bucket<br/>dual-region / multi-region"]
subgraph r1["Region A"]
copy1["Object data"]
end
subgraph r2["Region B"]
copy2["Object data"]
end
app --> bucket
bucket -. "managed data placement" .-> copy1
bucket -. "managed data placement" .-> copy2
この考え方は『GCPのmulti-regionデータサービス: Firestore・Spanner・Cloud Storage・BigQueryの違い』で深掘りします。
Load Balancerでのglobal / regional / cross-region
Load Balancerでは、外部向けか内部向けかで呼び方が変わります。
| 種類 | 主な意味 |
|---|---|
| Regional LB | 1region内のbackendに振り分ける |
| Global external LB | 外部ユーザー向けのglobal入口。複数region backendを扱える |
| Cross-region internal LB | VPC内部向けに複数region backendを扱える |
global external LB は入口がglobalという意味です。backendが1regionだけなら、アプリ本体は単一region依存です。
| 構成 | 意味 |
|---|---|
| Global LB + backend 1 region | 入口はglobal、アプリはsingle region |
| Global LB + backend multiple regions | 入口もbackendも複数region対応 |
Load Balancerを使ったトラフィック分散設計は『トラフィック分散設計』で扱います。
VPNやCloud Routerもregional
Cloud VPN gateway、VPN tunnel、Cloud Routerはregional resourceです。VMのようにzoneに置くものではありません。
- Cloud VPN gateway: regionに作る
- VPN tunnel: そのregionのgatewayから張る
- Cloud Router: VPCに紐づくregional resource
そのため、複数regionからオンプレへ直接接続したい場合は、各regionにCloud VPN gatewayを置く構成になります。
まとめ
regionalは基本的に1regionであり、複数regionではない- Computeのregionalは、1region内の複数zoneに効く
- Storageのdual-region / multi-regionは、データ配置の指定
- Global LBは入口がglobalであり、backendまで自動で複数regionになるわけではない
- VPN gatewayやCloud Routerもregional resourceとして扱う
可用性設計では、まず対象サービスのスコープを確認し、そのうえで「どの障害単位に備えるのか」を考えるのが重要です。