我应该如何在 ECS 上设置 Traefik?

2024-01-12

简而言之

我已经成功跑了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。

  • 如果您有通配符证书并且您的所有服务都是同一域的子域 ALB 可能是一个不错的选择

  • 如果你想使用 Let's encrypt with traefik Network LB 可能是更好的选择

在这两种情况下,您的设置将如下所示:

    [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(使用前将#替换为@)

我应该如何在 ECS 上设置 Traefik? 的相关文章

随机推荐

  • MissingMethodException:找不到方法:'布尔值

    帮助我在运行 ASP NET 项目时解决此错误 MissingMethodException Method not found Boolean Microsoft AspNetCore Cryptography UnsafeNativeMe
  • RichTextBox 在 Azure 上抛出 OutOfMemory

    我正在使用 RichTextBox 将 RTF 中的字符串转换为纯文本 使用这段代码 private string ConvertToText string rtf if string IsNullOrWhiteSpace rtf retu
  • Interface Builder 从目标继承模块选择了错误的目标

    我有一个包含三个方案的项目 Debug MyApp Beta MyApp MyApp 该项目具有三种配置 Debug Beta 和 AppStore 此外 每个目标都会构建各自的配置 当我在 Interface Builder 中使用自定义
  • jeromq 生产准备好了吗?

    我过去曾通过 JVM 应用程序使用 ZeroMQjzmq图书馆 我计划在一个新项目中使用 Zeromq 其中一些服务是在 JVM 上实现的 我刚刚发现jeromq https github com zeromq jeromq 一个 Zero
  • 面包屑微数据帮助

    我正在尝试帮助 Google 为我的网站生成适当的面包屑详细信息 我目前正在使用它作为面包屑 div span class crust a href http www radonsystems net class crumb span Ho
  • Git - 更改分支时文件会去哪里?

    刚刚开始学习 git 我喜欢它的概念 到目前为止 有一件事对我来说有点奇怪 我似乎无法在搜索中找到 当我打字时git checkout branchName要更改为我想要的任何分支 当我查看 Finder 窗口时 我可以根据我所在的分支直观
  • Kubernetes 部署与 StatefulSet

    我对 Kubernetes 做了很多挖掘 我很喜欢我所看到的 我一直无法清楚地了解的一件事是 Deployment 和 StatefulSet 资源之间的确切区别是什么 以及您将在哪些场景中使用它们 或者通常更喜欢其中一种 Deployme
  • 顺序对象是否由指定的 jQuery 选择器返回?

    所有 jQuery 选择器都会返回一个对象数组 这些对象的顺序是否始终与 HTML 中的顺序相同 我可以依靠这个吗 Yes The jQuery 1 3 2 发行说明 https blog jquery com 2009 02 20 jqu
  • 如何获得两个元素之间的距离(中点)?

    我需要你的帮助 我在它们之间放置了随机数量的 div div div class item Item description div div class item Item description div div class item It
  • Vim 突出显示 FORTRAN 中奇怪的部分

    我正在使用 VIM 主题 molokai 如果这有什么区别的话 我最近一直在学习 FORTRAN 当我使用 VIM 编写 FORTRAN 程序时 根据我的空白 我有奇怪的颜色 例如 如果我按原样 没有缩进 进行制表符 我只会在单词的一部分上
  • Enumerable.Range - 什么时候使用才有意义?

    编程时 几乎本能地决定何时使用 for 循环或 foreach 但是选择使用 Enumerable Range 的决定因素或问题空间是什么 A For Loop当我们想要迭代一定次数 通过简单的数据类型 来计算 执行重复任务时选择 A Fo
  • 在Java编译器中,哪种类型可以定义为标识符(ID)或关键字(保留字)?

    我有一个简单的问题 在Java编译器中 哪些类型的方法或变量可以被定义为标识符 ID 或关键字 保留字 对于以下示例 ID 应为 add main a b c Test1 关于什么print is printID 或关键字 Example
  • Postgres - 返回 2 个数组的交集的函数?

    在 postgresql 中 如果两个数组具有公共成员 即它们重叠 则可以使用 运算符返回 t true 是否有一个函数 运算符可以返回这些常见成员的内容 即像这样 select arrray intersection ARRAY 1 4
  • 如何从自定义发行版中采样?

    我有一个发行版的pdf 该分布不是标准分布 R 中不存在可从中采样的函数 如何使用 R 从此 pdf 中进行采样 这更多的是一个统计问题 因为它需要采样 但一般来说 您可以采用这种方法来解决问题 查找发行版f 其 pdf 当乘以任何给定常数
  • Hibernate 中的通用 DAO 模式

    在处理 Hibernate 时 我们遵循 Hibernate Doc 中提到的通用 Hibernate DAO 模式 因此 我们目前正在维护两个并行的层次结构 1 对于接口 2 实施 因此 如果我们以这种方式工作 即使除了标准持久性方法之外
  • 如何在 xampp windows [php 7.2] 中安装/启用 GD?

    我不知道如何为 PHP7 2 安装 php gd 有没有办法在 xampp windows 中安装 启用 GD 扩展 我检查了 php ini 文件php gd2 dll但我找不到那条线 PHP7 2 中似乎缺少 GD 有什么建议么 转到
  • 是否可以使用指向参数数量未知的函数的指针?

    我正在编写一个简单的类来衡量函数在时间方面的性能 用户应该能够发送指向他的函数的指针 函数的参数 调用该函数的时间以及我将调用该函数的时间 返回经过的时间 我的问题是我不知道用户的函数需要多少个参数 我想使用可变参数函数来获取未知数量的参数
  • 运行 tf.estimator.train 100 步时,在张量板上仅看到一个步骤

    我有一个通过我自己的自定义构建的自定义估算器model fn 我想跑train并在张量板上查看每个步骤的数据点 但是 无论步骤数如何 每次调用我都只能看到一个数据点 以下是我构建和训练估算器的方法 estimator tf estimato
  • 以给定概率获取伪随机项

    我想在用户登录时给他一个奖品 但它需要有一些稀有的奖品 所以我想使用百分比以不同的机会出现奖品 我想显示其中之一 50 flower 30 book 20 mobile 使用他们拥有的百分比 如果有任何方法使用 Node js 或只是 ja
  • 我应该如何在 ECS 上设置 Traefik?

    简而言之 我已经成功跑了Traefik本地及上AWS ECS但现在我想知道应该如何设置某种负载平衡 以使我的两个具有随机 IP 的服务可供公众使用 我当前在 ECS 上的设置 Internet Load balancer on port 4