VPCとネットワーク設計

はじめに

AWSを利用する際、最も重要な設計領域の1つがVPC(Virtual Private Cloud)とネットワークアーキテクチャです。VPCの構成は後々のセキュリティ、スケーラビリティ、運用性に大きな影響を与えます。

本章では、以下の重要要素を体系的に解説します:

  • CIDR計画とサブネット設計
  • NAT GatewayとVPCエンドポイント
  • Transit Gatewayを用いたVPC間接続
  • NACL(ネットワークACL)とセキュリティグループの設計戦略

社内システム〜マルチアカウント運用まで対応可能な、堅牢かつ柔軟なVPC設計を実現しましょう。


CIDR計画とサブネット設計

CIDR(Classless Inter-Domain Routing)は、VPCのIPアドレス空間を定義するもので、ネットワーク分割の基盤となります。初期設計時に明確なIP計画を立てておかないと、拡張時に衝突が起きやすくなります。

おすすめCIDR計画の指針

  • 将来の拡張に備え、/16〜/20のVPCを確保(例:10.0.0.0/16)
  • サブネットは用途別(Public、Private、Isolated)に分割
  • AZ単位に分けて可用性確保

例:3AZ構成のサブネット設計

用途AZ AAZ BAZ C
Public10.0.0.0/2410.0.1.0/2410.0.2.0/24
Private10.0.10.0/2410.0.11.0/2410.0.12.0/24
Isolated10.0.20.0/2410.0.21.0/2410.0.22.0/24

NAT GatewayとVPCエンドポイント

NAT Gatewayの役割

Privateサブネット内のインスタンスがインターネットへアクセスするために必要なのがNAT Gatewayです。EC2からのOSアップデートやパッケージ取得などが主な用途です。

# パブリックサブネットにNAT Gatewayを作成し、ルートテーブルで使用 0.0.0.0/0 → NAT Gateway 

単一NAT Gatewayの可用性リスクに注意し、可能であればAZごとに配置するのが理想です(コストとのバランスも考慮)。

VPCエンドポイントの活用

NAT経由ではなく、VPC内からAWSサービスへ直接接続する仕組みがVPCエンドポイントです。これによりコスト削減とセキュリティ向上が実現できます。

  • Interfaceエンドポイント: SSM、Secrets Managerなど
  • Gatewayエンドポイント: S3、DynamoDB用(無料)
# S3向けのGatewayエンドポイントを作成(例) 
aws ec2 create-vpc-endpoint \ --vpc-id vpc-xxxxxx \ --service-name com.amazonaws.ap-northeast-1.s3 \ --route-table-ids rtb-xxxxxx \ --vpc-endpoint-type Gateway 

Transit Gatewayによる複数VPC接続

マルチアカウント・マルチVPC環境が一般化する中で、VPC間の接続を効率化するハブ構成が求められています。その代表的ソリューションがTransit Gatewayです。

Transit Gatewayのメリット

  • VPC間をフルメッシュで接続せずに済む
  • オンプレミスとの統合もしやすい
  • IAM制御、ルート制御も一元化

従来の「VPC Peering」は規模が大きくなると管理が煩雑になりますが、Transit Gatewayを使えばスケーラブルかつ集中管理されたネットワーク構成が可能です。

# Transit Gatewayの作成例(CLI) 
aws ec2 create-transit-gateway \ --description "My TGW" \ --options AmazonSideAsn=64512 

NACLとセキュリティグループの設計

AWSでは、ステートレスなNACLと、ステートフルなセキュリティグループの2段階でトラフィック制御が行えます。用途や粒度によって使い分けが必要です。

セキュリティグループ(SG)の特徴

  • インスタンス単位で適用
  • ステートフル(リクエストに対するレスポンスは自動許可)
  • 「許可ルール」のみ定義可能

NACLの特徴

  • サブネット単位で適用
  • ステートレス(戻りトラフィックも明示的に許可が必要)
  • 許可と拒否ルールの両方を設定可能

NACLはDDoS防御や、IPレンジでのブラックリスト運用などに活用されます。

ルール設計の注意点

# セキュリティグループの例:
HTTP/HTTPSを許可 Inbound: - TCP 80 from 0.0.0.0/0 - TCP 443 from 0.0.0.0/0 Outbound: - All traffic allowed (デフォルト) 
# NACLの例:社内IPのみSSHを許可 Inbound: 100 Allow TCP 22 from 10.1.0.0/16 110 Deny ALL from 0.0.0.0/0 

まとめ

VPCとネットワークの設計は、AWSインフラ全体の信頼性・可用性・セキュリティに直結する最重要項目です。本章では、以下の観点から構築・改善のポイントを解説しました。

  • 明確なCIDR設計とサブネット分離で拡張性を確保
  • NATとVPCエンドポイントを使い分けてセキュアな通信を実現
  • Transit GatewayでマルチVPCを統合
  • セキュリティグループとNACLで多層防御を構築
採用情報 長谷川 横バージョン
SHARE
PHP Code Snippets Powered By : XYZScripts.com
お問い合わせ