amazon-ec2 – 如何使用CloudFormation编辑VPC的默认网络ACL?

如果我在CloudFormation模板中声明以下资源,

"CoolVpc": {
  "Type": "AWS::EC2::VPC",
  "Properties": {
    "CidrBlock": "10.10.0.0/16",
    "Tags": [
      {"Key": "Name", "Value": "cool-vpc"},
    ]
  }
}

… CloudFormation将尽职尽责地遵守并创建我的VPC,作为流程的一部分,它将自动创建默认网络ACL以与其一起使用.我可以使用GetAtt函数轻松引用该ACL,如:

"TestSubnetAcl": {
  "Type": "AWS::EC2::SubnetNetworkAclAssociation",
  "Properties": {
    "NetworkAclId": {"Fn::GetAtt" : ["CoolVpc" , "DefaultNetworkAcl"]},
    "SubnetId": {"Ref": "TestSubnet"}
  }
}

要么

"AclRule100": {
  "Type": "AWS::EC2::NetworkAclEntry",
  "Properties": {
    "CidrBlock": "0.0.0.0/0",
    "Egress": "true",
    "Protocol": "-1",
    "RuleAction": "allow",
    "RuleNumber": "100",
    "NetworkAclId": {"Fn::GetAtt" : ["CoolVpc" , "DefaultNetworkAcl"]}
  }
}

…但是如果我想编辑默认网络ACL本身呢? (是的,我知道唯一可以改变的是标签,但这正是我想编辑的内容.)

我已经尝试在模板中添加一个新的NetworkAcl并且仅使用它,但是未命名的默认值一直存在,并且它让我觉得我没有办法为它分配标记,这清楚了它的目的是什么.

最佳答案 简短的回答是:“你不能”

云形成旨在管理和维护模板中声明的资源.
不能更改/删除不属于模板的资源.

因此,您可以在默认的nACL中添加nACL规则,但RuleNumber不是100.

RGDS

点赞