2017-03-02 75 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。