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>"
]
}
]
}
最速だろコレは!