AWS ECS蓝绿色部署-CloudFormation错误



尝试使用CloudFormation方法在AWS内执行ECS任务的蓝/绿部署(如本文所述:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html)并且部署失败。

初始堆栈部署工作正常,ECS任务按照预期部署并运行,具有正确的负载均衡器和目标组等。但是,在更新任务定义时,为了触发蓝/绿部署,它失败了,并显示消息:

Imports and exports are currently not supported on templates using hooks

部署是在CodeDeploy中创建的,因此它显然是按预期触发的,但AWS控制台中的部署屏幕显示以下错误:

The deployment failed because the stack update that triggered this CodeDeploy deployment failed in CloudFormation. In the AWS CloudFormation console, go to the Events tab to view status and error messages.

但令人困惑的是,CloudFormation模板似乎不包含任何导入或导出。我甚至尝试过从文档示例中复制yml,但它不起作用。

我正在使用Serverless Framework执行CloudFormation更新,但我认为这不是问题,错误记录在CloudFormation堆栈事件选项卡中。

期望AWS文档中的示例起作用可能不是没有道理的吗?

所以我们确实找到了这个问题的原因,事实上这个问题实际上是由通过无服务器框架运行CloudFormation模板引起的。

无服务器方法适用于我们所有其他的AWS部署,但CodeDeploy转换明确要求CF模板没有输出——然而,无服务器实际上添加了它用作输出的S3存储桶的名称,这打破了这个特定的用例。

因此,解决方案是直接从AWS CLI调用CF模板,它可以完美地工作。

相关内容

  • 没有找到相关文章

最新更新