首页 文章

Amazon ELB用于VPC中私有子网中的EC2实例

提问于
浏览
40

我正在使用Amazon EC2,我想将面向Internet的ELB(负载均衡器)放到私有子网上的2个实例上 . 我正在使用VPC与公共和私人子网 .

  • 如果我只是将私有子网添加到ELB,它将不会获得任何连接 .

  • 如果我将两个子网连接到ELB,那么它可以访问实例,但它通常会超时 . (参见截图1)

  • 如果我只附加到公共子网,那么附加到ELB的实例会获得OutOfService,因为我在公共子网中没有任何实例,实例计数显示为0.(参见屏幕截图2)

Screenshot 1: 两个子网都附有
Both subnets attached

Screenshot 2: 仅附加公共子网
Only public subnet attached

我的问题实际上是this question的扩展 . 按照接受的答案中提到的所有6个步骤后,我仍然受到打击,我附加到ELB的实例获得了OutOfService . 我甚至尝试过允许EC2实例和ELB的安全组中的端口,但它没有帮助 .

请帮帮忙,我突然想到这个 .

1 回答

  • 64

    您引用的另一个SO问题是现货 . 双/三检查以下内容

    • 您只需要将公共子网附加到ELB,确保可用区域的子网与您的实例所在的私有子网的可用区域对齐 .

    • 确保实例的安全组允许从负载均衡器的安全组进行访问

    • 确保您的运行状况检查在实例上本地运行 . 例如,如果您在ELB中的运行状况检查是 HTTP:8080/health_check ,则在实例上您可以 curl x.x.x.x:8080/health_check (其中 x.x.x.x 是实例的私有IP)并获得200响应代码 .

    • 公有子网路由表应将 0.0.0.0/0 路由到连接到VPC的Internet网关 .

    • 私有子网路由表应将 0.0.0.0/0 路由到公有子网中的NAT实例或网关

相关问题