Amazon web services 是否与其他VPC共享RDS实例,但不共享其他资源?
我使用Terraform创建了两个VPC:Amazon web services 是否与其他VPC共享RDS实例,但不共享其他资源?,amazon-web-services,terraform,amazon-vpc,terraform-provider-aws,aws-vpc-peering,Amazon Web Services,Terraform,Amazon Vpc,Terraform Provider Aws,Aws Vpc Peering,我使用Terraform创建了两个VPC: resource "aws_vpc" "alpha" { cidr_block = "10.16.0.0/16" enable_dns_support = true enable_dns_hostnames = true tags = { Name = "Alpha" } } resource "aws_subnet"
resource "aws_vpc" "alpha" {
cidr_block = "10.16.0.0/16"
enable_dns_support = true
enable_dns_hostnames = true
tags = {
Name = "Alpha"
}
}
resource "aws_subnet" "alpha_private_a" {
vpc_id = aws_vpc.alpha.id
cidr_block = "10.16.192.0/24"
availability_zone = "${var.aws_region}a"
tags = {
Name = "Alpha Private A"
}
}
resource "aws_subnet" "alpha_private_b" {
vpc_id = aws_vpc.alpha.id
cidr_block = "10.16.224.0/24"
availability_zone = "${var.aws_region}b"
tags = {
Name = "Alpha Private B"
}
}
resource "aws_route_table" "alpha_private" {
vpc_id = aws_vpc.alpha.id
tags = {
Name = "Alpha Private"
}
}
resource "aws_route_table_association" "alpha_private_a" {
route_table_id = aws_route_table.alpha_private.id
subnet_id = aws_subnet.alpha_private_a.id
}
resource "aws_route_table_association" "alpha_private_b" {
route_table_id = aws_route_table.alpha_private.id
subnet_id = aws_subnet.alpha_private_b.id
}
# The same again for VPC "Bravo"
我在VPC“Alpha”中也有一个RDS:
然后我在VPC“Bravo”中有一个弹性Beanstalk实例
我想要达到的目标:
可供Bravo VPC内的Elastic Beanstalk实例访问alpha_rds
- Bravo VPC无法访问Alpha VPC内的任何其他内容
- Alpha VPC无法访问Bravo VPC内的任何其他内容
相关但非地形:
resource "aws_vpc" "alpha" {
cidr_block = "10.16.0.0/16"
enable_dns_support = true
enable_dns_hostnames = true
tags = {
Name = "Alpha"
}
}
resource "aws_subnet" "alpha_private_a" {
vpc_id = aws_vpc.alpha.id
cidr_block = "10.16.192.0/24"
availability_zone = "${var.aws_region}a"
tags = {
Name = "Alpha Private A"
}
}
resource "aws_subnet" "alpha_private_b" {
vpc_id = aws_vpc.alpha.id
cidr_block = "10.16.224.0/24"
availability_zone = "${var.aws_region}b"
tags = {
Name = "Alpha Private B"
}
}
resource "aws_route_table" "alpha_private" {
vpc_id = aws_vpc.alpha.id
tags = {
Name = "Alpha Private"
}
}
resource "aws_route_table_association" "alpha_private_a" {
route_table_id = aws_route_table.alpha_private.id
subnet_id = aws_subnet.alpha_private_a.id
}
resource "aws_route_table_association" "alpha_private_b" {
route_table_id = aws_route_table.alpha_private.id
subnet_id = aws_subnet.alpha_private_b.id
}
# The same again for VPC "Bravo"
更新 正如Mark B在评论中正确指出的,如果无法恢复基础主机,则RDS群集的专用IP地址可能会在故障切换时发生更改
为了解决这些问题,您可以在Alpha中为数据库节点创建单独的子网,并用这些子网的CIDR替换我上面描述的数据库IP。这将允许稍微更大的灵活性,并允许您绕过NACL问题,因为您只需编辑新数据库子网的路由表,并仅在其中添加对等连接。您应该能够如下设置:
更新 正如Mark B在评论中正确指出的,如果无法恢复基础主机,则RDS群集的专用IP地址可能会在故障切换时发生更改
为了解决这些问题,您可以在Alpha中为数据库节点创建单独的子网,并用这些子网的CIDR替换我上面描述的数据库IP。这应该允许稍微更大的灵活性,并允许您绕过NACL问题,因为您可以编辑新数据库子网的路由表,只在那里添加对等连接。我不认为RDS IP地址在服务器故障切换或其他情况下会保持静态。我会为DB集群使用专用子网,并通过对等连接配置到这些子网CIDR块的路由。谢谢@MarkB-这是我没有想到的一个有效点,我会在答案中添加这一点和你的建议。我不认为RDS IP地址在服务器故障切换或其他情况下会保持静态。我会为DB集群使用专用子网,并通过对等连接配置到这些子网CIDR块的路由。谢谢@MarkB-这是我没有想到的一点,我会在答案中添加这一点和你的建议。