1
Help us understand the problem. What are the problem?

posted at

updated at

AWS Lambda FunctionURLs触ってみる(JavaScript Hands-on)

はじめに

2022年4月頃からAWS LambdaでHTTP通信が可能になった!!今まで、RESTAPIを作ろうとすると、API Gateway + Lambdaで作らなくてはいけなかった。しかし、サービスアップデートにより、Lambdaから直接叩けるようになった。(感動)。LambdaでAPIを作った事がある人ならば、何でAPIGateWayわざわざ用意しないとHTTP通信できないんだ??っていうのは誰もが感じてた事。ようやく、その不満から解消することができるようになったようなので、今回触ってみることにした。

所感

めっちゃ簡単。GUIのぽちぽちで1分で関数が作れるのがいい感じ。FunctionURlsという機能をONにすることでHTTP通信ができるようになっているようだ。ただ、色々と縛りがあるので、用途に合わせて利用するのが良さそうだ。本番環境で利用するには時期尚早って感じかな。

Hands-onスタート

スクリーンショット 2022-05-03 12.21.12.png
スクリーンショット 2022-05-03 12.21.47.png
スクリーンショット 2022-05-03 12.22.06.png
→はい、完成!!!ではURLを叩いて実行してみましょう!!

スクリーンショット 2022-05-03 12.22.25.png
→はい、HTTP通信できました!!!超簡単。1分で関数が作れるのは嬉しいな!!!

コラム: APIGateWay+Lambdaのパターンは発生する??

HTTP通信のためにAPIGatewayを利用していた。今回のアップデートでLambdaがHTTP通信対応するようになったが、API Gateway+Lambdaのパターンは発生するのか?その疑問に対して、いい感じの表があったので、添付しておく。出典:ServerlessFramework

スクリーンショット 2022-05-03 12.40.34.png

【考察】
・料金の順番はLambda(FunctionURL)>API Gateway(HTTP)>API Gateway(REST)。やはり、API Gatewayを利用しない分、当然のことながら安い。ただ、100万リクエストで3.5ドル程度なので、考慮に値しないほどの差しかない。
・ドメインのカスタムがFunctionURLではできない。これはなかなかネックかな。独自ドメインを付与できないとドメインの管理がなかなか面倒になる。
・Cachingが効かない。まぁ、当たり前か。
・CloudWatchのaccessログが出ない???ほんま???これはきついなぁ。。
・timeoutの制限が大幅増加(29秒→15分)。これ嬉しい??そもそも1分超えるようなリクエストをHTTP通信でやることがアンチパターンだから、恩恵はほぼない気がする。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?