Slide 1

Slide 1 text

AWS Network FirewallでSquidを滅ぼす AWS事業本部コンサルティング部 2021/02/05 1 @mokocm

Slide 2

Slide 2 text

2 セッションタイトル変更 AWS Network FirewallでSquidを滅ぼす AWS Network FirewallでSquidを滅ぼそうとし たらTransit Gatewayがムズすぎた

Slide 3

Slide 3 text

3 ⾃⼰紹介 Moko クラスメソッド株式会社 AWS事業本部 コンサルティング部 ソリューションアーキテクト 2020 APN AWS Top Engineers ⼊社: 2019/07 本業/趣味: TerraformでAWS環境の構築 Twitter/GitHub: @mokocm 好きなAWSサービス: AWS Global Accelerator 好きな⾔語: TypeScript

Slide 4

Slide 4 text

4 re:Invent 2020 アツかったですね

Slide 5

Slide 5 text

5 AWS Network Firewall

Slide 6

Slide 6 text

6 AWS Network Firewall ・マネージドなNetwork Firewall ・これまでSquidなどで通信制御していた方は朗報 ・一元的なNetwork Hub / Network Firewallを実現可能 ・NAT Gatewayが無料で使える ・NAT Gateway: $0.045/h, $0.045/GB ・Network Firewall: $0.395/h, $0.065/GB →+$0.35/h, $0.02/GBでNetwork Firewallが利⽤可能 ※料金は2021/01/04時点でのus-east-1の価格 ※1AZの料金

Slide 7

Slide 7 text

7 今⽇話すこと ・Network Firewallの経路についておさらい ・Network Firewallのルールについて ・シンプルな構成で作ってみる ・Transit Gatewayを用いたパターンの紹介

Slide 8

Slide 8 text

8 構成図

Slide 9

Slide 9 text

9 Inbound

Slide 10

Slide 10 text

10 Inbound

Slide 11

Slide 11 text

11 Inbound ✅

Slide 12

Slide 12 text

12 Inbound

Slide 13

Slide 13 text

13 Inbound

Slide 14

Slide 14 text

14 Inbound

Slide 15

Slide 15 text

15 Outbound

Slide 16

Slide 16 text

16 Outbound

Slide 17

Slide 17 text

17 Outbound ✅

Slide 18

Slide 18 text

18 Outbound

Slide 19

Slide 19 text

19 Outbound

Slide 20

Slide 20 text

20 Outbound

Slide 21

Slide 21 text

21 AWS Network Firewall ・VPC Ingress Routing 2019/09 GA ・Gateway Load Balancer 2020/11 GA

Slide 22

Slide 22 text

22 Network Firewallで設定出来ること ・Stateless Rule Group ・5-tuple ルール ・Network ACLみたいな感じでプロトコル等でルール設定 ・StateFul Rule Group ・5-tuple ルール ・ドメインリストルール ・Suricata IPS 互換 ルール 詳細: https://dev.classmethod.jp/articles/aws-network-firewall/

Slide 23

Slide 23 text

23 とりあえず やってみよう︕

Slide 24

Slide 24 text

24 Network Firewall 最低限のレシピ ・VPC 1個 ・Subnet 2個 ・Internet Gateway 1個 ・RouteTable 3個 ・Network Firewall 1個 ・疎通確認用EC2 1台

Slide 25

Slide 25 text

25 作った構成 ※SingleAZ ※ Public IPが必要 ※一旦ルール設定なし

Slide 26

Slide 26 text

26 接続確認 $ curl -I https://example.com –m 10 HTTP/2 200 content-encoding: gzip accept-ranges: bytes age: 544590 cache-control: max-age=604800 content-type: text/html; charset=UTF-8 date: Thu, 04 Feb 2021 16:36:34 GMT etag: "3147526947" expires: Thu, 11 Feb 2021 16:36:34 GMT last-modified: Thu, 17 Oct 2019 07:18:26 GMT server: ECS (dcb/7EA7) x-cache: HIT content-length: 648 SSHできてインターネットにも出れる

Slide 27

Slide 27 text

27 Stateful Rule 投⼊

Slide 28

Slide 28 text

28 接続確認 $ curl -I https://example.com -m 10 curl: (28) Operation timed out after 10001 milliseconds with 0 out of 0 bytes received Drop!

Slide 29

Slide 29 text

29 Transit Gatewayと 合わせて使うパターン

