Amazon web services 专有网络专用子网中EC2实例的Amazon ELB
我使用的是AmazonEC2,我想把一个面向internet的ELB(负载平衡器)放到一个私有子网上的两个实例中。我将VPC用于公共和私有子网Amazon web services 专有网络专用子网中EC2实例的Amazon ELB,amazon-web-services,amazon-ec2,amazon-elb,amazon-vpc,vpc,Amazon Web Services,Amazon Ec2,Amazon Elb,Amazon Vpc,Vpc,我使用的是AmazonEC2,我想把一个面向internet的ELB(负载平衡器)放到一个私有子网上的两个实例中。我将VPC用于公共和私有子网 如果我只是将私有子网添加到ELB,它将不会获得任何连接 如果我将两个子网都连接到ELB,那么它可以访问实例,但通常会超时。(请参阅屏幕截图1) 如果我只附加到公共子网,那么我附加到ELB的实例将停止服务,因为我在公共子网中没有任何实例,实例计数显示为0。(请参阅屏幕截图2) 屏幕截图1:两个子网均已连接 屏幕截图2:仅连接公共子网 我的问题实际上
- 如果我只是将私有子网添加到ELB,它将不会获得任何连接
- 如果我将两个子网都连接到ELB,那么它可以访问实例,但通常会超时。(请参阅屏幕截图1)
- 如果我只附加到公共子网,那么我附加到ELB的实例将停止服务,因为我在公共子网中没有任何实例,实例计数显示为0。(请参阅屏幕截图2)
请帮帮我,我的头都快碎了 你提到的另一个问题是正确的。双重/三重检查以下各项
- 您只需要将公共子网连接到ELB,确保这些子网的可用性区域与实例所在的私有子网的可用性区域对齐李>
- 确保实例的安全组允许从负载平衡器的安全组进行访问
- 负载平衡器安全组应具有允许运行状况检查到达实例的出口规则
- 确保您的运行状况检查正在本地对实例进行。例如,如果ELB中的健康检查为
,则在实例上可以HTTP:8080/health\u check
(其中curl x.x.x.x:8080/health\u check
是实例的私有IP)并获得200响应代码李>x.x.x.x
- 公共子网路由表应将
路由到连接到VPC的internet网关0.0.0.0/0
- 专用子网路由表应将
路由到公用子网中的NAT实例或网关0.0.0.0/0
- 另一个问题对我也有帮助。对我来说,我一直忘记我需要将软件安装到服务器(即Apache),如果您不创建NAT GW或其他方法来允许软件安装,它将失败。如果您想尝试一种自动化时尚,而不需要太多麻烦,您可以尝试以下脚本:
https://github.com/jouellnyc/AWS/tree/master/create_aws_vpc3
注意,已经有很多好的文档和讨论,但是:
我从ELB得到的HTTP代码:
- 504-可能是安全组-允许访问实例的端口80
- 503-可能是错误的目标组设置
- 502-可能Apache/Server没有运行b/c,它没有安装,因为没有nat gw或安装软件的方法