教程:部署具有验证测试的 Amazon ECS 服务 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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

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

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

Application Load Balancer 或 Network Load Balancer、侦听器、目标组、任务集和 Amazon ECS 服务之间的连接。

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

部署后 Application Load Balancer 或 Network Load Balancer、侦听器、目标组和替换任务集之间的连接。
注意

完成本教程可能会导致您的 Amazon 账户被扣款。这些费用包括 CodeDeploy Amazon Lambda、和可能收取的费用 CloudWatch。有关更多信息,请参阅Amazon CodeDeploy 定价、Amazon Lambda 定价Amazon CloudWatch 定价