表記イベントに参加してみました。
Lambda Function URLsが何者かは、公式では
https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html
とか
https://aws.amazon.com/jp/blogs/news/announcing-aws-lambda-function-urls-built-in-https-endpoints-for-single-function-microservices/
があるようですが、下記クラメソさんブログ
https://dev.classmethod.jp/articles/try-aws-lambda-function-urls/
の冒頭文が最もピンと来ました。
API Gatewayを介さずにLambdaだけでWebAPIができるということで、かなりラクになるんかな?
(これまでLambdaを触る機会が恵まれず、手間具合がようわからん)
ハンズオンシナリオは
https://github.com/Kenichiro-Wada/aws-lambda-functions-urls-for-aws-cdk
の手順をこなしていくというもの。
AWS CDKとLambda Function URLsを組み合わせて作っていくと認識しました。
最後の片づけを除けば、内容をなぞっていけば動作に困ることはありませんでした。
以下、拾えた分の補足事項や留意点のメモ。
- Cloud9の初期設定時のインスタンスタイプはt3.small以上を選択すること(デフォルトのt2.microだと、CDKコマンド実行時にメモリ不足で落ちる)
- CDKのホットスワップデプロイを使ってLambda関数を数秒で置き換えることができるが、本来のCDKデプロイとの差異が大きくなるので乱用しないこと(利用は開発時のみにして、運用時はきちんとcdk deployする方がよい)
※ホットスワップデプロイの言及はこの辺っぽい
https://aws.amazon.com/jp/about-aws/whats-new/2021/10/aws-cdk-releases-hotswap-rollback-control/
https://dev.classmethod.jp/articles/cdk-watch-mode/
- CDKにはL1 ConstructsとL2 Constructsという2つのレイヤーがあり、今現在ではL2>L1の優先順でやればよい
※Constructsについてはこの辺りを読めばいいみたい
https://docs.aws.amazon.com/cdk/v2/guide/constructs.html
https://dev.classmethod.jp/articles/aws-cdk-layer/