AWS と GCP の主要コンピューティングサービスを比較してみた(EC2 / Compute Engine ほか)
今回は コンピューティング(計算リソース)全体 を俯瞰する。
前回はサーバーレスに特化した話だったが、今回はコンピューティング全般にスコープを広げてみていく。
AWS も GCP も「コンピュート」と一口に言っても、VM・コンテナ(サーバーレス)・関数(FaaS)・Kubernetes と層が分かれている。まず全体地図を描いてから、シリーズの主役 EC2 ↔ Compute Engine を詳しく見ていく。
1. コンピュート全体マップ
| 抽象度 | カテゴリ | AWS | GCP |
|---|---|---|---|
| 低(自由度高) | 仮想マシン(VM) | EC2 | Compute Engine |
| ↓ | コンテナ(サーバーレス) | Fargate(ECS/EKS) | Cloud Run |
| ↓ | マネージドKubernetes | EKS | GKE / GKE Autopilot |
| 高(運用最少) | 関数(FaaS) | Lambda | Cloud Functions |
| 特殊 | PaaS(アプリ丸ごと) | Elastic Beanstalk | App Engine |
上に行くほど 自由度が高い(が運用負荷も高い)、下に行くほど マネージドで楽(が制約も増える)。
選定は「どこまでインフラを自分で握りたいか」のトレードオフ。
2. 主役:EC2 ↔ Compute Engine(VM)
両クラウドの 最も基本的な計算リソース。仮想マシンを立てて好きに使う、という点は同じ。用語と細部が違う。
2-1. 用語の対応
| 概念 | AWS(EC2) | GCP(Compute Engine) |
|---|---|---|
| 仮想マシン | インスタンス | インスタンス(VM) |
| スペックの型 |
インスタンスタイプ(例: t3.medium) |
マシンタイプ(例: e2-medium) |
| OSテンプレート | AMI | イメージ |
| 起動ディスク | EBS ボリューム | 永続ディスク(Persistent Disk) |
| 設定の雛形 | 起動テンプレート | インスタンステンプレート |
| 配置場所 | リージョン / AZ | リージョン / ゾーン |
| 自動増減グループ | Auto Scaling Group | マネージドインスタンスグループ(MIG) |
| ファイアウォール | セキュリティグループ | VPCファイアウォールルール(タグ/SAベース) |
| 一時的格安VM | スポットインスタンス | Spot VM / プリエンプティブル |
| メタデータ | インスタンスメタデータ(IMDS) | メタデータサーバー |
2-2. マシンタイプの考え方
| AWS | GCP | |
|---|---|---|
| 命名 |
t3.medium(ファミリ.サイズ) |
e2-medium(ファミリ-サイズ) |
| 汎用 | t系 / m系 | E2 / N2 / N2D |
| 計算重視 | c系 | C2 / C3 |
| メモリ重視 | r系 / x系 | M1 / M2 / M3 |
| カスタム | (一部のみ) | カスタムマシンタイプ(vCPU/メモリを自由指定可) |
GCP の強みは カスタムマシンタイプ:vCPUとメモリを細かく自分で決められる。AWSは決められた型から選ぶのが基本。
2-3. 課金・割引モデル
| AWS | GCP | |
|---|---|---|
| 基本 | 秒課金(最低60秒) | 秒課金(最低60秒) |
| 長期割引(コミット) | Savings Plans / リザーブドインスタンス | 確約利用割引(CUD) |
| 自動割引 | (なし) | **継続利用割引(Sustained Use Discount)**=長く使うほど自動で安くなる |
| 格安スポット | スポット(中断あり) | Spot VM(中断あり) |
GCP の 継続利用割引(SUD) は「申し込み不要で、月内に長く動かすほど自動値引き」という独特の仕組み。AWSのコミット型割引(事前申込)とは思想が違う。
3. 基本的な使い方:Compute Engine(実践)
3-1. VM を作る
gcloud config set project MY_PROJECT
gcloud services enable compute.googleapis.com
gcloud compute instances create my-vm \
--zone=asia-northeast1-a \
--machine-type=e2-medium \
--image-family=debian-12 \
--image-project=debian-cloud \
--boot-disk-size=20GB
3-2. 接続・操作
gcloud compute ssh my-vm --zone=asia-northeast1-a # SSH(鍵は自動管理)
gcloud compute instances list # 一覧
gcloud compute instances stop my-vm --zone=... # 停止
gcloud compute instances start my-vm --zone=... # 起動
gcloud compute instances delete my-vm --zone=... # 削除
3-3. AWS(EC2)だと
aws ec2 run-instances \
--image-id ami-xxxxxxxx \
--instance-type t3.medium \
--key-name my-key \
--security-group-ids sg-xxxx \
--subnet-id subnet-xxxx
aws ec2 describe-instances
aws ec2 stop-instances --instance-ids i-xxxx
aws ec2 start-instances --instance-ids i-xxxx
aws ec2 terminate-instances --instance-ids i-xxxx
大きな体験差:SSH。GCP は
gcloud compute sshが鍵生成・登録を自動でやる。AWS はキーペアを自分で作って.pemを管理しssh -iで入るのが基本。
4. その他のコンピュートも横並びで
4-1. コンテナ(サーバーレス):Cloud Run ↔ Fargate
- Cloud Run = 単体で完結し URL が自動で生えるサーバーレスコンテナ。ゼロスケール&リクエストms課金。
- Fargate = ECS/EKS の実行エンジン。常駐負荷向き、公開は ALB を自前で。
- 👉 詳細は別記事 [Cloud Run と AWS Fargate を比較する] にまとめてある。
4-2. 関数(FaaS):Cloud Functions ↔ Lambda
| AWS Lambda | GCP Cloud Functions | |
|---|---|---|
| 単位 | 関数 | 関数 |
| トリガー | API GW / S3 / SQS / EventBridge 等 | HTTP / Pub/Sub / Cloud Storage / Eventarc 等 |
| 実行時間上限 | 最大15分 | 第2世代で最大60分(HTTP) |
| 基盤 | 独自 | 第2世代は Cloud Run 上で動く |
Cloud Functions 第2世代は内部的に Cloud Run。GCPは「関数もコンテナも同じ基盤」に寄せている。
4-3. マネージド Kubernetes:GKE ↔ EKS
| AWS EKS | GCP GKE | |
|---|---|---|
| 制御プレーン | マネージド | マネージド |
| ノード運用 | 自分 or Fargate | 自分(Standard)or フルおまかせ(Autopilot) |
| 立ち上げの楽さ | 中 | Autopilot が非常に楽 |
GCP は Kubernetes の発祥元。GKE Autopilot はノード管理すら不要で、AWSの「EKS + Fargate」に近い体験。
4-4. PaaS:App Engine ↔ Elastic Beanstalk
- どちらも「アプリのコードを上げれば動く」PaaS。
- GCP の App Engine は GCP 最古参のサービス。今は新規なら Cloud Run に流れることが多い。
5. どれを選ぶ?(コンピュート選定フロー)
| こういう時 | AWS | GCP |
|---|---|---|
| OS含め自由に握りたい / レガシー移行 | EC2 | Compute Engine |
| HTTP API・Webを手軽に | Fargate(+ALB) | Cloud Run |
| イベント駆動の小さな処理 | Lambda | Cloud Functions |
| Kubernetes運用 | EKS | GKE / Autopilot |
| アプリ丸ごとPaaS | Elastic Beanstalk | App Engine |
6. まとめ
| カテゴリ | AWS | GCP | 覚え方 |
|---|---|---|---|
| VM | EC2 | Compute Engine | インスタンスタイプ↔マシンタイプ、AMI↔イメージ、EBS↔永続ディスク |
| コンテナ(SL) | Fargate | Cloud Run | Cloud Runは単体完結&ゼロスケール |
| FaaS | Lambda | Cloud Functions | GCP第2世代はCloud Run上で動く |
| K8s | EKS | GKE | GCPはAutopilotが楽 |
| PaaS | Beanstalk | App Engine | 新規はCloud Runへ流れがち |
3行まとめ
- EC2 ≒ Compute Engine。用語が違うだけで使い方はほぼ同じ。GCPはカスタムマシンタイプと**継続利用割引(自動値引き)**が独自。
- SSH 体験は GCP(
gcloud compute ssh自動)の方が楽。 - コンテナ/FaaS/K8s も含め、GCPは「全部 Cloud Run / GKE に寄せて統一」する方向、AWSは「サービスごとに専用」の傾向。
関連記事:
- [GCP のリソース階層を AWS と比較する(Organization / Folder / Project 編)]
- [GCP と AWS で比較する IAM とポリシー継承の仕組み]
- [GCP CLI を AWS CLI と比較する(gcloud / gsutil / bq 編)]
- [GCP の API 管理サービスを AWS API Gateway と比較する]
- [Cloud Run と AWS Fargate を比較する(コンテナ実行基盤編)]