python——在AWS CDK中,我是否需要显式地声明服务定义附加了一个LB?
发布时间:2022-04-16 02:42:23 450
相关标签:
所以我收到了这个信息
资源处理程序返回消息:“quot;提供的请求无效: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部署得非常好
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报