如果我在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并且仅使用它,但是未命名的默认值一直存在,并且它让我觉得我没有办法为它分配标签明确它的目的是什么。
答案 0 :(得分:1)
简短回答是:"你不能"
云形成旨在管理和维护模板中声明的资源。 不能更改/删除不属于模板的资源。
因此,您可以在默认的nACL中添加nACL规则,但规则编号不是100。
RGDS