amazon-web-services - 适用于 VPC 私有(private)子网中 EC2 实例的 Amazon ELB

标签 amazon-web-services amazon-ec2 amazon-elb amazon-vpc vpc

我正在使用 Amazon EC2,并且希望将面向互联网的 ELB(负载均衡器)放置到私有(private)子网上的 2 个实例。我正在使用具有公共(public)和私有(private)子网的 VPC。

  • 如果我只是将私有(private)子网添加到 ELB,它将不会获得任何连接。
  • 如果我将两个子网都附加到 ELB,那么它可以访问实例,但通常会超时。 (引用屏幕截图 1)
  • 如果我仅附加到公共(public)子网,则附加到 ELB 的实例将停止服务,因为我在公共(public)子网中没有任何实例,实例计数显示 0。(请参阅屏幕截图 2)

屏幕截图 1: 两个子网均已连接 Both subnets attached

屏幕截图 2: 仅附加公共(public)子网 Only public subnet attached

我的问题实际上是 this question 的扩展。在执行了接受的答案中提到的所有 6 个步骤后,我仍然感到震惊,附加到 ELB 的实例失去了服务。我什至尝试过在 EC2 实例和 ELB 的安全组中允许端口,但这没有帮助。

请帮忙,我对此感到很头疼。

最佳答案

您提到的另一个问题是正确的。双重/三重检查以下内容

  • 您只需将公有子网附加到 ELB,确保这些子网的可用区与您的实例所在的私有(private)子网的可用区一致。
  • 确保实例的安全组允许从负载均衡器的安全组进行访问
  • 负载均衡器安全组应具有允许运行状况检查到达实例的导出规则
  • 确保您的健康检查在本地实例上正常运行。例如,如果 ELB 中的运行状况检查为 HTTP:8080/health_check,则在实例上您可以 curl x.x.x.x:8080/health_check(其中 x.x.x.x) code> 是实例的私有(private) IP)并获得 200 响应代码。
  • 公有子网路由表应将 0.0.0.0/0 路由到附加到您的 VPC 的互联网网关。
  • 私有(private)子网路由表应将 0.0.0.0/0 路由到公有子网中的 NAT 实例或网关

关于amazon-web-services - 适用于 VPC 私有(private)子网中 EC2 实例的 Amazon ELB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541895/

相关文章:

python - 如何使用 Boto3 从 ami 获取实例 ID

javascript - 认知 : How to correctly implement enhanced simplified authentication flow

amazon-web-services - 无法从ubuntu 14.04 LTS SSH到Amazon EC2实例

amazon-web-services - AWS-ELB错误页面重定向到其他域

amazon-web-services - AWS 负载均衡器导致 API 请求缓慢

amazon-web-services - AWS::Lambda::Function,JS 文件作为源

amazon-web-services - 如何默认将AWS S3存储桶中的所有对象设为公开?

python - 确定 Amazon EC2 实例创建日期/时间

ruby-on-rails - Chef 部署?

amazon-web-services - 如何启用在不同 AWS ECS 集群上运行的两个任务之间的通信