返回

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部署得非常好

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
相关帖子
下一篇
angular-ng build--prod--base-href 2022-04-16 01:54:09