【发布时间】:2018-02-10 22:28:45
【问题描述】:
让我们假设以下情况。
TargetGroup 正在检查 http 端口 80 以验证 EC2 主机是否正常。
CodeDeploy 代理执行了这样的序列
- ApplicationStop SUCCESS(停止的网络引擎。无法为端口 80 提供服务)
- 安装成功之前
- 安装成功后
- ApplicationStart SUCCESS(已启动 Web 引擎。可服务于端口 80)
- ValidateService FAILED(与端口 80 的可用性无关)
使用此序列,CodeDeploy 部署被标记为 FAILED。目标群体在做什么?由于它的健康检查会成功,它会认为 EC2 主机是健康的吗?但 CodeDeploy 并非如此。
我不清楚 TargetGroup 运行状况检查如何与每个 EC2 上的 CodeDeploy 部署状态重叠。
由于文档提到 CodeDeploy 与负载均衡器协作以不路由流量,因此我的问题也扩展到负载均衡器。
任何见解将不胜感激。
经过与@tangerini 的讨论:
在AppSpec 'hooks' Section 中提到,例如允许/阻止流量挂钩可用。但也在同一主题上提到有人只能使用它们 - 经典的负载均衡器 - 蓝/绿部署。
我正在使用 ApplicationLoadBalancer 和就地部署。但据我观察,流量在 ValidateService 挂钩期间到达 ec2 服务器。
【问题讨论】:
标签: amazon-web-services aws-code-deploy