第4章
VPCネットワークセキュリティ — Subnet・Security Group・NACL・NAT Gateway
約4分
この章の目次開く

学習者Public SubnetとPrivate Subnetの違いは名前では分かります。でも、実際に何をどこへ置けばいいんでしょう?
AWS上の多くのシステムは VPC(Virtual Private Cloud) の中に構築します。VPC設計では、インターネットに公開するもの、内部に閉じるもの、外向き通信だけ許可するものを分けることが重要です。
SAA-C03では、VPC、サブネット、ルートテーブル、Internet Gateway、NAT Gateway、Security Group、Network ACLの組み合わせが頻出です。
Public SubnetとPrivate Subnet
| サブネット | 特徴 | 置くもの |
|---|---|---|
| Public Subnet | Internet Gatewayへのルートを持つ | ALB、NAT Gateway、踏み台が必要な場合のBastion |
| Private Subnet | 直接インターネットから到達できない | EC2、ECS Task、RDS、ElastiCache |
Webアプリケーションでは、ALBだけをPublic Subnetに置き、アプリケーションサーバーやDBはPrivate Subnetに置く構成が基本です。
Security GroupとNACL
| Security Group | Network ACL | |
|---|---|---|
| 適用対象 | ENI、EC2、ALB、RDSなど | サブネット |
| 状態 | ステートフル | ステートレス |
| ルール | Allowのみ | AllowとDeny |
| よく使う用途 | 通常のアクセス制御 | サブネット境界の追加制御 |
実務では、まずSecurity Groupで設計します。NACLは追加の境界防御や明示的な拒否が必要な場合に使います。
NAT GatewayとVPC Endpoint
Private SubnetのEC2やECS Taskが外部APIやパッケージレジストリへアクセスするには、NAT Gatewayを使います。ただしNAT Gatewayはコストが高くなりやすいです。
AWSサービスへ閉域でアクセスしたい場合は VPC Endpoint を検討します。
| 要件 | 選択肢 |
|---|---|
| Private Subnetからインターネットへ出たい | NAT Gateway |
| Private SubnetからS3へ閉域アクセスしたい | Gateway Endpoint for S3 |
| Private SubnetからSecrets ManagerやCloudWatchへ閉域アクセスしたい | Interface Endpoint |
まとめ
VPCセキュリティは、公開範囲を小さくする設計です。
- Public SubnetにはALBやNAT Gatewayなど最小限だけ置く
- アプリケーションとDBはPrivate Subnetに置く
- 通常のアクセス制御はSecurity Groupで行う
- NACLはサブネット単位の追加制御に使う
- AWSサービスへの閉域アクセスにはVPC Endpointを検討する
次の章では、WAF、Shield、Cognito、Secrets Managerなどを使ったアプリケーション保護を扱います。
AWSクイズに挑戦するこの章で学んだAWSの知識を、4択クイズでアウトプットして定着させよう
