1.はじめに

AWSのVPCとオンプレネットワークをAWS Site-to-Site VPNで接続し、その接続間にAWS Network Firewallを配置する構成の検討を行う案件があり、分散型と集約型のアーキテクチャについて検討しました。その内容を以下にまとめます。

2.構成の検討

当初、以下のドキュメント(2020 年 11 月頃の記事)を見るとオンプレやVPNの通信について、集約型は対応、分散型は非対応となっていたので集約型の構成しか選択肢がないと考えていた。
※「それぞれのモデルの比較」参照

AWS Network Firewallのデプロイモデル | Amazon Web Services
この記事は Deployment models for AWS Network Firewall (記事公開日

しかし、ドキュメントが公開された後のアップデートにより、分散型でも対応可能であることがわかり、今回の要件では分散型がマッチしたので分散型の構成をとるかたちとなった。

対応できるようになったアップデート

Amazon VPC Routing Enhancements Allow You to Inspect Traffic Between Subnets In a VPC | AWS News Blog

Amazon VPC Routing Enhancements Allow You to Inspect Traffic Between Subnets In a VPC | Amazon Web Services
Since December 2019, Amazon Virtual Private Cloud (Amazon VPC) has allowed you to route all ingress traffic (also known as north – south traffic) to a specific network interface. You might use this capability for a number of reasons. For example, to inspect incoming traffic using an intrusion detection system (IDS) appliance or to route

3.AWS Network Firewall(VPCとオンプレ間に配置)の構成パターン分散型と集約型とは

分散型

AWS Network Firewallを其々個別のsubnetに配置して利用する構成

集約型

AWS Network Firewallを配置する検査用のVPCを設け一律それを利用する構成

4.分散型・集約型、其々の構成のメリット・デメリット

※コスト面はAWS Transit GatewayのAttachementとAWS Network Firewallのエンドポイントの数に依存するためケースバイケース(構成依存)になります。
※シグネチャとしてAWSマネージドルールを利用することを前提としたものになります。

分散型

メリット
[運用面]AWSマネージドルール(マルウェア対策等)がそのまま利用できる。
※AWSマネージドルールについては以下を参照

Managed rule groups - AWS Network Firewall
Protect your resources with AWS managed rule groups, which are collections of predefined rules.

[コスト]検査用VPCを利用しないため、その分のAWS Transit Gateway AttachementのAWSサービス利用料が安くできる。

デメリット
[運用面]複数のネットワークファイヤウォールのポリシーを管理する必要がある。
[コスト]AWS Network Firewallを配置するサブネットが増えるためAWS Network Firewallエンドポイント数分のAWSサービス利用料が高くなる。

集約型

メリット
[運用面]AWS Network Firewallの管理が1台のみになる。
[コスト]AWS Network Firewallを配置するエンドポイントが検査用Amazon VPC分のみとなり複数のVPCに配置するよりAWSサービス利用料が安くできる。

デメリット
[運用面]AWSマネージドルールを利用する場合、複製とHOME_NETの修正が必要。
[コスト]検査用VPCを利用するため、その分のAWS Transit Gateway AttachementのAWSサービス利用料が高くなる。

今回検討したときの判断ポイント

今回の検討では、「AWSマネージドのマルウェア対策用のシグネイチャを利用する」という点で、運用面でのメリットと、また、「AWSのVPCが1つのみ」という点で、NetworkFirewallのエンドポイントの数はVPC1つ分のみであり、検査用VPCを利用せずに構成できAWS Transit Gateway Attachmentの利用料を節約できるというコスト面でのメリットが一致し、分散型の構成を選択しました。

5.過去、分散型で対応できなかった理由とは?

駄目だった時

ルーティング テーブル内のルートをデフォルトのローカル ルートよりも具体的にすることはできないため、ローカルルートによりAWS Network Firewallを経由させられず、直接サーバに到達してしまいました

現在

ローカルルートに重複しても具体的なマスクであれば設定可能になったので設定できるようになりました

6.その他注意点

非対称ルーティング(appliance_mode_support)

AWS Network Firewallを利用する通信は、往路・復路ともに同じzoneを通過しなければいけないので、複数のzoneを利用し検査VPCを利用する場合は、appliance_mode_supportを、分散型ではサブネットのルーティングを考慮しましょう。
非対称ルーティングの問題が発生します。
※通信がうまくいかず、非対称ルーティングが原因の場合、dropメトリクスも出なかったと思うので、はまりどころです。
22ページ参照:

ルータの機種

これは、AWS Network FirewallというよりはAWS Site-to-Site VPNの通信に関するところですが、BGPをサポートしトンネルを2つはれない機種である場合、AWSのメンテナンス時(定期的にある)やインスタンス障害時には通信不可能となるので、オンプレ側のルータ調達時に非常に重要です。
既存ルータを利用する場合は、十分仕様を理解しユーザと認識を合わせましょう。

7.まとめ

ネットワーク構成がAmazon VPC内で完結する場合、ルーティングを設定する機会は少ないですが、別のネットワークとの接続やEC2にアプライアンス製品を導入し利用することが、必要なケースもあるため、ローカルルートに重複しても具体的なマスクを設定すればルーティング設定を行える仕組みがあることを理解しておくことは、設計を行う際に役立つでしょう。

また、今回のように情報が古くなっているケースもあるため、一度再調査や検証を行い、一般的なガイダンスに適合しない可能性を考慮しながら、必要に応じてAWSに確認することも構成検討時に非常に重要です。