AWS CloudFormationのNACL定義で、TypeやPort RangeをALLにする書き方
今週はCloudFormationと戯れる毎日でございました。
普段、Network ACLはデフォルト値とし、セキュリティグループでアクセス制御をするのが
個人的な好みなのですが、顧客要件とあらば仕方ありませぬ。
特定のCIDRへのアクセスを全許可したり、TCPだけ全許可したり、
といった場合の記述をした際、一瞬「ん?」となりましたので、
忘れないようにメモを残しておこうと思いました。
TCPを全許可
特定のIPアドレスレンジへのALL TCPを全許可するには、
Port Rangeで全ポートを指定。
[text highlight=”10″]
“InboundAllTcpNaclEntry” : {
“Type” : “AWS::EC2::NetworkAclEntry”,
“Properties” : {
“NetworkAclId” : { “Ref” : “AllPermitNacl” },
“RuleNumber” : “95”,
“Protocol” : “6”,
“RuleAction” : “allow”,
“Egress” : “false”,
“CidrBlock” : “XXX.XXX.XXX.0/XX”,
“PortRange” : { “From” : “0”, “To” : “65535” }
}
},
[/text]
全ポートの通信を明示的に許可
特定のIPアドレスレンジに対して、明示的に、とにかく全部通したい場合。
[text highlight=”6,10″]
“InboundAllNaclEntry” : {
“Type” : “AWS::EC2::NetworkAclEntry”,
“Properties” : {
“NetworkAclId” : { “Ref” : “AllPermitNacl” },
“RuleNumber” : “990”,
“Protocol” : “-1”,
“RuleAction” : “allow”,
“Egress” : “false”,
“CidrBlock” : “XXX.XXX.XXX.0/XX”,
“PortRange” : { “From” : “-1”, “To” : “-1” }
}
},
[/text]
ProtocolとPortRangeを-1にするところがポイント。
CloudFormationは書くのはめんどくさいが、再利用性が高いのがいいですね。
技術評論社
売り上げランキング: 2,224