我正在尝试使用 Traefik v1 (1.7) 和 ECS 一次性任务作为后端来实现反向代理服务的解决方案,如此 SO question 中所述。路由应该是动态的 - 对路径的请求/user/1234/*
应该转到 ECS 任务,使用适当的 docker 标签运行:
docker_labels = {
traefik.frontend.rule = "Path:/user/1234"
traefik.backend = "trax1"
traefik.enable = "true"
}
到目前为止,此设置工作正常,但我需要为每个正在运行的任务创建一个 ECS 任务定义,因为 docker 标签是 ECS TaskDefinition 的属性,而不是 ECS 任务本身。是否可以在任务键/值属性中仅创建一个 TaskDefinition 并在 ECS 任务标签中传递 Traefik 规则?
这将需要对 Traefik 源代码进行一些修改,是否还有其他可用的选项或实现方式,我错过了,比如 API Gateway 或 Lambda@Edge?我对这些技术没有经验,现实世界的例子更受欢迎。