我有一个面向互联网的V2 ELB . 当我从笔记本电脑连接到VPC时,它将请求路由到VPC中的实例 . 但是,当我尝试从同一VPC内的另一个实例连接到它时,安全组防火墙规则会阻止连接 .
我可以将VPC中的实例连接到ELB的唯一方法是打开https端口(443)到世界各地 .
我究竟做错了什么?
ELB(https://elb.domain.com)有以下attrs:
-
面向互联网,V2(非经典ELB)
-
VPC:vpc-aaa
-
AZs:subnet-a,subnet-b
-
监听器:443 - > 8080实例端口
-
源安全组:my-vpc-elb,带入站规则:
-
443,来源:1.2.3.170/32(我的笔记本电脑IP)
-
443,source:sg-a(我的vpc实例的sg名称,无法连接,是的)
-
443,来源
<CIDR of vpc-aaa, 1.2.0.0/16>
从我的笔记本电脑我可以放入https://elb.domain.com并且工作正常 .
我现在有另一个实例,其中以下的attrs无法连接到https://elb.domain.com:
-
子网ID:subnet-a
-
安全组:sg-a
为什么ELB安全组规则 443, source: sg-a
不允许连接?为什么只有在ELB安全组中允许443入站"All traffic"时它才有效?
1 回答
当连接到面向公众的负载均衡器时,VPC中的实例将始终退出VPC并从公共IP返回 . 在这种情况下,无法通过安全组锁定入站流量 .
如果尝试连接到ELB的VPC实例不需要公共IP,则只需在ELB上设置入站规则,该规则仅允许源是您的VPC NAT网关的源 .
如果他们确实需要公共IP,则您被迫指定AWS VPC公共IP范围,或者如果您使用EIP,则可以指定EIP .