インフラや開発環境をAWS上に構築する際、ネットワークの基本となるのがAmazon VPC(Virtual Private Cloud)です。
AWSの責任共有モデルにおいて、VPC内のルーティング設定やアクセス制御は「ユーザー側が責任を持つ領域」と定義されています。

本記事では、意図しないポートの開放や不正アクセスを防ぐために、
インフラ担当者やアプリケーションエンジニアが知っておくべきAWSネットワークセキュリティの仕様と定石を解説します。

1.パブリックサブネットとプライベートサブネットの明確な分離

VPC内にリソースを配置する際、最初の防波堤となるのがサブネットの設計です。

2.セキュリティグループ(SG)とネットワークACL(NACL)の正確な使い分け

通信のアクセス制御において、まず基本となるのが「セキュリティグループ(SG)」と「ネットワークACL(NACL)」の使い分けです。
これらは適用範囲と通信の評価仕様が異なります。

3.【適材適所】SG、NACL、AWS WAFの仕様比較と「多層防御」の定石

アクセス制御を設計する際、SG、NACL、そしてAWS WAF(Web Application Firewall)は、
いずれも「IPアドレスによる通信制限」を行う機能を備えているため、設定場所に迷うケースが見られます。
また、「特定の国からの通信を制限したい(国別制限)」といった要件も発生します。

これらはOSI参照モデルのレイヤーや、サービスごとの厳格な仕様制限(上限値など)によって、明確に適材適所の役割が定まっています。

4.SSH/RDPポート(22番/3389番)の全開放(0.0.0.0/0)からの脱却

開発や運用の過程でやりがちな設定ミスが、管理ポートの全開放です。

5.Web層の防御:AWS Shield Standardによる自動保護

最後に、AWSインフラ全体の保護機能について触れておきます。
すべてのAWS顧客は、追加料金や特別な設定なしで「AWS Shield Standard」の保護を受けています。
これにより、SYNフラッド攻撃やUDPリフレクション攻撃といった、
一般的なネットワークレイヤー(レイヤー3/4)のDDoS攻撃からは自動的に保護される仕様となっています。
これをベースとして、前述のAWS WAFなどを組み合わせることで、より強固なWeb層の防御が完成します。

まとめ

AWSネットワークセキュリティの基本は「最小権限の原則」に基づき、
不要な経路を持たせない、不要なポートを開けないことに尽きます。
それぞれのAWSマネージドサービスには、ルール数の上限やステートの有無、対応するOSIレイヤーなど、
設計の根拠となる確固たる仕様が存在します。

「機能が似ているから」と感覚で選択するのではなく、個々のサービスの客観的な仕様を正しく理解し、
適材適所のセキュアなアーキテクチャ設計に活かしていきましょう。