gpt4 book ai didi

docker - 我是否需要 AWS ECS 中带有 nginx 的 AWS 负载均衡器?

转载 作者:行者123 更新时间:2023-12-02 20:35:54 25 4
gpt4 key购买 nike

我在 AWS ECS 中使用 Docker。我有一台带有 AWS ECS docker 代理的 EC2 机器,ECS 任务包含 3 个容器:

  • nginx 容器
  • 应用程序-nodejs 容器
  • staticfiles-nodejs-应用程序容器。

我想支持非常大的流量。我需要设置 AWSLoad Balancer 吗?或者我对 nginx upstream 的设置就足够了吗?

nginx 配置示例:

upstream appwww {                                                                                            
server app-www:3000;
}

server {
server_name my.home.net;

location / {
proxy_pass http://appwww;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

listen 443 ssl http2; # managed by Certbot
ssl_certificate......; # managed by Certbot
ssl_certificate_key........ # managed by Certbot
include /.......# managed by Certbot
ssl_dhparam /.....pem; # managed by Certbot

}


server {
if ($host = my.host.net) {
return 301 https://$host$request_uri;
} # managed by Certbot


listen 80;
server_name my.host.net;
return 404; # managed by Certbot
}

编辑

我画了当前的架构,我想添加LoadBalancer,我应该把它放在哪里?自动缩放适合这张图?我应该使用一台还是多台 ec2 机器?多容器?多上游?

enter image description here

最佳答案

我建议您从使用负载均衡器开始,因为:

  • 您可以在负载均衡器上配置 SSL 并在负载均衡器上终止 SSL
  • 您可以通过将负载均衡器配置为与 AWS WAF 集成来保护自己免受恶意攻击

  • 您将来可以轻松添加更多目标

  • 由于没有负载均衡器,您需要在应用程序级别配置 SSL

  • 支持健康检查。

  • 您将获得免费的 ACM 证书以用于负载均衡器
  • 易于每年更新 SSL 证书

注意:考虑使用 AWS S3 和云端服务您的静态内容

将负载均衡器引入您现有的架构

应用程序负载均衡器现在支持基于主机的路由,这意味着它可以使用指向多个网站的多个域(或子域)。除了基于主机的路由之外,它还支持基于路径的路由。例如,当 mydomain.com/web1 指向 website1 时,mydomain.com/web2 可以指向 website2

我想不出您需要使用 nginx 的原因(除非我遗漏了什么)。

所以回答你的问题,我会这样做。

  • 引入应用程序负载平衡器
  • 通过 ECS (Fargate) 部署多个容器
  • 对于每项服务,我都会有一个目标组专门负责管理扩展和健康检查。
  • 最后,我会做基于主机的路由,s1.mydomain.com、s2.mydomain.com 每个指向不同的目标组(每个服务一个)

引用: https://aws.amazon.com/blogs/aws/new-host-based-routing-support-for-aws-application-load-balancers/

希望这会有所帮助。

关于docker - 我是否需要 AWS ECS 中带有 nginx 的 AWS 负载均衡器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59533150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com