今週はCloudFormationと戯れる毎日でございました。
普段、Network ACLはデフォルト値とし、セキュリティグループでアクセス制御をするのが
個人的な好みなのですが、顧客要件とあらば仕方ありませぬ。
特定のCIDRへのアクセスを全許可したり、TCPだけ全許可したり、
といった場合の記述をした際、一瞬「ん?」となりましたので、
忘れないようにメモを残しておこうと思いました。
TCPを全許可
特定のIPアドレスレンジへのALL TCPを全許可するには、
Port Rangeで全ポートを指定。
"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" } } },
全ポートの通信を明示的に許可
特定のIPアドレスレンジに対して、明示的に、とにかく全部通したい場合。
"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" } } },
ProtocolとPortRangeを-1にするところがポイント。
CloudFormationは書くのはめんどくさいが、再利用性が高いのがいいですね。
AWSエキスパート養成読本[Amazon Web Servicesに最適化されたアーキテクチャを手に入れる! ] (Software Design plus)
posted with amazlet at 16.03.18
吉田 真吾 今井 智明 大瀧 隆太 松井 基勝 冨永 善視 藤原 吉規 大栗 宗
技術評論社
売り上げランキング: 2,224
技術評論社
売り上げランキング: 2,224