Terraform InvalidParameterCombination:数据库安全组只能与 VPC 数据库实例关联
Posted
技术标签:
【中文标题】Terraform InvalidParameterCombination:数据库安全组只能与 VPC 数据库实例关联【英文标题】:Terraform InvalidParameterCombination: DB Security Groups can only be associated with VPC DB Instances 【发布时间】:2019-06-29 01:57:16 【问题描述】:我正在尝试使用 terraform 模板配置 RDS 实例,我的模板看起来像这样
template.tf
resource "aws_security_group" "web-server-security"
name = "webserver-sg"
description = "webserver security group"
ingress
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
tags
Name = "web-server-sg"
resource "aws_security_group" "db-server-sg"
name = "db-server"
description = "dbserver security group"
ingress
from_port = 3306
to_port = 3306
protocol = "tcp"
security_groups = ["$aws_security_group.web-server-security.id"]
tags
Name = "db-server-sg"
resource "aws_db_instance" "echomany_db"
name = "echomanydb"
engine = "mysql"
engine_version = "5.7"
storage_type = "gp2"
allocated_storage = 20
instance_class = "db.t2.micro"
username = "$var.AWS_DB_USERNAME"
password = "$var.AWS_DB_PASSWORD"
parameter_group_name = "default.mysql5.7"
skip_final_snapshot = true
security_group_names = [
"$aws_security_group.db-server-sg.id"
]
tags
Name = "db-server"
但是我得到以下错误:
发生 1 个错误: * aws_db_instance.echomany_db:发生 1 个错误:
aws_db_instance.echomany_db:创建数据库实例时出错: InvalidParameterCombination:数据库安全组只能 使用 API 版本与 VPC 数据库实例关联 2012-01-15 至 2012 年 9 月 17 日。 状态码:400,请求ID:a19ea8ea-8ea0-46e4-97c6-b946419df9a3我不知道是什么问题以及如何解决此问题。
【问题讨论】:
【参考方案1】:如文档所述,应使用 vpc_security_group_ids
而不是 security_group_names
,这是一个已弃用的参数。
【讨论】:
【参考方案2】:参数命名
security_group_names = [
"$aws_security_group.db-server-sg.id"
]
只能在使用 ec2-classic 模式或在 VPC 之外使用。 请改用vpc_security_group_ids。
【讨论】:
【参考方案3】:你可以使用vpc_security_groups_ids = [ ]
而不是security_group_names
,因为它只能在使用ec2-classic模式时使用
示例:
vpc_security_group_ids=["$aws_security_group.rds.id"]
【讨论】:
以上是关于Terraform InvalidParameterCombination:数据库安全组只能与 VPC 数据库实例关联的主要内容,如果未能解决你的问题,请参考以下文章
Terraform 学习总结——Terraform 命令详解
Terraform 学习总结(10)—— 阿里云平台 Terraform 代码开发技巧总结
Terraform 学习总结(10)—— 阿里云平台 Terraform 代码开发技巧总结