从EC2到EC2的SSH,安全组使用公共IP,而不是安全组

时间:2017-12-13 16:09:50

标签: amazon-web-services amazon-ec2 ssh

我有两台EC2机器,每台机器都有自己的安全组(SG)。一个是具有弹性IP的EC2实例。另一个是Elastic Beanstalk的一部分。我使用弹性(静态)IP地址将我的Elastic Beanstalk机器SSH连接到EC2机器。

我更改EC2机器的SG以允许来自Elastic Beanstalk的SG的端口22。 SSH无法连接。

我更改EC2机器的SG以允许端口22来自专用VPC范围(172.31.0.0)。 SSH无法连接。

这是因为我通过公共IP访问EC2吗?

我更改EC2机器的SG以允许Elastic Beanstalk的公共IP的端口22。 SSH连接!

如何为我的EC2机器设置安全组,允许从我的Elastic Beanstalk实例进行SSH访问,而不依赖于公共IP? (因为它们在使用Beanstalk时会发生变化,我不想继续更新安全组)。

1 个答案:

答案 0 :(得分:0)

我回答了自己的问题!

问题是在建立SSH连接时使用EC2实例的公共(弹性)IP。基于this StackoverFlow answer,当使用公共IP地址时,安全组也需要公共IP地址。

更改对公共DNS(包含弹性/静态IP地址ec2-XXX-XX-XXX-XXX.compute-1.amazonaws.com的访问权限,因此不应对我进行更改)允许EC2解析内部IP地址,因此安全组规则适用于另一个安全组!