【问题标题】:Updating the LaunchConfig using Cloudformation使用 Cloudformation 更新 LaunchConfig
【发布时间】:2018-01-30 03:30:22
【问题描述】:

我们有一组 Cloudformation 模板来构建多个模块并维护基本模板以保存 AMI ID、VPC ID 等常见属性。Modulewise 模板将进行函数调用以从基本堆栈中获取所需的属性。下面是 LaunchConfig 创建属性的示例。

"Properties" : {
    "AssociatePublicIpAddress" : { "Fn::GetAtt" : [ "NetworkStackInfo", "UsePublicIP" ] },
    "KeyName"                  : { "Fn::GetAtt": [ "BaseStackInfo", "StackKey" ] },
    "InstanceMonitoring"       : { "Fn::GetAtt": [ "BaseStackInfo", "EnableDetailedMonitoring" ] },
    "ImageId" : { "Fn::GetAtt": [ "BaseStackInfo", "MVCustomAMI" ] } 
}

我正在尝试更新 AMI id、VPC id 并重新构建所有堆栈。我已经完成了基本堆栈更新,它反映了堆栈输出中的新 AMI/VPC ID。现在,当我尝试更新模块堆栈时,它没有检测到 Base 堆栈中的新属性更改,因此当我尝试更新堆栈时它没有采取任何操作。

有人可以帮我找出我是否遗漏了任何步骤吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 autoscaling


    【解决方案1】:

    回答我的问题,以便对某人有所帮助。

    Cloudformation 通常会为任何堆栈更新操作缓存相关堆栈的输出。除非相应的资源被重命名或更改,否则不会提取新值,而是使用现有的缓存条目。
    为了解决这个问题,我们需要重命名逻辑资源名称或向资源添加一些测试属性,以便它会删除该资源并从该依赖堆栈中提取最新值。

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 2019-05-31
      • 2016-08-04
      • 2021-03-19
      • 2018-10-02
      • 2018-06-03
      • 2022-07-08
      • 2021-06-27
      • 1970-01-01
      相关资源
      最近更新 更多