拇指规则:当您在VPC中设置资源时,请仅使用仅限VPC安全组。个人RDS,Redshift等等。安全小组仅在ec2-classic的情况下工作。意思是,当你没有在VPC中设置东西时。
转到VPC控制台,然后在左侧菜单中找到安全组。这些安全组应控制对VPC内部署的AWS资源的访问。
我不能详细说明,因为我不知道你的VPC配置以及你设置的子网(公共/私有)。
UPDATE:
这里是假设的情况
VPC: 10.0.0.0/16
1 public subnet: 10.0.0.0/24
1 Private Subnet: 10.0.1.0/24
- 假设你把你的EC2实例在公共子网
- 假设你把你的RDS比如在私人子网
- 您希望EC2实例可以从世界的80,443访问,并且RDS实例应该可以访问通过EC2实例。
所以,这些都是安全组设置:
为EC2实例安全组:
Inbound: port 80, 443 : from 0.0.0.0/0
Outbound: port 3306 : to 10.0.1.0/24
对于RDS安全组:
Inbound: port 3306: from 10.0.0.0/24
说明:
Inbound: port 80, 443 : from 0.0.0.0/0
这将使得EC2实例是在80和443端口从Internet访问。
Outbound: port 3306 : to 10.0.1.0/24
这使得EC2实例发送流量的端口3306只专用子网是10.0.1.0/24
Inbound: port 3306: from 10.0.0.0/24
这使得RDS实例接受来自公共子网10.0.0.0/24的端口3306上的流量。您的EC2实例驻留在公共子网,以便固有RDS将接受流量EC2实例在端口3306
注:上面的设置假定您已经设置相应的路由表中的公共/私人子网。
希望这会有所帮助。
好的,谢谢你的反馈。我想到了这一点。但我仍然不明白如何设置安全组,以便我的ec2实例可以与RDS数据库进行通信。我想建立一个非常简单的配置。 EC2实例只能在端口80和443上公开访问.RDS实例不应公开访问。它应该只能从ec2实例的端口3306访问。所以,我的问题是如何在安全组中设置入站规则? – Alonzo
@Alonzo查看最新的答案。 – slayedbylucifer
非常感谢!我需要两个安全组,然后我必须允许从一个安全组访问另一个安全组。那是我无法将头包裹起来的原因。我认为我必须在一个安全团队中设置这一切。 – Alonzo