2017-02-03 15 views
0

我们有一个创建我们的MS SQL Server数据库的cloudfrormation脚本。您可以在使用Lambda的Cloudformation创建的RDS上创建架构吗?

我们有一个lambda函数,我们运行它从S3加载模式,并在我们新创建的数据库上运行它。

在运行它之前,我们必须用新的数据库安全组/ VPC更新Lambda函数。我们正在使用“测试”模式手动运行它。

是否可以从cloudformation脚本自动运行Lambda函数?

似乎最大的问题是将安全组/ VPC添加到Lambda函数,但也许我们可以在cloudformation脚本中创建Lambda函数并同时分配安全性。

回答

0

是的,可以从CloudFormation模板自动调用Lambda函数。完成此操作的最佳方法是创建一个Custom Resource,它在创建/更新/删除自定义资源时执行Lambda函数。 (为event.RequestType == 'Create'添加一个条件到您的Lambda函数只执行您想要的逻辑)。

如果使用AWS::Lambda::Function资源创建lambda函数,你可以指定VpcConfig属性来配置与lambda函数相关的SecurityGroupIdsSubnetIds访问您的数据库。

还请注意Configuring a Lambda function for Amazon VPC Access所需的其他注意事项。使用自定义资源还需要外拨Internet Access for Lambda FunctionsVPC Endpoint,允许Lambda功能将回叫响应发送到S3存储桶。

+0

谢谢你帮我搞定这个工作。我试图使用预定义的安全资源,以便重用Lambda函数。这篇文章对于实现这个目标也很有用:[我们如何使用用Java编写的AWS Lambda函数访问和响应CloudFormation自定义资源?](http://stackoverflow.com/questions/32811947/how-do-we-访问和响应到cloudformation定制资源,利用-AN-AWS-LAM)。 –