Lamveryが速攻でLambdaのVPCサポートに対応したぞ!
本題
念願の(?)LambdaのVPCサポートが来ましたね!
これはもうすぐにでも使いたいやつなので、速攻で対応しました。
v0.12.0~対応済みとなっております。
他にも随時機能が増えたりしてるので、以下の記事やREADMEをご確認ください。
設定ファイルはこんな感じ
vpc_config
以下が該当部分です。
今後、SecurityGroupとかIDじゃなくて名前で解決できるようにしたい。
profile: private region: us-east-1 versioning: true default_alias: test configuration: name: lamvery-test runtime: python2.7 role: {{ env['AWS_LAMBDA_ROLE'] }} handler: lambda_function.lambda_handler description: This is sample lambda function. timeout: 10 memory_size: 128 vpc_config: subnets: - subnet-cadf2993 security_groups: - sg-4d095028
補足
VPC内でのLambdaの起動(や削除等も含めた諸々)にはENIに関する権限が必要になります。
以下の様なIAM Role Policyの設定が必要です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:AttachNetworkInterface", "ec2:DetachNetworkInterface" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<region>:<account-number>:key/<key-id>" ] } ] }
最速だろコレは!