【发布时间】:2020-04-19 08:04:33
【问题描述】:
我在 AWS ECS 中使用 Docker。我有一台带有来自 AWS ECS 的 docker 代理的 EC2 机器,ECS 任务包含 3 个容器:
- nginx 容器
- application-nodejs 容器
- staticfiles-nodejs-application 容器。
我想支持非常巨大的流量。我是否需要设置 AWSLoad Balancer?还是我对 nginx 上游的设置就足够了?
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 机器吗?多容器?多上游?
【问题讨论】:
标签: docker nginx amazon-ec2 amazon-ecs