Cloud Cost Sense

Cloud Run と App Engine の費用比較:適切なランタイムを選ぶ

断続的な API、安定した Web アプリ、最小インスタンス、スケーリング、関連する Google Cloud サービスから Cloud Run と App Engine の費用を比較します。

月額合計より先に課金単位を比べる

Cloud Run の request-based billing は、インスタンスの起動・終了時とリクエスト処理中に割り当てた CPU とメモリ、およびリクエスト数に課金します。最小インスタンスを設定しなければ、アイドル時にゼロまで縮小できます。Instance-based billing はコンテナインスタンスのライフサイクル全体に課金されるため、安定したトラフィックやリクエスト外で CPU が必要な処理に合う場合があります。

App Engine Standard は適用される無料利用量を超えた instance hour を instance class ごとに課金し、App Engine Flexible は仮想マシンのリソースを課金して無料枠はありません。低トラフィックの比較でも、月間リクエスト数だけでなくアイドル時間と scaling 設定を含めます。

トラフィック形状にランタイムを合わせる

断続的または急増するコンテナ API では、Cloud Run の request-based billing が分かりやすい出発点です。Concurrency により複数リクエストが 1 インスタンスを共有でき、最大インスタンス数により compute と下流データベース接続の増加を制限できます。最小インスタンスは cold start を減らしますが、アイドル費用が加わります。

App Engine Standard は、対応 runtime とプラットフォームの規約に合い、instance class の autoscaling を活用するアプリに適する場合があります。App Engine Flexible は runtime の自由度が高い一方、VM ベースのため継続稼働する容量の見積もりが重要です。リクエスト単価だけでなく、応答時間、メモリ、インスタンス数、稼働時間を含めて選びます。

ランタイム周辺のサービスも見積もる

どちらも外向きデータ転送、Cloud Logging、build と deploy、データベース、storage の費用を加えます。ランタイムが安価でも、Cloud SQL 接続、Firestore 操作、Cloud Storage ダウンロード、Serverless VPC Access が請求額を大きくすることがあります。

低トラフィックと安定トラフィックのシナリオを作り、同じリージョンで比較します。Cloud Run は billing mode、CPU、memory、concurrency、リクエスト時間、最小・最大インスタンスを記録します。App Engine は Standard または Flexible、instance class または VM リソース、scaling mode、想定 instance hour を記録します。料金と無料利用量は製品やリージョンで異なるため、最終判断は公式 Google Cloud Pricing Calculator で確認してください。