Heroku
AWS
gcp
Firebase
個人開発

【クラウドVPS/PaaS/FaaS比較】最低料金とサービスレベルの比較

はじめに

クラウドサービス多すぎる。
なんとなく使いたいものは決まっているのですけど、自己学習も兼ねてふわっとサービスレベルを比較してみる。

データベースの比較はこちら: 【クラウドDB比較】無料枠で提供されるサービスレベル

前提

  • 最低料金で何ができるんだろう?の比較
    • 個人開発レベルで何を選ぶかの選定に使う程度の比較
    • エンタープライズとして何を使うかレベルの詳細な機能比較ではない
  • 初回登録時の「〜ドル分のクレジットをプレゼント!」みたいなのは、無視してます。
  • 基本的にはAWSとGCPの比較
  • カテゴライズはテキトーです
    • あくまで自分が理解しやすい分類の仕方

注意事項
当たり前のことを書きます。

  • 個人開発のサービスが育ったときにどれが一番安いかは、ケースバイケース
  • 最新情報は公式サイトをご確認ください
  • ざっくり把握することを前提にした記事なので、厳密には表現が違う部分があるやもです

比較対象

一行説明は、基本的に公式サイトから取得してます。

仮想サーバー
ほとんどの場合、ネットワークは別料金。

  • Amazon EC2@AWS:クラウド内の安全でサイズ変更可能なコンピューティング性能。前払いの義務なしで必要なときにアプリケーションを起動。
  • GCE@GCP:スケーラブルで高性能な仮想マシン

VPS
さくらやConoHaなどのVPSが安いと噂。他にもいっぱいあるけど、比較が難しいので割愛。

  • Amazon Lightsail@AWS:コンピューティング、ストレージ、ネットワーキングなど、AWS でプロジェクトを始めるために必要なあらゆるものを、予測可能な低価格でご提供。(仮想サーバーだけでない込み込みパック)
  • ConoHaVPS@ConoHa:VPSをもっと速く、かんたんに
  • さくらVPS:スケールアップできるコストパフォーマンスに優れたVPS

vmware
個人開発でこれを選択する可能性は低そうなので、比較はしない。

コンテナ
Amazon内の比較は誰かがやってるだろうから、ここでは比較しない。
GCPはコンテナ単独のサービスはなく、k8sベースのサービス提供になっている。

  • Amazon ECS@AWS:コンテナ化されたアプリケーションを本番環境で実行する(今回はEC2ベースのECSを指す事にする)
  • AWS Fargate@AWS:サーバーやクラスターを管理することなくコンテナを実行(今回はFargateベースのECSを指す事にする)

kubernetes
最近人気のk8sさん。
GKE On-Prem@GCPはオンプレ向けなので比較対象から除外。
Knative@GCPは料金の考え方がGKEベースらしいので、比較対象から除外。

  • Amazon EKS@AWS:可用性が高く、スケーラブルで安全な Kubernetes サービス
  • GKE@GCP:Kubernetes クラスタを効率的かつ安全な方法で確実に実行
  • GKE On-Prem@GCP:Kubernetes クラスタをどこでも、効率的かつ安全な方法で確実に実行できます。
  • Knative@GCP:Kubernetes-based platform to build, deploy, and manage modern serverless workloads.

PaaS : Herokuライク
Herokuに代表される、アプリケーションだけ考えてれば良い環境。

  • Heroku@Heroku:運用ではなくアプリ開発に専念しましょう。
  • AWS Elastic Beanstalk@AWS:開発されたウェブアプリケーションやサービスを、使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービスです。
  • AWS Serverless Application Repository@AWS:サーバーレスアプリケーションを検索、デプロイ、公開する(説明だけ見るとBeanstalkの進化版っぽいけど・・・)
  • GAE@GCP:さまざまな言語を使用して Google のインフラストラクチャ上でスケーラブルなウェブ バックエンドやモバイル バックエンドを構築

FaaS : Lambdaライク
Lambdaに代表される、イベントドリブンなコード実行サービス。

  • AWS Lambda@AWS:サーバーについて検討することなくコードを実行できます。
  • Cloud Functions@GCP:クラウド サービスを構築して接続するためのサーバーレス環境

比較結果

仮想サーバー

無料もあるGCE@GCPが使いやすい。
有償枠になった時に、どっちが安いかは未評価。

サービス名 最低料金 インスタンスタイプ vCPU数 RAM 稼働上限 容量上限 補足
Amazon EC2@AWS 0.0068USD/時間(5.1USD/月) t3.nano 2 0.5GB - EBS のみ 東京リージョン
GCE@GCP 無料 f1-micro 1 0.6GB 1インスタンス/月 30GB 不明

VPS

ネットワーク料金込み込みのケースがほとんど。
さくらVPSが安い。(「年間一括」での計算)
なお、Lightsailは、上限を超えたアウトバウンドデータ転送が超過分として従量課金の対象になるので、注意が必要。

サービス名 最低料金 インスタンスタイプ vCPU数 RAM 稼働上限 容量上限 補足
Amazon Lightsail@AWS 3.5USD/月 - - 0.5GB 0.5TB転送 20GB(SSD) 東京リージョン
ConoHaVPS@ConoHa 630円/月 - 1 0.5GB - 20GB(SSD) -
さくらVPS 629円/月+初期費用1080円 - 1 0.5GB - 20GB(SSD) -

kubernetes

「GCPは無料で、k8s環境が付いてくる」と、言えなくも無い?

サービス名 最低料金 課金単位 ワーカー料金
Amazon EKS@AWS 0.20 US/時間 クラスタ単位 EC2+EBS
GKE@GCP 無料 - GCE

PaaS

1インスタンス8時間/日稼働だとして、Herokuは4インスタンス、GAE@GCPは3インスタンスを無料枠内で動かせる。
ゆくゆくの拡張性とかを考えると、GAE@GCPを選択しておくのが良い感じか?

AWSの2サービスは裏でどのサービスを使うかで、料金が異なる。いずれも無償枠は無かった。
GAE@GCPは結構細かい上限設定があるので、使う際はちゃんと確認するのが良さそう。

サービス名 最低料金 稼働上限
Heroku@Heroku 無料 1000時間/月
AWS Elastic Beanstalk@AWS - -
AWS Serverless Application Repository@AWS - -
GAE@GCP 無料 28時間/日

FaaS

値段だけ見れば、Cloud Functions@GCPの圧勝。
なお、AWS Lambda@AWSで外部転送する場合は、EC2に準拠したコストが発生する。
課金されていった場合、どっちが安くなるかは別途比較した方が良さそうだけど。

サービス名 最低料金 回数上限 メモリ上限 CPU上限 NW上限
AWS Lambda@AWS 無料 100 万回/月 40万 GB-秒/月 - 0GB/月
Cloud Functions@GCP 無料 200 万回/月 40万 GB-秒/月 20万 GHz-秒/月 5GB/月

さいごに

トータルで見ると、個人開発としては、GCP(Firebase含む)が無料枠が多くて使いやすそうな感じ。

参考