【问题标题】:Not able to update cloudformation stack when having AWS SNS:Topic Resource拥有 AWS SNS:主题资源时无法更新 cloudformation 堆栈
【发布时间】:2016-03-23 16:48:37
【问题描述】:

我创建了一个 cloudformation 模板,它创建了一个 SNS::Topic 和一堆其他资源。现在的问题是,当我尝试更新堆栈时,它会失败并出现以下错误

"Update to resource type AWS::SNS::Topic is not supported"

堆栈策略是:

{
  "Statement" : [
    {
      "Effect" : "Deny",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*",
      "Condition" : {
        "StringEquals" : {
          "ResourceType" : ["AWS::SNS::Topic", "AWS::EC2::Subnet"]
        }
      }
    },
    {
      "Effect" : "Allow",
      "Action" : "Update:*",
      "Principal": "*",
      "Resource" : "*"
    }
  ]
}

CF 模板是

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "......",
  "Resources": {
    "MySNSTopic":{
      "Type":"AWS::SNS::Topic",
      "Properties":{
        "DisplayName": "",
        "Subscription": [ ],
        "TopicName": { "Fn::Join": [ "-", [ "Simple", "sns", "topic" ] ] }
      }
    }
  }

我可以更改什么(甚至是可破解的)以让 aws 在不删除/修改 sns_topic 的情况下完成 aws 更新堆栈?

【问题讨论】:

    标签: amazon-web-services amazon-sns amazon-cloudformation


    【解决方案1】:

    我认为错误消息Update to resource type AWS::SNS::Topic is not supported不是抱怨您的权限,而是抱怨 CloudFormation 模板对 SNS 主题的限制。

    documentation for SNS resource templates 声明如下:

    重要

    创建 Amazon SNS 主题后,您无法更新其 使用 AWS CloudFormation 的属性。您可以修改 Amazon SNS 使用 AWS 管理控制台主题。

    相反,您可以尝试添加新主题,切换客户端以使用新主题,然后删除旧主题。如果你是偏执狂,你可以在单独的更新中进行。

    【讨论】:

    • 我的问题是我没有修改 SNS 主题部分。因此它不应该抱怨它。
    • 您想要更新的模板发生了什么变化?您可以将模板与旧版本进行比较吗?
    【解决方案2】:

    如果您尝试更改主题订阅,也会发生这种情况。如果您可以选择,只需更改模板中的主题名称即可重新创建。

    【讨论】:

      猜你喜欢
      • 2019-04-07
      • 2019-06-22
      • 2017-12-14
      • 2019-11-17
      • 2021-07-06
      • 2020-06-26
      • 1970-01-01
      • 2018-10-27
      • 2020-08-30
      相关资源
      最近更新 更多