Subscribed unsubscribe Subscribe Subscribe

AWS Lambdaのベスト・プラクティス

Lambdaを使用する際にはベストプラクティスが何点かあるようですが、特に重要な点をピックアップします。

Instantiate AWS clients and database clients outside the scope of the handler to take advantage of connection re-use.

var AWS = require('aws-sdk');
var dynamo = new AWS.DynamoDB();

exports.handler = function(event, context) {
  .....
}

Lower costs and improve performance by minimizing the use of startup code not directly related to processing the current event.

必要でない場合はVPCを使用しない

できるだけVPCを使わないようにして、S3やDynamoDBを使用する。

例外処理

Pythonの場合はraise
NodeJS4.3の場合callbackする

エラー文言の場合は[BadRequest]等を付けて意図したHTTPステータスコードが返るようにする。  

参考

Best Practices for Working with AWS Lambda Functions - AWS Lambda
Error Handling Patterns in Amazon API Gateway and AWS Lambda | AWS Compute Blog
AWS Black Belt Techシリーズ AWS Lambda Updates