【速報】CloudFormationのインラインコードでNode.js10.xが利用できます

2019.11.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

昨日、シーズンインした渡辺です。

全国1000万のLambdaファンの皆様、おはようございます。 Lambda RuntimeのNodejs8.10のEOLが近づいていますが、如何お過ごしでしょうか?

既にアナウンスがあるように、2019年末以降、LambdaでNodejs8.10をランタイムとして選択できなくなります。 アップデートも来年2月にはできなくなるようです。 ところが、CloudFormationのインラインコードでLambdaを作る場合、Nodejs10.xが未対応で困っている人は多いのではないでしょうか・・・自分もその1人でした。 ロードマップには対応予定はあるものの、対応されずにNodejs8.10のまま、アップデートできなかったかと思います。

Nodejs10.x 対応しています!

何時の間にか対応されているようです。

---
AWSTemplateFormatVersion: 2010-09-09
Description: Nodejs10.x
Resources:
LambdaRole:
Type: AWS::IAM::Role
Properties:
Path: /service-role/
RoleName: lamba_role
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service:
- lambda.amazonaws.com
Action:
- sts:AssumeRole
Policies:
- PolicyName: Policy
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- logs:CreateLogGroup
- logs:CreateLogStream
- logs:PutLogEvents
Resource: "*"
Lambda:
Type: AWS::Lambda::Function
Properties:
FunctionName: hello_10
Handler: index.handler
Role: !GetAtt LambdaRole.Arn
Runtime: nodejs10.x
Code:
ZipFile: !Sub |
exports.handler = async (event) => {
console.log(JSON.stringify(event, null, 2));
return 'hello';
}

やったね!