创建并RDS Aurora集群并将其放置在与我启动的EC2实例相同的VPC中,以便它们进行通信。 我正在尝试启动一个名为“ RDS_DB_SG”的SG,并将其作为我在此过程中创建的VPC的一部分。 我还创建了一个名为“ BE_SG”的SG,并将其作为同一VPC的一部分。 我这样做是为了可以在2(RDS和BE服务器)之间进行访问。
创建一个.tf代码并启动所有内容。
如果我不将RDS群集包含在RDS SG中,则开始正常-RDS创建它自己的VPC。 当我将RDS包括在我想要给他的SG中时,RDS群集无法启动并出现错误。
“数据库实例和EC2安全组位于不同的VPC中。数据库实例位于vpc-5a *** 63c中,而EC2安全组位于vpc-0e5391 ***** 273b3d中” strong>
我在没有为RDS指定VPC的情况下启动了基础架构。它创建了自己的默认VPC。 然后,我在为EC2创建的VPC和为RDS创建的VPC之间创建了手动VPC对等。 但是我希望它们位于同一VPC中,因此我不必创建VPC对等手册。
variable "vpc_cidr" {
description = "CIDR for the VPC"
default = "10.0.0.0/16"
}
resource "aws_vpc" "vpc" {
cidr_block = "${var.vpc_cidr}"
tags = {
Name = "${var.env}_vpc"
}
}
resource "aws_subnet" "vpc_subnet" {
vpc_id = "${aws_vpc.vpc.id}"
cidr_block = "${var.vpc_cidr}"
availability_zone = "eu-west-1a"
tags = {
Name = "${var.env}_vpc"
}
}
resource "aws_db_subnet_group" "subnet_group" {
name = "${var.env}-subnet-group"
subnet_ids = ["${aws_subnet.vpc_subnet.id}"]
}
resource "aws_security_group" "RDS_DB_SG" {
name = "${var.env}-rds-sg"
vpc_id = "${aws_vpc.vpc.id}"
ingress {
from_port = 3396
to_port = 3396
protocol = "tcp"
security_groups = ["${aws_security_group.BE_SG.id}"]
}
}
resource "aws_security_group" "BE_SG" {
name = "${var.env}_BE_SG"
vpc_id = "${aws_vpc.vpc.id}"
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_instance" "BE" {
ami = "ami-*********************"
instance_type = "t2.large"
associate_public_ip_address = true
key_name = "**********"
tags = {
Name = "WEB-${var.env}"
Porpuse = "Launched by Terraform"
ENV = "${var.env}"
}
subnet_id = "${aws_subnet.vpc_subnet.id}"
vpc_security_group_ids = ["${aws_security_group.BE_SG.id}", "${aws_security_group.ssh.id}"]
}
resource "aws_rds_cluster" "rds-cluster" {
cluster_identifier = "${var.env}-cluster"
database_name = "${var.env}-rds"
master_username = "${var.env}"
master_password = "PASSWORD"
backup_retention_period = 5
vpc_security_group_ids = ["${aws_security_group.RDS_DB_SG.id}"]
}
resource "aws_rds_cluster_instance" "rds-instance" {
count = 1
cluster_identifier = "${aws_rds_cluster.rds-cluster.id}"
instance_class = "db.r4.large"
engine_version = "5.7.12"
engine = "aurora-mysql"
preferred_backup_window = "04:00-22:00"
}
关于如何实现我的第一个目标的任何建议?