【问题标题】:AWS Cloudformation - reference tagAWS Cloudformation - 参考标签
【发布时间】:2015-03-04 17:47:42
【问题描述】:

我一直在考虑迁移到 CF 以获得更简化的基础架构和代码部署,但我遇到了障碍。 我希望将存储在 s3 上的 Web 代码部署到 iis Web 服务器团队。我希望能够通过更改自动缩放组中的标签来升级代码库,但我无法找到一种方法来“读取”将分配给 ec2 实例以在 AWS 中使用的标签: :CloudFormation::初始化。 这里的理论是,我们不必在每次滚动版本或回滚时更新 CF,只需自动缩放组上的标签(然后按比例放大和缩小以触发 ec2 实例重建)

即(显然“Ref”不是正确的方式)

"sources" : {
  "c:\\inetpub\\wwwroot\\" :  { 
    "Fn::Join" : ["",[{"Ref": "S3_Repo"},{"Ref": "Codebase"},{"Ref":"Version"}, ".zip"  ]]  
  }
},

注意:静态路径在这里可以正常工作,如果我将 S3_Repo、Codebase 和版本定义为参数,也可以正常工作。

【问题讨论】:

  • 您有什么理由避免更新 CloudFormation 堆栈?

标签: amazon-web-services amazon-ec2 amazon-s3 amazon-cloudformation


【解决方案1】:

CloudFormation 不提供从 EC2 实例读取标签的方法 - 它只允许您设置它们。

我建议您仅使用 Auto Scaling 组的新标签值更新 CloudFormation 堆栈,然后进行缩减和扩展以使用更新的构建创建新的 EC2 实例(正如您在问题中所建议的那样)。

在 CloudFormation 中更改 Auto Scaling 组的“Tags”属性不会中断该组的操作 - 有关详细信息,请参阅文档 here。

【讨论】:

  • 这就是我最终选择这个的地方,我避免更新 CF-Stack 的原因正是你的建议,我担心它会拉低堆栈,但我上周的测试表明绝对不是这种情况 - 更改我的部署脚本以更新堆栈变量目前正在工作 - 我会奖励你答案,因为这是我采取的方法(尽管我自己到达那里!)跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 2020-01-15
  • 1970-01-01
  • 2018-01-29
  • 2018-12-13
  • 2023-03-28
相关资源
最近更新 更多