説明
デフォルト VPC でも、サブネット、ルート、セキュリティグループを組織の要件に合わせて管理する必要があります。デフォルト VPC 自体が危険なわけではありませんが、初期設定を確認せずに使うと、不要な公開経路が残る可能性があります。
aws_default_vpc は、デフォルト VPC を Terraform で管理するリソースです。このリソースがあるだけでは、ワークロードがその VPC を使用していることや、ネットワーク制御がないことは判断できません。
想定される影響
- ネットワーク制御の不足: 未確認のサブネット、ルート、セキュリティグループ設定により、意図しないアクセスが許可される可能性があります。
- 運用基準の不統一: 環境ごとのネットワーク構造を一貫して管理しにくくなる場合があります。
- リソースの露出: 初期設定に依存する展開に、不要な公開設定が含まれる可能性があります。
対処方法
- デフォルト VPC のサブネット、インターネットへのルート、セキュリティグループを確認し、必要な制御を適用してください。
- ネットワークの分離が必要な場合は、
aws_vpcで専用 VPC を定義し、サブネットとアクセス方針も併せて設計してください。 - 既存リソースの移行と接続経路を確認してから、デフォルト VPC の利用停止や削除を計画してください。
例
デフォルト VPC の管理
hcl
resource "aws_default_vpc" "example" {
tags = {
Name = "Default VPC"
}
}
別の VPC の定義
hcl
resource "aws_vpc" "example" {
cidr_block = "10.0.0.0/16"
instance_tenancy = "default"
tags = {
Name = "main"
}
}
最初の例はデフォルト VPC を管理し、次の例は別の VPC を定義します。別の VPC を宣言するだけでは、既存リソースの移行やアクセス制限は行われません。サブネット、ルート、セキュリティ方針を用途に合わせて設定してください。