简而言之
我已经成功跑了Traefik
本地及上AWS ECS
但现在我想知道应该如何设置某种负载平衡,以使我的两个具有随机 IP 的服务可供公众使用。
我当前在 ECS 上的设置
[Internet]
|
[Load balancer on port 443 + ALB Security group on 443]
|
[Target group on port 443 + Security group from *any* port]
|
[cluster]
|
[service1 container ports "0:5000"]
虽然这有效,但我现在想添加另一个容器,例如。service2
也有随机端口,例如0:8000
。这就是为什么我需要类似的东西Traefik
.
我做了什么
这是 Toml 文件:
[api]
address = ":8080"
[ecs]
clusters = ["my-cluster"]
watch = true
domain = "mydomain.com"
region = "eu-central-1"
accessKeyID = "AKIA..."
secretAccessKey = "..."
我还添加了主机条目/etc/hosts
:
127.0.0.1 service1.mydomain.com
127.0.0.1 service2.mydomain.com
容器上的相关标签我可以curl service1.mydomain.com/status
并得到一个200
.
现在我的最后一点只是以下问题:
- 应该如何将这一切发布到互联网上?
AWS ALB
? AWS Network LB
?网桥/主机/其他?
AWS ALB 与 AWS Network LB 取决于您希望由谁来处理 SSL。
在这两种情况下,您的设置将如下所示:
[Internet]
|
[LB]
|
[Target group]
|
[Traefik]
| |
[service1] [service2]
在这两种情况下,最简单的方法是让 traefik ecs 服务自动注册到目标组。
这可以在服务创建时完成(网络配置部分),并且不能在以后完成。文档链接 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html
配置控制台屏幕 http://clusterfrak.com/img/tuts/container_labs/clustering_ecs_create_service_3.png
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)