在 AWS DNS/Route 53 条记录中使用比较逻辑
Using comparative logic in AWS DNS/Route 53 records
我们在 AWS 中设置了站点。当我们为新版本调出一个堆栈时,我们使其在版本 URL 上可用。即
V1 在 v1.mysite.com
可用
V2 在 v2.mysite.com
可用
等等
是否可以创建一个自动指向我站点的最新部署版本的 DNS 条目? 因此,在我部署 V1 之后,我会有两个 DNS 条目:
v1.mysite.com
转到其堆栈的 IP
mysite.com
重定向到 v1.mysite.com
然后当我部署 V2 时,mysite.com
现在重定向到 v2.mysite.com
,而无需我手动编辑 DNS 条目。
一般来说,我能否自动生成 DNS 条目或生成某种通配符 DNS 条目以始终指向 AWS 当前可用的我站点的最高编号版本?它应该查看所有当前可用 DNS entries/stacks V
之后的数字,并使 mysite.com
指向数字最高的数字。
我们正在使用 CloudFormation 来创建我们的堆栈和我们的 DNS (Route 53) 条目,因此在这些脚本中放置任何逻辑也可以。
这不是 DNS 本身的一部分,因此 Route53 上的任何内容都不太可能支持它。最好的选择是在新实例启动或提升为生产实例时运行的脚本。使用 boto:
非常简单
- 新建一个
boto.route53.record.Record
- 新建一个
boto.route53.record.ResourceRecordSets
- 使用操作
UPSERT
和您的记录添加更改记录
- 提交
ResourceRecordSets
(在失败时简单重试)
get_change()
直到 Route53 回复 INSYNC
- 根据您的应用程序,您可能还需要等待亚马逊的所有权威 DNS 服务器 (
dns.resolver.query('your-domain', 'NS')
) 了解您的更改。
我们最终必须在部署新堆栈之前将其设为手动步骤。如果需要在 mysite.com
重新分配新堆栈,部署者必须手动删除现有映射。然后云形成脚本将创建新的 DNS 映射。
不理想,但比我想的云形成脚本中的大量混乱逻辑要好。
我们在 AWS 中设置了站点。当我们为新版本调出一个堆栈时,我们使其在版本 URL 上可用。即
V1 在 v1.mysite.com
V2 在 v2.mysite.com
等等
是否可以创建一个自动指向我站点的最新部署版本的 DNS 条目? 因此,在我部署 V1 之后,我会有两个 DNS 条目:
v1.mysite.com
转到其堆栈的 IP
mysite.com
重定向到 v1.mysite.com
然后当我部署 V2 时,mysite.com
现在重定向到 v2.mysite.com
,而无需我手动编辑 DNS 条目。
一般来说,我能否自动生成 DNS 条目或生成某种通配符 DNS 条目以始终指向 AWS 当前可用的我站点的最高编号版本?它应该查看所有当前可用 DNS entries/stacks V
之后的数字,并使 mysite.com
指向数字最高的数字。
我们正在使用 CloudFormation 来创建我们的堆栈和我们的 DNS (Route 53) 条目,因此在这些脚本中放置任何逻辑也可以。
这不是 DNS 本身的一部分,因此 Route53 上的任何内容都不太可能支持它。最好的选择是在新实例启动或提升为生产实例时运行的脚本。使用 boto:
非常简单- 新建一个
boto.route53.record.Record
- 新建一个
boto.route53.record.ResourceRecordSets
- 使用操作
UPSERT
和您的记录添加更改记录 - 提交
ResourceRecordSets
(在失败时简单重试) get_change()
直到 Route53 回复INSYNC
- 根据您的应用程序,您可能还需要等待亚马逊的所有权威 DNS 服务器 (
dns.resolver.query('your-domain', 'NS')
) 了解您的更改。
我们最终必须在部署新堆栈之前将其设为手动步骤。如果需要在 mysite.com
重新分配新堆栈,部署者必须手动删除现有映射。然后云形成脚本将创建新的 DNS 映射。
不理想,但比我想的云形成脚本中的大量混乱逻辑要好。