Slide 30

Slide 30 text

30 元ネタ ・Deployment models for AWS Network Firewall https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/ ・とても詳細にまとまっているので導入の際は是非ご覧下さい ・3つのパターンが紹介されている ・Distributed AWS Network Firewall deployment model ・各VPCにNetwork FirewallをDeployする(TGWを使わない) ・Centralized deployment model ・TGWでVPC間/Ingress/Egress/on-premisesを 集約してNetwork Firewallに通す ・Combined centralized and distributed deployment model ・VPC内通信、Ingress、EgressのNetwork Firewallを別ける ・一部VPCは個別でIGWとNetwork Firewallがある

Slide 31

Slide 31 text

31 理解するまで4時間くらい掛かったので 10分で解説します

Slide 32

Slide 32 text

32 ⽐較 ・Distributed AWS Network Firewall deployment model ・各VPCにNetwork FirewallをDeployする(TGWを使わない) ・Centralized deployment model ・TGWでVPC間/Ingress/Egress/on-premisesを 集約してNetwork Firewallに通す ・Combined centralized and distributed deployment model ・VPC内通信、Ingress、EgressのNetwork Firewallを別ける ・一部VPCは個別でIGWとNetwork Firewallがある https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/

Slide 33

Slide 33 text

33 Distributed AWS Network Firewall deployment model https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/

Slide 34

Slide 34 text

34 ⽐較 ・Distributed AWS Network Firewall deployment model ・各VPCにNetwork FirewallをDeployする(TGWを使わない) ・Centralized deployment model ・TGWでVPC間/Ingress/Egress/on-premisesを 集約してNetwork Firewallに通す ・Combined centralized and distributed deployment model ・VPC内通信、Ingress、EgressのNetwork Firewallを別ける ・一部VPCは個別でIGWとNetwork Firewallがある https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/

Slide 35

Slide 35 text

35 Centralized deployment model https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/

Slide 36

Slide 36 text

36 ⽐較 ・Distributed AWS Network Firewall deployment model ・各VPCにNetwork FirewallをDeployする(TGWを使わない) ・Centralized deployment model ・TGWでVPC間/Ingress/Egress/on-premisesを 集約してNetwork Firewallに通す ・Combined centralized and distributed deployment model ・VPC内通信、Ingress、EgressのNetwork Firewallを別ける ・一部VPCは個別でIGWとNetwork Firewallがある https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/

Slide 37

Slide 37 text

37 Combined centralized and distributed deployment model https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/

Slide 38

Slide 38 text

38 Network Firewall + Transit Gateway設計の留意点 ・CIDRが被らないこと(あたりまえ) ・Transit GatewayはAttach用のサブネットを作ること(/28) ・Network Firewallのサブネットも/28でOK ・ELBのIngress集約はAutoScalingだと一工夫必要かも。 ・ex. AutoScalingがあるVPCにNLB配置 ・ Ingressの集約VPCにNLBのIPを ・詳細は後日ブログにします ・※構成図はSingleAZ, 実環境はMultiAZで組む

Slide 39

Slide 39 text

39 AWS Network Firewall まとめ ・Network Firewallはネットワークの門番 ・ManagedなのでSquidなどのProxy運用をしなくて良い ・トラフィックに対して完全に透過で、NATを行わない ・Route Table / VPC Ingress RoutingでVPCEに送る ・Transit Gatewayと合わせて使うと便利 ・経路の設計が難しい ・Squidやめる話をしようとしたのに気がついたらTGWの経路の話になってた ・東京リージョン対応待ってます!!!!

Slide 40

Slide 40 text

40 参考 [新サービス] VPC 向け AWS マネージドファイアウォールサービス「AWS Network Firewall」がリ リースされました https://dev.classmethod.jp/articles/aws-network-firewall/ AWS Network Firewall – New Managed Firewall Service in VPC https://aws.amazon.com/jp/blogs/aws/aws-network-firewall-new-managed-firewall-service-in- vpc/ Deployment models for AWS Network Firewall https://aws.amazon.com/jp/blogs/networking-and-content-delivery/deployment-models-for- aws-network-firewall/ What is AWS Network Firewall? https://docs.aws.amazon.com/network-firewall/latest/developerguide/ Resource: aws_networkfirewall_firewall https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/networkfirewall_fire wall

Slide 41

Slide 41 text

41