AWSが提供するAPIの作成及び様々の管理を行えるサービス
デバロッパーは規模にかかわらず簡単にAPIの作成、公開、保守、モニタリング、保護を行える。APIgatewayを使用すれば、リアルタイム双方向通信アプリケーションを実現するRESTfulAPI及びWebSocketAPIを作成することが可能
HTTPAPIまたはRESTAPIを使用してRESTfulなAPIを作成することができる。
またWebSocketAPIの作成も可能
AWSLambdaと連携したサーバレスなアーキテクチャも実装可能
イメージとしてはリクエストの受口としてAPI Gatewayがあり、
そこからLambda関数を呼び出してバックエンドの処理を行うという感じ
ユーザーに使用された分のみ支払う形になる、後最低料金や前払いの義務も無し。受信した API コール数と、転送データ量に対してのみ料金が発生
サーバレスを言われているサービス、実行基盤はAWS側で管理をする
各種ミドルウェアなどの様々な環境構築が必要なEC2と違い、LambdaのようなFaasを利用すればサーバ構築せずともプログラムを作成しすぐに実行するということができる
複数の言語をサポートしており、NodeJS, Python, Java, Ruby, C#, Go, PowerShell等をサポートしている、サポートされない言語でもカスタムランタイムという機能を利用してどの言語でも利用可能
共通のロジックやライブラリに関しては、Lambda Layerとしてパッケージ化(zipファイルアーカイブ)して、複数のLambda関数で共有することができる。
!一つのLambda関数には最大5つまでのLayerを紐付けることができる。
Lambda関数とLayerの解凍後の合計サイズが250MB以下となる必要がある