DEVELOPER’s BLOG

技術ブログ

シンプルな非機能要件に対して、過剰なAWSサービスを採用していませんか? 〜AWS Network Firewall編〜

2025.11.27 鈴木 萌子
AWS SRE
シンプルな非機能要件に対して、過剰なAWSサービスを採用していませんか? 〜AWS Network Firewall編〜



はじめに

AWSでは、あらゆるユースケースを支える豊富なサービス群が提供されています。 しかし、その選択肢の多さゆえに「本当に必要な要件以上のサービスを導入してしまう」ケースも少なくありません。

特に、非機能要件に対して、必要以上に複雑な構成を採用してしまうと、以下のようなデメリットにつながることがあります。

  • AWSコストの増大
  • 運用負荷の上昇
  • トラブルシューティングの難化


本記事では、過剰設計の一例を通して、コスト最適化やシンプルな設計の重要性を考えます。


シナリオ:ネットワーク制御要件を満たすための設計


想定要件

あるシステムで、次のような非機能要件が挙がったとします。

  • 「WebサーバからのみDBサーバに接続を許可したい」
  • 「SSH接続を特定のグローバルIPアドレスからのみ許可したい」


この要件は非常に一般的です。しかし、このようなシンプルなネットワーク制御要件に対して、意図せず次のような構成を取っていないでしょうか?


過剰な構成の例

  • とりあえずAWS Network Firewallを導入

シンプルな非機能要件に対して、過剰なAWSサービスを採用していませんか?_図1図1


一見「セキュリティを強化した構成」に見えますが、実際には Security Groupだけで十分なケースも多く存在します。


適材適所の判断をする


Security Group で十分なケース

  • 同一VPC内のAWSサービス間通信制御
  • L3/L4(ネットワーク/トランスポート層)レベルのアクセス制御

シンプルな非機能要件に対して、過剰なAWSサービスを採用していませんか?_図2図2


これらはステートフルな通信制御が可能な Security Group で実現可能です。 設定も容易で、コストも追加料金なしです。


AWS Network Firewall が必要なケース

一方、AWS Network Firewall が適しているのは次のようなケースです。

  • L3/L4(ネットワーク/トランスポート層)レベルからL7(アプリケーション層)レベルまでのアクセス制御が必要
  • ステートフルだけではなくステートレス制御も必要
  • 高度なネットワークトラフィックの検査・分析が必要


※以下はAWS Network Firewallを導入する大まかなイメージです。


これらは単純なSecurity Groupでは対応が難しい要件です。 AWS Network Firewallの導入は、こうした明確な理由がある場合に初めてコストに見合った効果を発揮します。


コスト最適化の視点

AWS Network Firewallは強力なサービスですが、利用するたびにオンデマンド料金が発生します。1つのVPCにデプロイしただけでも、Firewall Endpoints利用料金が継続的に発生します。

単に「セキュリティを強化したいから」といった曖昧な理由で導入してしまうと、月額数万円〜数十万円規模のコストが恒常的に発生するケースもあります。

さらに、アクセス数が多いかつ大きなデータを扱うシステムの場合には、データ処理料金も月額数万円規模で発生する可能性があります。


シンプル設計を意識する

非機能要件に対しては、まず最小限の構成で実現可能かを検討することが重要です。Security Groupで要件を満たせるのであれば、まずはそこから始めてみましょう。


まとめ

  • 非機能要件に対して、本当にそのAWSサービスが必要かを見直す
  • Security Groupなどの無料で提供される基本機能を活用する
  • AWS Network Firewallなどの高機能サービスは明確な根拠がある場合に導入する
  • コスト最適化は設計段階から意識する


AWSの設計に「正解」はありませんが、「なぜその構成にしたのか」を説明できることが、アーキテクトとして最も重要なスキルです。

関連記事

5分で分かる。Amazon CloudFrontによるAWSコスト削減術

はじめに 1. EC2 × ALB × CloudFront でインフラコストを削減 2. API Gateway × Lambda × CloudFront で動的コンテンツでもコスト最適化 3. 単一リージョン × CloudFront でグローバル配信をシンプルに まとめ:CloudFrontは単なる「CDN」ではない! はじめに AWSでシステムを構築する時、「とりあえずEC2インスタンスを建てて終わり」としていませんか?もし

記事詳細
5分で分かる。Amazon CloudFrontによるAWSコスト削減術
AWS SRE
AWSマルチアカウント環境でのOS・パッチ・証明書の統合管理

はじめに SSM統合コンソールによる一元管理 OSなど構成情報の可視化 Patch Managerによるパッチ運用の標準化 証明書有効期限の集中監視と自動通知 導入効果と業務改善イメージ 導入時の設計上の留意点 継続的改善を支える「運用の仕組み化」 1.はじめに クラウド活用が拡大し、AWS環境が複数アカウントで利用されたり、複数システムにまたがって利用されることは、システム運用における構成の一貫性を維持することの難易度を

記事詳細
AWSマルチアカウント環境でのOS・パッチ・証明書の統合管理
AWS SRE コラム
AWSの可用性設計を考える:AZ・リージョン・事業継続計画(BCP)のバランス

はじめに 可用性設計の基礎:リージョンとAZの仕組みを理解する 止まらない設計を妨げる単一点障害:単一AZ構成の限界 マルチAZ構成:同一リージョン内での止まらない仕組み マルチリージョン構成:事業継続(BCP)のための冗長化 まとめ:設計段階で「どこまで止めないか」を決めよう 1. はじめに AWSは、数クリックで仮想サーバー(EC2)を立ち上げられるなど、手軽にサービスを構築できるクラウドです。システム企画や開発の初期段階では

記事詳細
AWSの可用性設計を考える:AZ・リージョン・事業継続計画(BCP)のバランス
AWS コラム
[AWS ECS + Rails] スティッキーセッションとCSRFトークンエラー対策

はじめに スティッキーセッション(Sticky Session)とは Railsのセッション管理とCSRFトークン スティッキーセッションを無効化し、redisにセッションを保持させる場合 負荷分散とスティッキーセッションの設定 × セッションの保存場所 1. はじめに AWS ECS上でRails on Railsで開発したWebアプリケーション(以下Railsアプリ)を運用する際、ユーザーごとのセッション管理は重要なポイントです。 負荷分散を行いた

記事詳細
[AWS ECS + Rails] スティッキーセッションとCSRFトークンエラー対策
AWS コラム

お問い合わせはこちらから