Alo*_*nzo 6 amazon-ec2 amazon-rds amazon-vpc
我一直在尝试使用EC2实例和运行MySQL的RDS数据库来设置AWS Free Tier帐户.不幸的是,我无法弄清楚如何从EC2实例授予对数据库的访问权限.我已经阅读了所有AWS文档,但遗憾的是,StackOverflow上发布的所有问题都已过时.所有文档都说明我应该转到RDS仪表板的安全组部分.但是,当我这样做时,这就是我所面对的.

**我会包含图像,但我没有它的声誉.
好的,我知道我没有使用EC2-Classic平台,我必须对EC2仪表板中的安全组进行这些更改,但是如何?!我不希望公共访问端口3306,我只希望EC2实例能够与私有子网上的RDS数据库通信.任何帮助将不胜感激.
"支持的平台上的AWS文档"和"在VPC中使用RDS"的链接没有帮助.它们已经过时,并且还会继续将我引回到RDS仪表板下的安全组,然后只显示此消息.
sla*_*fer 16
经验法则:在VPC中设置资源时,仅使用VPC安全组.个人RDS,Redshift ......等.安全组只在ec2-classic的情况下工作.意思是,当你没有在VPC中设置东西时.
转到VPC控制台,然后在左侧菜单中,您将找到安全组.这些安全组应控制对VPC内部署的AWS资源的访问.
我不能详细说明,因为我不知道您的VPC配置以及您正在设置这些子网(公共/私有).
这是假设情景......
VPC: 10.0.0.0/16
1 public subnet: 10.0.0.0/24
1 Private Subnet: 10.0.1.0/24
Run Code Online (Sandbox Code Playgroud)
因此,这些是安全组设置:
对于EC2实例安全组:
Inbound: port 80, 443 : from 0.0.0.0/0
Outbound: port 3306 : to 10.0.1.0/24
Run Code Online (Sandbox Code Playgroud)
对于RDS安全组:
Inbound: port 3306: from 10.0.0.0/24
Run Code Online (Sandbox Code Playgroud)
Inbound: port 80, 443 : from 0.0.0.0/0
Run Code Online (Sandbox Code Playgroud)
这将允许从Internet上的端口80和443访问EC2实例.
Outbound: port 3306 : to 10.0.1.0/24
Run Code Online (Sandbox Code Playgroud)
这允许EC2实例仅将端口3306上的流量发送到私有子网10.0.1.0/24
Inbound: port 3306: from 10.0.0.0/24
Run Code Online (Sandbox Code Playgroud)
这允许RDS实例从公共子网10.0.0.0/24接受端口3306上的流量.您的EC2实例位于公有子网中,因此RDS将接受来自端口3306上的Ec2实例的流量
注意:以上设置假定您已相应地为公共/私有子网设置路由表.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
5578 次 |
| 最近记录: |