AWS 文档中提到,需要经典负载均衡器才能将 ECS 服务连接到多个端口:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html
但是,当将 ECS 与 Fargate 结合使用时,我收到错误消息:Classic Load Balancer 不支持网络模式awsvpc
:
是否无法使用 Fargate 对 ECS 服务的多个端口进行负载平衡?
该文档指出,无法将 Classic Load Balancer 与 Fargate 启动类型一起使用。
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
包含使用以下任务的服务awsvpc网络模式(例如具有 Fargate 启动类型的模式)仅支持 Application Load Balancer 和 Network Load Balancer;不支持经典负载均衡器。此外,当您为这些服务创建任何目标组时,您必须选择 ip 作为目标类型,而不是实例。这是因为使用 awsvpc 网络模式的任务与弹性网络接口关联,而不是与 Amazon EC2 实例关联。
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#network_mode https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#network_mode
如果使用 Fargate 启动类型,awsvpc network mode is required
. 如果使用 EC2 启动类型,则可以使用任何网络模式。如果网络模式设置为 none,则无法在容器定义中指定端口映射,并且任务的容器没有外部连接。主机和 awsvpc 网络模式为容器提供最高的网络性能,因为它们使用 Amazon EC2 网络堆栈而不是桥接模式提供的虚拟化网络堆栈。
以下博客文章可能会帮助您找到适合您案例的正确方法。
AWS 博客 - AWS Fargate 中的任务网络
https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/ https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)