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 と 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行まとめ

  1. EC2 ≒ Compute Engine。用語が違うだけで使い方はほぼ同じ。GCPはカスタムマシンタイプと**継続利用割引(自動値引き)**が独自。
  2. SSH 体験は GCP(gcloud compute ssh 自動)の方が楽。
  3. コンテナ/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 を比較する(コンテナ実行基盤編)]
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?