教程:部署具有验证测试的 Amazon ECS 服务
在本教程中,您将学习如何使用 Lambda 函数验证已更新的 Amazon ECS 应用程序的部分部署。本教程使用在教程:将应用程序部署到 Amazon ECS中用到的 CodeDeploy 应用程序、CodeDeploy 部署组和 Amazon ECS 应用程序。请先完成上述教程,然后再开始本教程。
要添加验证测试,首先应在 Lambda 函数中实施测试。接下来,在部署 AppSpec 文件中,为要测试的生命周期挂钩指定 Lambda 函数。如果验证测试失败,部署将停止,然后回滚,并标记为失败。如果测试成功,部署将继续下一个部署生命周期事件或挂钩。
在具有验证测试的 Amazon ECS 部署期间,CodeDeploy 使用配置了两个目标组的负载均衡器:一个生产流量侦听器和一个测试流量侦听器。下图显示了部署开始之前,负载均衡器、生产和测试侦听器、目标组以及 Amazon ECS 应用程序之间的关联方式。本教程使用一个 Application Load Balancer。您也可以使用网络负载均衡器。
在 Amazon ECS 部署过程中,有五个用于测试的生命周期挂钩。本教程在第三个生命周期部署挂钩(AfterAllowTestTraffic)期间实施了一次测试。有关更多信息,请参阅 用于 Amazon ECS 部署的生命周期事件挂钩的列表。成功部署之后,生产流量侦听器将流量提供给新的替换任务集,原始任务集终止。下图显示了成功部署后资源之间的关联方式。有关更多信息,请参阅 在 Amazon ECS 部署过程中发生的事件。
注意
完成本教程可能会对您的 Amazon 账户收费。其中包括可能对 CodeDeploy、Amazon Lambda 和 CloudWatch 收取的费用。有关更多信息,请参阅 Amazon CodeDeploy 定价