Amazon web services 如何在terraform中为公共和私有子网创建安全组?
我分别创建了两个安全组。 一个用于运行在公用子网中的ec2实例,另一个用于运行在专用子网中的ec2实例 我想从公共实例安全地ssh到私有实例 以下专用安全组的端口配置是否正确,或者是否需要打开任何其他端口? 这些安全组端口是否需要以某种方式连接,以便通过ssh连接到私有实例中? (我已经创建了vpc,一个公共和私有子网,eip,nat网关) public\sgu group.tfAmazon web services 如何在terraform中为公共和私有子网创建安全组?,amazon-web-services,terraform,terraform-provider-aws,aws-security-group,private-subnet,Amazon Web Services,Terraform,Terraform Provider Aws,Aws Security Group,Private Subnet,我分别创建了两个安全组。 一个用于运行在公用子网中的ec2实例,另一个用于运行在专用子网中的ec2实例 我想从公共实例安全地ssh到私有实例 以下专用安全组的端口配置是否正确,或者是否需要打开任何其他端口? 这些安全组端口是否需要以某种方式连接,以便通过ssh连接到私有实例中? (我已经创建了vpc,一个公共和私有子网,eip,nat网关) public\sgu group.tf resource "aws_security_group" "public_sg&qu
resource "aws_security_group" "public_sg" {
name = "Public_sg"
description = "Security Group for Public instance-Bastion"
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["${var.s_group_vpc_cidr}"]
}
egress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
egress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
tags {
Name = "Public_sgGroup"
}
}
私人集团
resource "aws_security_group" "private_sg" {
name = "Private_sg"
description = "Security Group for Private instance"
egress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["${var.s_group_vpc_cidr}"]
}
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
tags {
Name = "Private_sgGroup"
}
}
提前感谢。这似乎应该能起作用。你试过了吗?你遇到什么问题了吗?我建议在私有实例的
ingres
块中使用security\u groups
而不是cidr\u blocks
,这样您只能从公共实例进行ssh,而不能从公共子网中的任何服务器进行ssh。那么问题是什么呢?你不能ssh进入堡垒,或者从堡垒到第二个实例?