如何使用CloudFormation编辑VPC的默认网络ACL?

时间:2015-11-20 21:38:18

标签: amazon-ec2 amazon-vpc amazon-cloudformation

如果我在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本身怎么办? (是的,我知道唯一可以改变的是Tags,但这正是我想编辑的内容。)

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

1 个答案:

答案 0 :(得分:1)

简短回答是:"你不能"

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

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

RGDS