gpt4 book ai didi

aws-cloudformation - CloudFormation Route53 - 更新现有记录集

转载 作者:行者123 更新时间:2023-12-04 16:05:48 25 4
gpt4 key购买 nike

我正在尝试编写一个蓝/绿 CFT,用于拆除并重建 EC2 实例、ELB,并使用此 ELB 的更新 DNS 名称更新 Route53 记录别名。

如果别名记录不存在,我可以在创建 EC2 实例并且 ELB 附加这些实例后正确创建别名记录集。但是,如果记录集以旧的 ELB DNS 名称存在,则 CFT 失败并显示“别名记录集存在”。当然 - 我希望在运行完整的 CFT 时使用更新的 ELB DNS 名称来更新此记录。有什么建议吗?

    "HostRecord" : {
"Type" : "AWS::Route53::RecordSet",
"Properties" : {
"HostedZoneName" : "REDACTED",
"Comment" : "Updates the ELB DNS name into Route 54 recordset.",
"Name" : "REDACTED",
"Type" : "A",
"AliasTarget" : {
"DNSName" : { "Fn::GetAtt" : [ "ESClusterELB" , "DNSName" ] },
"HostedZoneId" : { "Fn::GetAtt" : [ "ESClusterELB" , "CanonicalHostedZoneNameID" ] }
}

最佳答案

不支持从 2 个不同的 CloudFormation 堆栈管理单个资源(例如 RecordSet)。

我对您的用例有一些建议:

  1. 我建议您独立于用于蓝/绿的模板来管理记录。创建/更新绿色后,并且您希望将记录解析为绿色 ELB,您只需更新管理 RecordSet 的堆栈,将其设置为适当的别名即可。
  2. 使用与第一个建议相同的基础。您可以使用在创建/更新堆栈时由 CloudFormation 触发的 SNS 通知来自动执行此操作。将其与 Lambda 结合使用,您可以动态更新控制 RecordSet 的堆栈。
  3. 您可以创建 custom resource仅用于将记录集更新为所需的别名。

关于aws-cloudformation - CloudFormation Route53 - 更新现有记录集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48832132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com