2016-03-28 82 views
0

我有两台AWS Linux AMI服务器。 一个使用Node.JS HTTPS服务器,第二个使用我的Mongo DB。入站流量的AWS安全组

连接到我的MongoDB服务器的唯一方法是通过我的Node.JS服务器。

在我的MongoDB服务器的AWS安全组中,我能够将Node.JS服务器的AWS安全组名称放在“入站”选项卡的“源”列中,并且允许它连通性,但我想知道安全组实际做了什么设置?

更具体地说,这是允许什么IP地址?

enter image description here

如果你点击“我”旁边源它指出:

enter image description here

回答

0

我因为根据最初使出使用“私有IP地址”为AWS实例之间的通信AWS documentation

私有IP地址是通过无法访问的IP地址互联网。您可以使用专用IP地址在同一网络(EC2-Classic或VPC)中的 实例之间进行通信。

但经过一番讨论(请参阅下面的评论),似乎更好的解决方案可能是使用AWS安全组。我最初对使用AWS安全组犹豫不决是毫无根据的。

我担心的是,如果我将分配给我的Node.js服务器的相同安全组添加到我的MongoDB服务器的入站流量选项卡的“源”中,那么我的MongoDB服务器将继承相同的入站流量规则交通)。

上述担心是毫无根据的,因为将入站源设置为安全组不会继承规则,而只是允许来自已分配给该安全组的任何实例的入站流量。

+3

我认为你正在做这个倒退。执行此操作的首选方法是指定安全组(如您最初所做的那样),而不是IP地址。使用IP地址在自动缩放等方面效果不佳。 –

+2

嗯,是的,这也适用,但你说这是“正确的”解决方案肯定是错误的,因为你以前的方式同样适用。当您将安全组标识设置为源时,您允许匹配该安全组中的任何实例。 VPC基础设施知道哪些实例是哪些组的成员,因此这种方法非常有效,并且随着规模的扩大而更加简单。指定安全组完全等同于单独添加组成员的私有IP地址,不同之处在于不需要管理地址。 –

+0

@MarkB显然你输入的速度比我快。 –