lambda - 您可以使用 Lambda 在通过 Cloudformation 创建的 RDS 上创建架构吗?

标签 lambda amazon-rds aws-cloudformation

我们有一个用于创建 MS SQL Server 数据库的 cloudformation 脚本。

我们运行一个 lambda 函数来从 S3 加载架构并针对我们新创建的数据库运行它。

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

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

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

最佳答案

是的,可以从 CloudFormation 模板自动调用 Lambda 函数。实现此目的的最佳方法是创建 Custom Resource它在创建/更新/删除自定义资源时执行您的 Lambda 函数。 (向您的 Lambda 函数添​​加一个条件,以便仅在 event.RequestType == 'Create' 时执行您所需的逻辑)。

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

另请注意 Configuring a Lambda function for Amazon VPC Access 所需的其他注意事项。使用自定义资源还需要出站 Internet Access for Lambda Functions ,或 VPC Endpoint允许 Lambda 函数将回调响应发送到 cloudformation-custom-resource-response-[region] S3 存储桶。

关于lambda - 您可以使用 Lambda 在通过 Cloudformation 创建的 RDS 上创建架构吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42015394/

相关文章:

c# - List<T>.FindAll 的结果是否保证与原始列表的顺序相同?

amazon-web-services - 通过 Beanstalk 部署的 Docker 容器无法连接到 RDS 上的数据库

java - EBS : Access Denied when trying from Java application in Tomcat 中的 Amazon RDS 实例

amazon-web-services - AWS Cloudformation 从托管区域 ID 获取托管区域名称

amazon-web-services - 如何在Cloudformation中使用Route53创建动态数量的子域?

amazon-web-services - SQS订阅SNS : How to specify multiple TopicArns in CloudFormation?

Python:动态定义函数

parsing - 为什么使用 lambda 而不是模式匹配?

c# - 将 2 个参数的 Lambda 表达式转换为 1 个参数的 Lambda 表达式(指定一个参数)

postgresql - 即使启用了 pgcrypto 扩展,AWS RDS Postgres 加密函数也不起作用