4.4 ネットワーク
GCP Networking
GCPのVPCはグローバルリソースであり、1つのVPCで複数リージョンのサブネットを持てる。これはAWS/Azureのリージョナルなネットワークと異なるGCP独自の設計思想である。
GCP VPCの特徴
@startuml
skinparam backgroundColor #FEFEFE
rectangle "VPC Network (グローバル)" as VPC #F3F4F6 {
rectangle "us-central1" as US #DBEAFE {
rectangle "サブネット\n10.0.1.0/24" as SubUS #93C5FD
}
rectangle "asia-northeast1" as JP #D1FAE5 {
rectangle "サブネット\n10.0.2.0/24" as SubJP #6EE7B7
}
rectangle "europe-west1" as EU #FEF3C7 {
rectangle "サブネット\n10.0.3.0/24" as SubEU #FDE68A
}
}
SubUS <--> SubJP : 内部IP通信
SubJP <--> SubEU : Googleバックボーン
note bottom of VPC
GCP VPC特徴:
- VPCはグローバル
- サブネットはリージョナル
- リージョン間通信が標準
end note
@enduml
図1: GCP VPCのグローバル構成
| 特性 | GCP | AWS | Azure |
|---|---|---|---|
| VPCスコープ | グローバル | リージョナル | リージョナル |
| サブネット | リージョナル | AZ単位 | リージョナル |
| リージョン間通信 | VPC内で自動 | Peering必要 | Peering必要 |
ファイアウォールルール
@startmindmap skinparam backgroundColor #FEFEFE * GCPファイアウォール ** 適用方式 *** ネットワークタグ *** サービスアカウント *** 全インスタンス ** ルール構成 *** 方向 (Ingress/Egress) *** 優先度 (0-65535) *** アクション (allow/deny) *** ターゲット left side ** AWS/Azureとの違い *** 許可/拒否両方可能 *** ネットワークタグ方式 *** VPC全体で適用 ** 階層型ファイアウォール *** 組織レベル適用 *** ガバナンス強化 @endmindmap
図2: GCPファイアウォールの特徴
ネットワークタグの活用
GCPのファイアウォールは「ネットワークタグ」で適用対象を指定。例: タグ「web-server」を持つVMにHTTP許可。IPアドレス不要で柔軟な管理が可能。
GCPのファイアウォールは「ネットワークタグ」で適用対象を指定。例: タグ「web-server」を持つVMにHTTP許可。IPアドレス不要で柔軟な管理が可能。
ロードバランサ
| タイプ | スコープ | 用途 | AWS対応 |
|---|---|---|---|
| グローバルHTTP(S) LB | グローバル | Webアプリ | CloudFront + ALB |
| グローバルTCP/SSL LB | グローバル | 非HTTP | NLB |
| リージョナルLB | リージョン | 内部通信 | ALB/NLB |
| 内部HTTP(S) LB | リージョン | マイクロサービス | Internal ALB |
GCPのグローバルHTTP(S)ロードバランサは、Anycastを使用して世界中のエッジロケーションでトラフィックを受け付け、最も近いバックエンドにルーティングする。1つのIPアドレスでグローバル展開できる点がAWS/Azureと異なる [1]。
出典
[1] Google Cloud. VPC Documentation. https://cloud.google.com/vpc/docs/
[2] Google Cloud. Cloud Load Balancing. https://cloud.google.com/load-balancing/docs/
[2] Google Cloud. Cloud Load Balancing. https://cloud.google.com/load-balancing/docs/
発展学習
→ Shared VPC
→ Cloud Interconnect
→ Shared VPC
→ Cloud Interconnect