Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 网络负载平衡器目标组中的AWS自动缩放目标_Amazon Web Services_Amazon Ec2_Autoscaling_Nlb - Fatal编程技术网

Amazon web services 网络负载平衡器目标组中的AWS自动缩放目标

Amazon web services 网络负载平衡器目标组中的AWS自动缩放目标,amazon-web-services,amazon-ec2,autoscaling,nlb,Amazon Web Services,Amazon Ec2,Autoscaling,Nlb,最近开始使用网络负载均衡器,它侦听端口80并将流量转发给我的目标组。我的自动缩放组配置为将任何新目标添加到此目标组 但是,我在目标EC2实例上的应用程序在端口8001而不是80上运行。因此,我的目标应该在目标组的端口8001下注册。自动缩放配置似乎不支持这一点。通过自动缩放创建的所有新实例都作为端口80的目标添加,并且无法自动指定应该使用哪个端口(对于我来说是8001) 有什么想法可以实现吗?目标组中的端口定义就是您要查找的端口定义。目标组中的端口是目标接收流量的端口。侦听器上的端口是负载平衡器

最近开始使用网络负载均衡器,它侦听端口80并将流量转发给我的目标组。我的自动缩放组配置为将任何新目标添加到此目标组

但是,我在目标EC2实例上的应用程序在端口8001而不是80上运行。因此,我的目标应该在目标组的端口8001下注册。自动缩放配置似乎不支持这一点。通过自动缩放创建的所有新实例都作为端口80的目标添加,并且无法自动指定应该使用哪个端口(对于我来说是8001)


有什么想法可以实现吗?

目标组中的端口定义就是您要查找的端口定义。目标组中的端口是目标接收流量的端口。侦听器上的端口是负载平衡器侦听请求的端口


因此,您应该在侦听器上设置端口80,在目标组上设置端口8001。

目标组中的端口定义就是您要查找的端口定义。目标组中的端口是目标接收流量的端口。侦听器上的端口是负载平衡器侦听请求的端口


因此,您应该在侦听器上设置端口80,在目标组上设置端口8001。

您使用的是哪种应用程序(web服务器、应用程序服务器等)?也许ALB更适合您,因为它工作在OSI模型的第7层,因此它能够处理HTTP头,例如

回到你的问题上来;为了能够将流量转发到在端口8001上运行应用程序的EC2实例,您必须将目标组上的端口设置为8001。Auto scaling group对EC2 it设备上运行的应用程序一无所知,也不知道该应用程序使用的端口

因此,最终的流程如下所示:

LB侦听端口80并将流量转发到端口8001上的目标组。然后,此目标组将流量发送到端口8001上的目标(您的EC2实例)


您使用的是哪种应用程序(web服务器、应用程序服务器等)?也许ALB更适合您,因为它工作在OSI模型的第7层,因此它能够处理HTTP头,例如

回到你的问题上来;为了能够将流量转发到在端口8001上运行应用程序的EC2实例,您必须将目标组上的端口设置为8001。Auto scaling group对EC2 it设备上运行的应用程序一无所知,也不知道该应用程序使用的端口

因此,最终的流程如下所示:

LB侦听端口80并将流量转发到端口8001上的目标组。然后,此目标组将流量发送到端口8001上的目标(您的EC2实例)


您在目标组的何处设置端口?我看不出来。我只能在手动添加目标实例时才能看到它。因此,当auto scaler添加它时,它并不在意,只是将端口为80的实例添加到目标组中。您可能需要为此重新创建目标组。我看不到在不重新创建目标端口的情况下修改目标端口的方法。您在目标组上的何处设置端口?我看不出来。我只能在手动添加目标实例时才能看到它。因此,当auto scaler添加它时,它并不在意,只是将端口为80的实例添加到目标组中。您可能需要为此重新创建目标组。我看不到在不重新创建的情况下修改目标端口的方法。运行web服务器(Daphne for python)。当我通过控制台创建新的目标组时,我看不到在目标组上设置端口的位置。我唯一可以设置端口的地方是重写目标组的运行状况检查设置时。不幸的是,一旦创建目标组,就无法更改其转发的流量的端口号。因此,必须在创建资源时指定它(参见随附的img)。我不知道目标群体上的端口实际上是这样做的。希望在我创建目标组时字段名旁边有这样的解释。@jpact,当手动向目标组(TG)添加实例时,单个实例可以在多个端口上向TG注册(可能是为了支持微服务)。但是,当自动缩放组与TG关联时,不确定是否可以在运行web服务器(Daphne for python stuff)的ASG启动的实例上指定多个侦听端口。当我通过控制台创建新的目标组时,我看不到在目标组上设置端口的位置。我唯一可以设置端口的地方是重写目标组的运行状况检查设置时。不幸的是,一旦创建目标组,就无法更改其转发的流量的端口号。因此,必须在创建资源时指定它(参见随附的img)。我不知道目标群体上的端口实际上是这样做的。希望在我创建目标组时字段名旁边有这样的解释。@jpact,当手动向目标组(TG)添加实例时,单个实例可以在多个端口上向TG注册(可能是为了支持微服务)。但是,当自动缩放组与TG关联时,不确定是否可以在ASG启动的实例上指定多个侦听端口-有什么想法吗?