2017-03-02 71 views
2

我有一个面向互联网的V2 ELB。当我从笔记本电脑连接到VPC时,它会将请求路由到VPC中的实例。但是,当我尝试从同一个VPC内的另一个实例连接到安全组时,安全组防火墙规则会阻止连接。无法连接到VPC实例中面向ELB的互联网

我可以让VPC中的实例连接到ELB的唯一方法是向世界打开https端口(443)。

我在做什么错?

的ELB(https://elb.domain.com)具有以下ATTRS:

  • 面向Internet,V2(未经典ELB)
  • VPC:VPC-AAA
  • AZS:子网一个,子网-B
  • 听众:443 - > 8080实例端口
  • 源安全组:我-VPC-ELB,入站规则:
    • 443,来源:1.2.3.170/32(我的笔记本电脑IP)
    • 443,来源:SG-A(在我的VPC实例,再也无法连接SG的名称,是)
    • 443,源<CIDR of vpc-aaa, 1.2.0.0/16>

从我的笔记本电脑,我可以把https://elb.domain.com,事情很好地工作。

我现在有以下ATTRS另一个实例是无法连接到https://elb.domain.com

  • 子网ID:子网一个
  • 安集团:SG-一个

为什么会出现ELB安全组规则443, source: sg-a不允许连接?为什么只有当我允许ELB安全组中的443入站“所有流量”时它才起作用?

+0

非常类似于:[配置AWS安全组以允许私有实例访问面向公众的负载均衡器的任何方式?](http://stackoverflow.com/questions/30785695/any-way-to-configure- aws-security-group-to-allow-private-instances-to-access-ap) –

+0

面向公众负载平衡器的流量将始终退出VPC并返回,因此无法打开达到特定安全组。如果您使用的是NAT,则可以将其打开至NAT的公共IP地址。 –

+0

@JohnRotenstein是类似的。然而,我的例子有公共IP,并且可以访问互联网(正如我向世界开放所说的那样)。 – rynop

回答

1

VPC中的实例在连接到面向公众的负载平衡器时,将始终退出VPC并从公共IP返回。在这种情况下,无法通过安全组锁定入站流量。

如果试图连接到ELB的VPC实例不需要公共IP,则只需在ELB上设置入站规则,该规则只允许源为您的VPC NAT网关的源。

如果他们确实需要公共IP,则您被强制指定AWS VPC公共IP范围,或者如果您使用EIP,则可以指定EIP。