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

创建AWS RDS实例报错DB实例与EC2安全组不在同一VPC问题咨询

错误根因

你没有为RDS实例指定绑定自定义VPC的aws_db_subnet_group资源,AWS默认会将未配置子网组的RDS实例创建到账户的默认VPC内,而你关联的数据库安全组归属你新建的mainvpc,两者所属VPC不一致,直接触发该报错。

修复方案
  • 新增DB子网组资源,将你当前VPC下的所有子网加入该组:
resource "aws_db_subnet_group" "main" {
  name       = "main-db-subnet-group"
  subnet_ids = [aws_subnet.public-subnet-1.id, aws_subnet.private-subnet-1.id]

  tags = {
    Name = "Main DB Subnet Group"
  }
}
  • 在aws_db_instance配置中新增db_subnet_group_name参数,关联上述子网组:
resource "aws_db_instance" "db" {
    # 保留原有配置不变,新增以下参数
    db_subnet_group_name = aws_db_subnet_group.main.id
    # 不需要公网访问RDS可新增以下参数
    publicly_accessible = false
}
  • 修正安全组的配置问题,避免后续业务访问异常:
    1. 你的wp安全组入站规则同时配置了self = true和cidr_blocks = ["0.0.0.0/0"],两者存在逻辑冲突,若要允许所有IP访问对应端口,删除self = true即可。
    2. 你的db安全组入站规则当前仅配置了self = true,仅允许同安全组的资源访问3306端口,而你的EC2实例绑定的是wp安全组,后续会无法访问数据库,修改入站规则如下:
    resource "aws_security_group" "db" {
      description = "Allow WordPress inbound traffic"
      vpc_id = aws_vpc.mainvpc.id
      ingress {
        description = "Wordpress traffic"
        protocol    = "tcp"
        from_port   = 3306
        to_port     = 3306
        # 允许wp安全组的资源访问
        security_groups = [aws_security_group.wp.id]
      }
      # 保留原有出站、标签等配置不变
    }
    

内容的提问来源于stack exchange,提问作者danel1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:15:03