AWS CloudFormationのNACL定義で、TypeやPort RangeをALLにする書き方


 


今週はCloudFormationと戯れる毎日でございました。

普段、Network ACLはデフォルト値とし、セキュリティグループでアクセス制御をするのが

個人的な好みなのですが、顧客要件とあらば仕方ありませぬ。

 
特定のCIDRへのアクセスを全許可したり、TCPだけ全許可したり、

といった場合の記述をした際、一瞬「ん?」となりましたので、

忘れないようにメモを残しておこうと思いました。

 

TCPを全許可

tcp_all_20160318

特定の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" }
      }
    },

 

全ポートの通信を明示的に許可

type_all_20160318

特定の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)
吉田 真吾 今井 智明 大瀧 隆太 松井 基勝 冨永 善視 藤原 吉規 大栗 宗
技術評論社
売り上げランキング: 2,224

この記事はAmazon Web Servicesに投稿されました. このパーマリンクをブックマークする。 コメントとトラックバックは現在受け付けていません。

関連記事