Tech Starlog

AWS SAA 試験勉強(16日目)

投稿日:2026/03/16

  • AWS SAAにおいて、VPC設計はすべての基本です。
  • 単に「繋がる」だけでなく、「外部からの侵入を防ぎつつ、必要な通信だけを許可する」という設計判断が問われます。

1. 標準的な「Public / Private」構成のベストプラクティス

試験で最も推奨されるのは、リソースの役割に応じてサブネットを分ける構成です。

パブリックサブネット(Public Subnet)

  • 定義: ルートテーブルに「インターネットゲートウェイ(IGW)」へのルートがあるサブネット。
  • 配置リソース: ALB(ロードバランサー)、NATゲートウェイ、踏み台サーバー(Bastion)。
  • ポイント: EC2やDBを直接ここに置くのは、セキュリティ要件が厳しい試験では基本的に「NG」です。

プライベートサブネット(Private Subnet)

  • 定義: インターネットから直接アクセスできないサブネット。
  • 配置リソース: Webサーバー(EC2)、アプリサーバー、データベース(RDS)。
  • ポイント: 外部からの直接攻撃リスクを最小化します。

2. プライベートサブネットからのインターネット接続(NAT Gateway)

プライベートサブネットにあるEC2が、OSアップデートや外部API取得のために「外向き」の通信が必要な場合、NAT ゲートウェイを使用します。

NAT ゲートウェイの設計ルール

  • 配置場所: パブリックサブネットに配置します(プライベートに置くと外に出られません)。
  • 冗長化: NATゲートウェイはAZ(アベイラビリティゾーン)単位のサービスです。高可用性を実現するには、各AZに1つずつ配置するのが試験の正解パターンです。
  • コスト: NATゲートウェイは時間料金と処理データ量に応じて課金されます。コスト削減が最優先の場合は、1つだけの配置を検討しますが、可用性は低下します。

3. 安全な管理アクセスの実現:Bastion vs Session Manager

プライベートサブネットのEC2にSSH/RDP接続してメンテナンスしたい場合、2つの選択肢があります。

踏み台サーバー(Bastion Host)

  • パブリックサブネットに「管理用EC2」を1台置き、そこを経由してプライベートのサーバーへ接続します。
  • デメリット: 踏み台自体のパッチ管理が必要、ポート22を公開するリスクがある。

AWS Systems Manager Session Manager

  • 試験のポイント: 「踏み台サーバーを管理したくない」「セキュリティを最大化したい」という場合は、こちらを使用します。
  • メリット:
    • インターネットゲートウェイや踏み台サーバーが不要。
    • IAM権限のみでアクセス制御が可能。
    • 操作ログがすべて記録される。

4. ネットワークセキュリティの二重防御

セキュリティグループ(Security Group)

  • インスタンス単位のファイアウォール。
  • ステートフル: 戻りの通信を自動的に許可します。
  • 設定: 「Webサーバーからの通信のみDBへ許可」といった参照設定(セキュリティグループID指定) が推奨パターンです。

ネットワークACL(NACL)

  • サブネット単位のファイアウォール。
  • ステートレス: 行きと戻りの両方の通信を明記する必要があります。
  • 用途: 特定のIPアドレスを「拒否(Deny)」したい場合に使用します。

5. VPC設計における高可用性のポイント

試験問題で「高可用なVPC設計」を求められたら、以下の構成が揃っているか確認しましょう。

  1. マルチAZ: 少なくとも2つのAZにサブネットを分散。
  2. 冗長なNAT: 各AZにNATゲートウェイを配置。
  3. 冗長なルーター: 各AZのルートテーブルでそれぞれのNATゲートウェイを指定。

試験での「判断基準」チェックリスト

  1. 「データベースを最も安全に配置したい」
    • 回答:プライベートサブネットに配置し、パブリックIPは付与しない。
  2. 「プライベートサブネットのEC2がパッチ更新のためにネット接続したい」
    • 回答:パブリックサブネットに NAT ゲートウェイ を置く。
  3. 「踏み台サーバーの運用負荷を減らし、SSHポートを閉じたい」
    • 回答:AWS Systems Manager Session Manager を利用する。
  4. 「特定の悪意あるIPアドレスからのアクセスをブロックしたい」
    • 回答:ネットワークACL(NACL) で明示的な Deny ルールを追加する。

まとめ(16日目の振り返り)

  • VPCは「Public(入り口)」と「Private(守るべき場所)」を明確に分けることが鉄則です。
  • また、通信の流れ(Inbound / Outbound)を理解し、NATゲートウェイやセキュリティグループを正しく配置できるかどうかが、設計問題の合否を分けます。