amazon-cloudformation - 我可以在 CloudFormation 中创建一个运行 aws cli 命令来更新注册域的名称服务器的 lambda 函数吗?
问题描述
我在我的 Route53 中注册了一个域 example.com,现在我创建了一个 CloudFormation 堆栈,该堆栈创建了一个名为 example53 的托管区域,一个 A 记录 example.com 将流量路由到我的 ALB 和一个应该验证 example.com 域的 ACM 资源。
问题是,如果名称服务器错误并且在 ACM 资源之前我需要使用 NS 记录在我的托管区域中的名称服务器更新在我的 Route53 中注册的域的名称服务器,它将永远不会验证域。
没有 CloudFormation 域资源操作,但有一个 AWS CLI 命令可以更改域的名称服务器,有没有办法可以使用在 CloudFormation 中创建的 Lambda 资源运行该 AWS CLI 命令?
我用 Makefile 运行堆栈,Makefile 可以运行 AWS CLI 命令并实现诸如首次创建 HostedZone 的条件。
解决方案
您可以在 CloudFormation 上创建自定义资源。该资源将采用lambda 函数的形式。该函数将使用 AWS 开发工具包,例如boto3
对您需要的 R53 资源执行操作。
由于该功能是由您开发的,而不是 AWS 提供的,因此自定义资源可以做任何您想做的事情。它不受常规 CloudFormation 缺点的限制。
推荐阅读
- javascript - 验证 POST 请求
- swift - 快速显示 QLPreviewPanel
- php - 如果请求变量在 laravel eloquent 中为空,请不要更改 mysql 列值
- vue.js - 如何将数据从组件传递到 vue 上的另一个组件?
- javascript - Angularfire2使用新应用程序实例创建用户显示错误auth()未找到
- oracle - 无法将字符串 unicode(1000) 插入到 oracle 中的 nvarchar2(2000) 列
- r - Quantmod:一次为多个代码创建新列
- php - XMLReader 获取节点名称
- python - 为什么我的 selenium IDE 运行良好,而相同的 python 命令却不行?
- r - 在 bookdown 中包含 R 的自定义块