AWS CodeDeploy
用户指南 (API 版本 2014-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

教程:部署具有验证测试的 Amazon ECS 服务

在本教程中,您将学习如何使用 Lambda 函数验证已更新的 Amazon ECS 应用程序的部分部署。本教程使用在 教程:部署 Amazon ECS 服务 中用到的 CodeDeploy 应用程序、CodeDeploy 部署组和 Amazon ECS 应用程序。请先完成上述教程,然后再开始本教程。

要添加验证测试,首先应在 Lambda 函数中实施测试。接下来,在部署 AppSpec file 中,为要测试的生命周期挂钩指定 Lambda 函数。如果验证测试失败,部署将停止,然后回滚,并标记为失败。如果测试成功,部署将继续下一个部署生命周期事件或挂钩。

在具有验证测试的 Amazon ECS 部署期间,CodeDeploy 使用配置了两个目标组的负载均衡器:一个生产流量侦听器和一个测试流量侦听器。下图显示了部署开始之前,负载均衡器、生产和测试侦听器、目标组以及 Amazon ECS 应用程序之间的关联方式。本教程使用 应用程序负载均衡器。您还可以使用 Network Load Balancer。

在 Amazon ECS 部署过程中,有五个用于测试的生命周期挂钩。本教程在第三个生命周期部署挂钩 (AfterAllowTestTraffic) 期间实施了一次测试。有关更多信息,请参阅用于 Amazon ECS 部署的生命周期事件挂钩的列表。成功部署之后,生产流量侦听器将流量提供给新的替换任务集,原始任务集终止。下图显示了成功部署后资源之间的关联方式。有关更多信息,请参阅在 Amazon ECS 部署过程中发生的事件

注意

完成本教程可能会对您的 AWS 账户收费。其中包括可能对 CodeDeploy、AWS Lambda 和 CloudWatch 收取的费用。有关更多信息,请参阅 AWS CodeDeploy 定价AWS Lambda 定价Amazon CloudWatch 定价