首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ECS Nginx网络设置

ECS Nginx网络设置
EN

Stack Overflow用户
提问于 2021-09-21 06:45:10
回答 1查看 21关注 0票数 0

我在ECS上有3个容器: web,api和nginx。基本上,nginx将流量代理到webapi容器:

代码语言:javascript
复制
upstream web {
  server web-container:3000;
}

upstream api {
  server api-container:3001;
}

但每次我重新部署webapi时,它们都会改变它们的IP,所以我需要在之后重新部署nginx,以便让它能够“拾取”新的IP。

有没有办法避免这种情况,这样我就可以更新,比方说api服务和nginx服务将自动代理到正确的IP地址?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-21 10:30:12

我假设这些容器属于3个不同的任务定义,并最终属于3个不同的任务(或者更好的3个不同的服务)。

如果这就是设置,那么您需要使用service discovery。这只适用于ECS服务,其思想是创建3个不同的服务,每个服务中都有1+任务。您为服务命名(例如nginxwebapi),其中的每个容器都将能够通过指向fqdn (例如api.local)来解析其他容器。当nginx服务中的容器尝试连接到api.local时,服务发现会将该名称解析为ECS服务api中某个任务的IP。

如果您想查看如何设置的示例,可以查看此demo app,尤其是this CloudFormation template

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69264466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档