AWS CDK 部署 ECR 资源到 ECS Fargate 使用蓝绿部署(Blue/Green Deployment)和 NestJS 微服务

0

【以下的问题经过翻译处理】 我有一个nestjs monorepo微服务,其中包含api-gateway和products。我的api-gateway正在监听5000端口,我的products微服务只是设置为微服务。我设置的方式是使用RabbitMq消息传递到正确的微服务。我正在尝试使用cdk将它部署到aws ecs,但遇到一些困难(这是我第一次使用微服务),所以不知道从哪里开始。如果我理解正确,我需要做以下几件事:

  1. 创建一个ecs集群
  2. 在80端口(非安全)上设置我的vpc和监听器
  3. 设置我的任务定义(我是否需要一个同时拥有两个ecr镜像的任务定义,还是我需要每个微服务各一个任务定义,在我的情况下是2个?)
  4. 创建一个服务(每个任务定义一个)
  5. 如何设置蓝绿部署?
  6. 将其绑定到我的代码部署流水线

想法/建议?

profile picture
EXPERTE
gefragt vor 6 Monaten43 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 你好,

我猜你所说的 API Gateway 是指你的应用程序内部,而不是使用 AWS API Gateway,对吗?

如果你可以将你的服务放入一个 docker-compose 文件中,这对于本地测试和配置非常有帮助,ECS Compose-X 将负责为你设置一切:它将创建 IaC 模板(CloudFormation),以便将所有内容部署到 AWS(使用类似 ecs-compose-x up 这样简单的命令)。它将为你创建 ECS 集群、VPC、ECS 资源、IAM 角色等等。你还可以让它处理其他事情,比如 DNS、ELB 等等。

另外,你也可以尝试使用 Copilot,但它不使用 docker-compose 语法。

希望这对你有所帮助

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen