You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform创建AWS基础设施时生成两个安全组的问题咨询

解决Terraform创建AWS资源时生成两个安全组的问题

问题背景

使用Terraform脚本构建AWS基础设施时,执行terraform apply后发现创建了两个安全组:一个是脚本中定义的MySecurityGroup,另一个是VPC的默认安全组。

原因分析

AWS在创建VPC时自动生成默认安全组,这是AWS的内置行为,与Terraform无关。默认安全组的规则为:允许VPC内所有资源互相通信,拒绝外部入站流量,允许所有出站流量。脚本中自定义的安全组是额外创建的资源,因此最终会存在两个安全组。

解决方案

方案1:忽略默认安全组,继续使用自定义安全组

默认安全组是VPC的默认组件,无法阻止其创建,但可以选择不将任何AWS资源(如EC2实例)关联到这个默认组,只使用你自定义的MySecurityGroup即可。

方案2:修改默认安全组规则,替代自定义安全组

如果不想额外创建安全组,可以通过Terraform管理VPC的默认安全组,直接修改其规则来满足需求。修改后的脚本示例如下:

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region                   = "ap-south-1"
  shared_config_files      = ["/home/terraform/.aws/config"]
  shared_credentials_files = ["/home/terraform/.aws/credentials"]
}

resource "aws_vpc" "Terraform_VPC" {
  cidr_block = "10.0.0.0/16"

  tags = {
    Name = "Terraform_VPC"
  }
}

resource "aws_subnet" "Subnet_Terraform_VPC" {
  vpc_id     = aws_vpc.Terraform_VPC.id
  cidr_block = "10.0.0.0/24" # 子网CIDR必须是VPC CIDR的子集,修正原脚本错误

  tags = {
    Name = "Subnet_Terraform_VPC"
  }
}

# 管理VPC默认安全组,配置所需的入站/出站规则
resource "aws_default_security_group" "default" {
  vpc_id = aws_vpc.Terraform_VPC.id

  # 允许SSH(22)、HTTP(80)、HTTPS(443)入站流量
  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"] # 建议根据实际需求限制IP范围,比如公司办公IP
  }

  ingress {
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  ingress {
    from_port   = 443
    to_port     = 443
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  # 允许所有出站流量
  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }

  tags = {
    Name = "Default_Security_Group"
  }
}

额外说明

原脚本中的子网CIDR(10.0.0.0/16)与VPC的CIDR完全相同,这不符合AWS子网的创建规则(子网必须是VPC CIDR的子集),因此在示例脚本中修正为10.0.0.0/24。

内容的提问来源于stack exchange,提问作者Support Test email account

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:44:56