使用ALB在AWS上部署gRPC支持应用程序

时间:2018-05-15 07:56:31

标签: amazon-web-services grpc amazon-ecs grpc-java amazon-alb

我有两个微服务使用gRPC进行通信。这两个是在ECS上部署的docker应用程序。如何配置它们以使用AWS ALB?在文档中它说ALB支持HTTP / 2,但是我只能看到HTTP1设置。 我的应用程序在8080有一个gRPC端口和一个健康检查API。如何在ALB上配置它?

2 个答案:

答案 0 :(得分:4)

我不相信你可以。

ALB“支持” HTTP2,但前提是它们可以接受HTTP2并在对HTTP1进行转发之前对其进行解复用。

您可以使用AWS的更新版“ NLB”,尽管它还有其他缺点。 进行此操作的更多详细信息https://blog.prefab.cloud/blog/grpc-aws-some-gotchas

答案 1 :(得分:0)

截至2020年10月30日,现在已经可以做到这一点,因为对HTTP / 2的端到端支持最终已添加到ALB中。

有关此的公告:https://aws.amazon.com/about-aws/whats-new/2020/10/application-load-balancers-enable-grpc-workloads-end-to-end-http-2-support/

查看这些博客文章以了解如何在ECS上进行设置:

  1. 使用Fargate启动类型:https://aws.amazon.com/blogs/opensource/containerize-and-deploy-a-grpc-application-on-aws-fargate/
  2. 使用EC2启动类型:https://dev.to/chaitan94/deploying-a-grpc-service-in-ecs-with-the-ec2-launch-type-2aa