如果我在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