我正在尝试将我的服务(用 .Net 6 编写)迁移到 AWS ECS。在我的公司,我们决定在这里采取小步骤,首先将其作为具有单个任务和单个实例的单个服务。我们还希望使用模仿当前设置的 Rollout 部署 - 因此我们首先终止服务,然后部署新版本(新的 docker 映像),如果失败,我们不会回滚 - 只是修复版本。如此过时,没有 ECS 的所有好处。
我们创造了什么:
Powershell 脚本正在执行以下操作:
$updateOutput = aws ecs update-service `
--cluster $ClusterName `
--service $ServiceName `
--desired-count 0 `
--deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=false}" `
$updateOutput = aws ecs update-service `
--cluster $ClusterName `
--service $ServiceName `
--desired-count 1 `
--deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=false}" `
--force-new-deployment
如果部署失败,我们会使用相同的命令再次停止服务。
这是一种基本甚至原始的方法,但它是我们的起点。
发生了什么:
我们被困住了,不知道下一步该做什么......
关于如何调查问题的根本原因有什么建议吗?或者在设置等方面进行哪些更改是非常受欢迎的。
为什么不直接使用 Fargate?您可以不必担心完全扩展集群。