AWS Cloudformation - 参考标签
AWS Cloudformation - reference tag
我一直在考虑迁移到 CF 以获得更精简的基础架构和代码部署,但我遇到了障碍。
我正在寻找将存储在 s3 上的 Web 代码部署到一组 iis Web 服务器。我希望能够通过更改自动缩放组中的标签来升级代码库,但我无法找到一种方法来 "read" 将分配给 ec2 实例以供使用的标签AWS::CloudFormation::Init。
这里的理论是,我们不必在每次滚动版本或回滚时更新 CF,只需更新自动缩放组上的标签(然后按比例放大和缩小以触发 ec2 实例重建)
即(显然 "Ref" 不是去这里的正确方法)
"sources" : {
"c:\inetpub\wwwroot\" : {
"Fn::Join" : ["",[{"Ref": "S3_Repo"},{"Ref": "Codebase"},{"Ref":"Version"}, ".zip" ]]
}
},
注意:静态路径在这里工作正常,如果我定义 S3_Repo、代码库和版本作为参数,那也工作正常。
CloudFormation 不提供从 EC2 实例读取标签的方法 - 它只允许您设置标签。
我建议仅使用 Auto Scaling 组的新标签值更新 CloudFormation 堆栈,然后进行缩小和放大以使用更新的构建创建新的 EC2 实例(如您在问题中所建议的那样)。
在 CloudFormation 中更改 Auto Scaling 组的 "Tags" 属性 不会中断该组的操作 - 有关详细信息,请参阅文档 here。
我一直在考虑迁移到 CF 以获得更精简的基础架构和代码部署,但我遇到了障碍。 我正在寻找将存储在 s3 上的 Web 代码部署到一组 iis Web 服务器。我希望能够通过更改自动缩放组中的标签来升级代码库,但我无法找到一种方法来 "read" 将分配给 ec2 实例以供使用的标签AWS::CloudFormation::Init。 这里的理论是,我们不必在每次滚动版本或回滚时更新 CF,只需更新自动缩放组上的标签(然后按比例放大和缩小以触发 ec2 实例重建)
即(显然 "Ref" 不是去这里的正确方法)
"sources" : {
"c:\inetpub\wwwroot\" : {
"Fn::Join" : ["",[{"Ref": "S3_Repo"},{"Ref": "Codebase"},{"Ref":"Version"}, ".zip" ]]
}
},
注意:静态路径在这里工作正常,如果我定义 S3_Repo、代码库和版本作为参数,那也工作正常。
CloudFormation 不提供从 EC2 实例读取标签的方法 - 它只允许您设置标签。
我建议仅使用 Auto Scaling 组的新标签值更新 CloudFormation 堆栈,然后进行缩小和放大以使用更新的构建创建新的 EC2 实例(如您在问题中所建议的那样)。
在 CloudFormation 中更改 Auto Scaling 组的 "Tags" 属性 不会中断该组的操作 - 有关详细信息,请参阅文档 here。