繁体   English   中英

使用 CloudFormation 更新而不是替换 ECS 任务定义

[英]Updating rather than replacing ECS Task Definition with CloudFormation

在 CloudFormation 中更新 TaskDefinition 时,文档说发生了替换操作 - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html

有没有办法让它成为一个新的修订版? 我应该使用family参数吗? 有任务定义限制吗? 否则,我最终会得到大量不活动的定义。

ContainerDefinitions:
  - Name: container
    Essential: 'true'
    Image: image:tag
    PortMappings:
      - ContainerPort: 80
        HostPort: 80
        Protocol: 'tcp'
    TaskRoleArn: 'arn:aws:iam::role'

是的,为了将更改放在同一任务定义的新修订版中,您应该使用Family参数。 引自官方文件

家庭

此任务定义注册到的族的名称。 一个族将多个版本的任务定义分组。

CloudFormation仍会将此视为“替换”,并将删除旧版本,但如果您使用Family参数,则不会创建新的任务定义。

实际上,如上所述的参数 Family 不起作用,即使您通知它,任务定义也会被替换,但我在其他线程中看到您可以在模板中使用以下 sintaxe 来完成:

...
"Type": "AWS::ECS::TaskDefinition", 
"UpdateReplacePolicy": "Retain", 
"Properties": {
....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM