所以我收到了这个信息
资源处理程序返回消息:“提供的请求无效:UpdateService错误:运行状况检查宽限期仅对配置为使用负载平衡器的服务有效(服务:AmazonECS;状态代码:400;错误代码:InvalidParameterException;请求ID:91a0;代理:null)”(RequestToken:1eb3,HandlerErrorCode:InvalidRequest)
好吧,这个错误是有道理的。我设置的Fargate服务需要连接负载平衡器。问题是,我已经在上面安装了负载平衡器了?
self.fargate_service_definition = ecs.FargateService(self, 'Service Def',
cluster=self.cluster,
task_definition=self.fargate_host_definition,
service_name=f'{resource_name_prefix}-resource',
vpc_subnets=subnets.private_subnet_selection,
security_groups=[security_groups.corp_security_group],
)
这是我的服务定义。负载平衡器是这样连接的
lb = elbv2.ApplicationLoadBalancer(self, f'{resource_name_prefix}-lb',
vpc=vpc.default_vpc,
vpc_subnets=subnets.private_subnet_selection,
internet_facing=False,
security_group=security_groups.corp_security_group
)
listener = lb.add_listener('service_listener', port=80)
listener.add_targets('c2-targets',
port=80,
targets=[
self.fargate_service_definition.load_balancer_target(
container_name='client',
container_port=3000
),
self.fargate_service_definition.load_balancer_target(
container_name='server',
container_port=4000
)
]
)
我错过什么了吗?我一直在梳理cdk文档,但它没有提到任何关于明确声明该服务附加了LB的内容。我以为它甚至设置了一个健康检查,首先是因为我添加了LB。当我在没有LB的情况下进行测试时,cdk部署得非常好