はじめに

こんにちは!そしてこんばんは!
クラウドインテグレーション事業部の大嵩です。

今回は、下記のニュースの通り、AWS Network Firewall(NWFW)がこれまで1つのVPCにのみ対応していたものが、今回複数のVPCに対して関連付けができるようになりましたので、実際の検証含めて紹介します!

私のブログの続編になります!

「このサイトだけ許可!」をAWS Network Firewallで実現!Amazon EC2のアウトバウンド通信制御
はじめにAWS上でシステムを構築・運用する際、セキュリティは非常に重要な要素です。特に、EC2インスタンスからの意図しない外部への通信(アウトバウンド通信)を制御することは、情報漏洩や不正アクセスのリスクを低減するために不可欠です。従来、セキュリティグループやネットワークACLでもIPアドレスベースでの制御は可能でしたが、特定のWebサイトやAPIエンドポイントなど、ドメイン名で通信先を制限したいケースも多くあります。「特定の管理コンソールやAPIにしかアクセスさせたくない」「社内システムへのアクセスのみ許可し...

これまではどうだったのか

これまでは、皆さんご存知の通り、NWFWはVPCに対して1対1で関連付けが可能となっていました。
例えば、VPC-AとNWFW-Aのみで、VPC-Bに対してはNWFW-Bを用意する必要がありました。
それが、今回のアップデートからNWFW-AのみでVPC-Bに対しても関連付けが可能になったものになります。
また、最大で50個までのVPCに関連付けすることが可能となりました!

実際に見てみましょう!

ということで、実際に見て確かめてみましょう!
前回作成したルールをそのまま使用して試してみます。

VPC構成

VPCの構築は割愛しますが、下記のような内容で構築します。
VPC-AをNWFW用のVPCとして構築しますが、関連付けのみのためVPC-BとVPC-CはNWFW用サブネットが不要となります。

VPC-A

VPC CIDR

10.0.0.0/16

NWFW用サブネット

10.0.1.0/24
10.0.2.0/24

パブリックサブネット

10.0.3.0/24
10.0.4.0/24

プライベートサブネット

10.0.5.0/24
10.0.6.0/24

VPC-B

VPC CIDR

11.0.0.0/16

パブリックサブネット

11.0.3.0/24
11.0.4.0/24

プライベートサブネット

11.0.5.0/24
11.0.6.0/24

VPC-C

VPC CIDR

12.0.0.0/16

パブリックサブネット

12.0.3.0/24
12.0.4.0/24

プライベートサブネット

12.0.5.0/24
12.0.6.0/24

NWFWも構築

前回のブログのものは削除しているので、同じ内容でVPC-Aに再構築します!
内容は割愛します。
作成されたあとマネジメントコンソールを見ていると下記のようなタブが追加されていました!

実際に関連付けしてみる

どこから関連付けするのかと探していたら、VPCの左のメニューの中に、「VPCエンドポイントの関連付け」が追加されていましたので、押してみます。

これがまさに探していたやつですね!!
では早速VPCエンドポイントの関連付けを作成してみましょう

作成してみる

VPC-B

まずはVPC-Bに対して作成してみます。
どうやらAZ単位で作成するみたいですね!

IPアドレスタイプもIPv4だけでなく、IPv6とv4v6のDualStackにも対応しています。

もちろんもう片方のAZ分も作成します。

VPC-C

VPC-Cの分も同じように作成していきます!

関連付けを確認してみる

関連付けが完了したら、状態を確認してみます。
一覧では下記のように、ステータスが準備完了になっていることが確認できます!

また、NWFW側の画面では下記のようになっていました。

ルートテーブルを編集する

もちろん、関連付けしただけで終わりではありません!
既存のルートテーブルを編集する必要があります!
パブリックサブネット用のルートテーブルに手を加えていきましょう。

VPC-B

0.0.0.0/0 へのルートが2つ共存できないため、ルートテーブルをAZ毎に分けています。
そのため、それぞれ設定します。
いつもどおりのInternet Gatewayへのルートを変更します!

削除して新しいものを追加しようとするとなんと!すぐにNWFWのエンドポイントが表示され、選択可能になっています!

すんなり保存できてしまいました!

もちろん片方のAZ用のも編集し、無事に完了!

VPC-C

VPC-Cの分も同様に設定します!

設定完了!

ここまで、関連付け作成から、ルートテーブルの設定まで行いました!
すんなり行き過ぎて怖いんですが、これで関連付けによって複数のVPCでNWFWを使うことができる状態になりました!
実際にルールが適用されるかは今回は割愛しますが、ルートテーブル上、VPC-AのNWFWを通ってインターネットへ抜けていくものとなります。

利用料に注意!

そして、前回のブログでは紹介していませんでしたが、NWFWのエンドポイントの実体は「GatewayLoadBalancer」タイプのVPCエンドポイントとなっています。
そのため、今回関連付けによって、VPC-Aの分も合わせると6個に増えていることがわかりました。
これは、AWSの利用料に大きく関係してくるものと思われますね。。。

利用する際には注意が必要です。
また、VPCが複数になるため便利になる反面、NAT Gatewayなど利用料観点では負担となる部分もあるかもしれません。

まとめ

今回の調査と検証から、下記のことがわかりました!
個人的に1度に2つのAZ分作成でき、関連付け名を指定できるとなお良いと思いました!
一覧でIDのみで表示されていると、どのVPCとの関連付けかがわかりにくかったですね。。。
また、「ファイヤーウォールの所有者アカウント」のカラムがあることから、いずれはマルチアカウントでの利用もあるのか!?と今後に期待ができますね!!

  • AWS Network Firewall(NWFW)がアップデートされ、1つのAWS Network Firewallを複数のVPC(最大50個)で共有できるようになりました。
  • 設定は、VPCメニューに追加された「VPCエンドポイントの関連付け」から行い、その後、関連付けたVPCのルートテーブルを編集してトラフィックをNWFWのエンドポイントに向ける必要があります。
  • 【重要】 関連付けを行うと、対象VPCのAZごとに「GatewayLoadBalancer」タイプのVPCエンドポイントが作成されます。このエンドポイントの数に応じて課金が発生するため、AWS利用料が増加する点に十分な注意が必要です。
  • これによりAWS Network Firewallの一元管理が可能になる一方、VPCエンドポイントなどのコストが増える可能性があるため、費用対効果を考慮した上での利用が推奨されます。

みなさんもぜひ、複数VPCでAWS Network Firewallを使ってみましょう!
この記事がどなたかの参考になりますと幸いです!