【问题标题】:ECS with ALB, web and application Server [closed]带有 ALB、Web 和应用程序服务器的 ECS [关闭]
【发布时间】:2017-08-22 03:59:58
【问题描述】:

我有一个面向 Internet 的 Application Load Balancer 设置和一个带有 Auto Scaling Group 的 ECS 容器服务设置,在 AWS 中有 2 个私有子网。我想用 Nginx 安装 Nexus。什么是我可以充分利用所有这些服务的最佳策略?

【问题讨论】:

    标签: amazon-web-services nginx nexus amazon-elb amazon-ecs


    【解决方案1】:

    我假设您希望将 Nginx 部署为 Nexus 前面的反向代理。如果是这样,AWS 的以下参考架构应该会有所帮助:

    https://github.com/awslabs/ecs-nginx-reverse-proxy/tree/master/reverse-proxy

    它展示了如何创建一个包含两个相互链接的任务的任务定义,这样一个 nginx 反向代理容器可以位于您的应用程序前面并向其发送流量。

    【讨论】:

    • 感谢您的回复。这是我想做的事情,但我想知道我是否能够自定义 Nginx 配置文件来为 HTTPS 添加 CA 证书或稍后链接更多服务器容器。您提供的链接没有关于 HTTPS 的任何内容,并且我的带有 Auto Scaling 组的 ECS 会在我自定义 Nginx 配置后立即创建另一个 Nginx 任务。另外,我在 Nginx 中进行更改后,所有最近更改的 Nginx 配置都丢失了。
    • @AlwaysALearner 理想情况下,您希望您的容器是不可变的。您不能更改正在运行的容器并期望新状态持续存在。如果您想对 nginx 添加更改,请创建自己的 Dockerfile(可以简单地从官方 nginx 存储库复制),在此处进行更改,然后重新构建并将新映像部署到 ECS。
    • 是的,如果你想改变 nginx.conf 你重建容器所以现在你有它的两个版本:一个版本有旧的,原始的 nginx.conf 和一个版本有新的设置。然后,您将更新 Amazon ECS 中的任务定义,以便 ECS 通过将所有旧任务替换为使用新 docker 容器的新任务来推出您的更新。
    • 嗨@LukePeterson 和nathanpeck,非常感谢您的澄清。我之前完全糊涂了,但现在我明白为什么我在部署 nginx 容器时遇到问题了。再次感谢。
    • 但是nginxno resolver 的问题。它不能引用 docker 的 link 选项。看到这个ha-proxy reverse-proxy repository
    猜你喜欢
    • 2011-11-29
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 2020-10-08
    • 2018-08-10
    • 1970-01-01
    相关资源
    最近更新 更多