AWS LambdaとCloud Functionsの違いを徹底比較

インフラ・クラウド

サーバーレスのコンピュート基盤として代表的なのが、AWS LambdaとGoogle Cloud Functionsです。基本コンセプトは似ていますが、トリガーの種類・連携サービス・運用面で違いがあります。本記事では、両者を比較し選び方を解説します。

基本コンセプト

どちらもイベント駆動・自動スケール・従量課金のサーバーレス関数サービスです。最大15分(Lambda)/ 60分(Cloud Functions 2nd gen)の実行制限があり、関数単位で独立して動作します。

項目別比較

対応ランタイム

  • Lambda:Node.js / Python / Java / Go / .NET / Ruby / カスタムコンテナ
  • Cloud Functions:Node.js / Python / Go / Java / .NET / Ruby / PHP

トリガー

  • Lambda:API Gateway, S3, DynamoDB, SQS, EventBridge, Kinesisなど豊富
  • Cloud Functions:HTTP, Pub/Sub, Cloud Storage, Firestore, Eventarcなど

実行時間制限

  • Lambda:最大15分
  • Cloud Functions 2nd gen:最大60分(HTTP関数)/ 9分(イベント関数)

料金

両者とも「呼び出し回数 × 実行時間 × メモリ」が基本構造で、無料枠も充実しています。コンピュート単価は接近しており、エコシステムやネットワーク料金で差が出るケースが多いです。

コールドスタート

  • Lambda:Provisioned Concurrency / SnapStart(Java)で緩和
  • Cloud Functions:最小インスタンス数で常駐させる設定が可能

ローカルから書き比べ

// Lambda(Node.js)
export const handler = async (event) => {
  return { statusCode: 200, body: 'Hello Lambda' };
};

// Cloud Functions(Node.js, 2nd gen)
import * as functions from '@google-cloud/functions-framework';
functions.http('hello', (req, res) => {
  res.send('Hello Cloud Functions');
});

選び方の指針

  • 既存システムがAWS中心:Lambda(連携サービスが圧倒的)
  • GCP利用・Firestore連携が必要:Cloud Functions
  • 大規模ストリーム処理:Lambda + Kinesis or Cloud Functions + Pub/Sub
  • 長時間処理が必要:Cloud Functions 2nd gen / ECS / Cloud Run

類似サービスの比較

  • AWS Fargate / Cloud Run:コンテナを直接実行できる柔軟性
  • Cloudflare Workers / Vercel Edge Functions:エッジでの実行が強み
  • Azure Functions:Microsoft環境との統合

まとめ

サーバーレスコンピュートはクラウドごとに微妙に得意領域が異なります。AWS中心ならLambda、GCP中心ならCloud Functionsが無難。長時間処理や柔軟性が必要ならCloud Run・Fargateも候補に。要件に応じて使い分けるのがベストです。