このページでは、API Gateway と Lambda の違いに関して説明します。
これらは競合する機能ではなく組み合わせて使用すると便利です。REST システムを低コスト、短期間で構築するのに適しています。
Lambda でコードを記述して、API Gateway のエンドポイント経由でアクセスします。Lambda は基本はS3へのファイルアップロード、Dynamo DBのテーブル更新などの AWS 内のリソース関連をトリガーとして稼働しますがHTTPS経由で外部から関数を直接コールすることはできないため、API Gateway と連携することにより実現します。
AWSのこれらのサービスがない場合は、OSを構築してWebサーバを構築してWeb上で動くミドルウェアで関数を処理する必要がありました。運用フェーズではパッチの適用やハードウェアのメンテナンスも必要となりました。しかし API Gateway + Lambda により開発者はコード開発のみに集中できるようになりました。
比較は以下の表の通りとなります。
比較表 | API Gateway | Lambda |
概要 | APIのEnd Pointを作成する | コードを記述する |
コードの記述 | なし | 可能(Lambda関数) |
特徴 | 外部からAPIへ https とmethod (GET,PUT,POST,DELETE,HEAD,OPTIONS,PATCHなど)でアクセスすることが可能となる。 | サーバレス(サーバ基盤の構築不要)で関数を定義、実行することが可能となる。 |
主なメリット | ・APIを簡単に作成。コードはLambda、EC2、Webアプリケーションなど。 ・トラフィック監視、認証、アクセスコントロール、モニタリング、バージョン管理などが可能。 | OS基盤を構築や管理することなく(サーバレス)関数の実行が可能。 |