そろそろおなじみになったであろうServerless、便利なので使ってる人も多いだろうが、実は見落としがちな注意点がある。
というのは、Serverlessのデフォルト設定でmemorySize
が1024
(MB)に設定されている。が、デフォルトのテンプレートで生成されるserverless.yml
にはその設定が何も書かれていない。
Lambdaを使うのに一般的にそこまで必要にならないことも多いだろうし、無駄な課金に繋がる可能性がある。(といっても、Lambdaのコストは非常に低いので気になることは無いだろうが。)
変更
サービス全体に適用するなら、ドキュメントに書かれているようにProviderに以下のようにしてやればよい。
provider:
name: aws
runtime: nodejs4.3
memorySize: 512
Serverless Framework - AWS Lambda Guide - Services
あるいは、函数毎に上書きすることも出来る。
functions:
functionOne:
handler: handler.functionOne
memorySize: 512 # function specific
Serverless Framework - AWS Lambda Guide - Functions
serverless logs
で実際の使用量(Max Memory Used
)をみるなどしながら適切なサイズにしてやるといいだろう。