我应该如何在 ECS 上设置 Traefik?
How should I setup Traefik on ECS?
简而言之
我已经设法 运行 Traefik
在本地和 AWS ECS
但现在我想知道我应该如何设置某种负载平衡以使我的两个服务具有随机性public.
可用的 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
?网络 Bridge/host/other?
AWS ALB 与 AWS 网络 LB 取决于您希望谁来处理 SSL。
如果你有一个通配符证书,并且你所有的服务都是同一个域的子域,ALB 可能是一个不错的选择
如果你想使用Let's encrypt with traefik Network LB可能是更好的选择
在这两种情况下,您的设置将如下所示:
[Internet]
|
[LB]
|
[Target group]
|
[Traefik]
| |
[service1] [service2]
在这两种情况下,最简单的方法是让 traefik ecs 服务自动注册到目标组。
这可以在服务创建时完成(网络配置部分),以后不能完成。 Link to documentation
简而言之
我已经设法 运行 Traefik
在本地和 AWS ECS
但现在我想知道我应该如何设置某种负载平衡以使我的两个服务具有随机性public.
我当前在 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
?网络 Bridge/host/other?
AWS ALB 与 AWS 网络 LB 取决于您希望谁来处理 SSL。
如果你有一个通配符证书,并且你所有的服务都是同一个域的子域,ALB 可能是一个不错的选择
如果你想使用Let's encrypt with traefik Network LB可能是更好的选择
在这两种情况下,您的设置将如下所示:
[Internet]
|
[LB]
|
[Target group]
|
[Traefik]
| |
[service1] [service2]
在这两种情况下,最简单的方法是让 traefik ecs 服务自动注册到目标组。
这可以在服务创建时完成(网络配置部分),以后不能完成。 Link to documentation