I have two microservices communicating using gRPC.Both are docker applications deployed on ECS. How do I configure them to use AWS ALB?In documentation it says ALB supports HTTP/2, however I can only see HTTP1 settings. My application has one gRPC port and one health check API at 8080.How do I configure that on ALB?
Deploy gRPC supporting application on AWS using ALB
5.8k Views Asked by Surbhi At
2
There are 2 best solutions below
0
chaitan94
On
As of 30th October 2020, it is now possible to do this, as end-to-end support for HTTP/2 has finally been added to ALBs.
Annoucement about this: https://aws.amazon.com/about-aws/whats-new/2020/10/application-load-balancers-enable-grpc-workloads-end-to-end-http-2-support/
Check these blog posts to understand how to set it up on ECS:
- Using Fargate Launch type: https://aws.amazon.com/blogs/opensource/containerize-and-deploy-a-grpc-application-on-aws-fargate/
- Using EC2 Launch type: https://dev.to/chaitan94/deploying-a-grpc-service-in-ecs-with-the-ec2-launch-type-2aa
Related Questions in AMAZON-WEB-SERVICES
- "Access Denied" - User's Permissions to S3 Bucket
- Cohort analysis with Amazon Redshift / PostgreSQL
- Using Amazon KMS service on Heroku
- can't ssh in after cloning an EC2 instance on Amazon AWS
- Using HDFS with Apache Spark on Amazon EC2
- How can I access Mule ESB Community edition via browser?
- AWS EC2: Migrating from Windows to Linux Server
- AWS ELB Load Balancer: is it possible to set multiple session cookies?
- AWS Flow Framework: Can we run activity worker and activity task on different EC2 instances
- Unable to access files from public s3 bucket with boto
- Cloudfront stream only part of the video
- s3cmd not working as cron-task when echos/dates are added
- How to deploy django 1.8 on Elastic Beanstalk using Docker
- InstanceProfile is required for creating cluster - create python function to install module
- How to fix WordPress HTTPS issues when behind an Amazon Load Balancer?
Related Questions in GRPC
- protoc not generating service stub files
- Using gRPC with Vert.x, netty dependency issue
- Only put .proto protocol buffer file in a repository?
- Adding servers in the client-side dynamically/Runtime
- Docker connectivity issue with gRPC
- How to call microservice without slowing down the response?
- install gRPC and got make error
- How to do routing and avoid deserialization in Grpc / Protobuf?
- grpc number of active clients/channels
- Why do we need to register reflection service on gRPC server
- gRPC with WPF not working
- TensorFlow Server close the connection within client timeout
- Stub uses a single connection over the channel for multithreaded gRPC Client?
- Java + GRPC, for dummies?
- Trying to run node application with grpc on linux ARM processor
Related Questions in AMAZON-ECS
- How to use cloudformation to create an ecs cluster?
- AWS ECS container instance
- Why can't my ECS service register available EC2 instances with my ELB?
- AWS ECS - Unable to specify service name in cloudformation template
- Running multiple ECS tasks based on same task definitions in one host, using different ports
- Elastic BeanStalk MultiContainer docker fails
- How does a multi container Elasticbeanstalk environment update it's docker containers?
- Elastic beanstalk vs ECS for multi container docker
- How to do container rollbacks using a multi docker configuration on elasticbeanstalk
- How to dynamically or pre-generate ansible variables from an existing file in a specific format for AWS ECS
- How to run AWS ECS Task overriding environment variables
- How to write files from Docker image to EFS?
- Storage requirement when using for AWS ECS
- AWS when we have to update task definition
- AWS ECS and Load Balancing
Related Questions in GRPC-JAVA
- Adding servers in the client-side dynamically/Runtime
- How to do routing and avoid deserialization in Grpc / Protobuf?
- Java grpc runtime error
- Unit Test proto3 generated objects with verify
- Java + GRPC, for dummies?
- grpc gives "INTERNAL: Connection closed with unknown cause"
- file transfer using gRPC
- Gradle compile dependency outside of project
- Proxy Authentication for Google Speech Api Credential
- gRPC sslcontext config
- dial tcp 127.0.0.1:9091: connect: connection refused
- gPRC java: 'Window size overflow for stream: 0'
- Micronaut gRPC server endpoint swallows exceptions (other than gRPC's StatusException); how to log them instead?
- Can someone explain to me what's the proper usage of gRPC StreamObserver.onError?
- grpc java bi-directional streaming - getting stream timeout runtimeexception occasionally
Related Questions in AMAZON-ALB
- How do I add a nested security group to another security Group and have it work with an Application loads balancer?
- maintenance page when no healthy instances in target group
- AWS: what's the point in using CloudFront for API requests instead of routing them to ALB directly?
- AWS setup: moving single page static application frontend to S3 (from web server)
- API Gateway to ALB
- Is it possible to change 403 error page on AWS WAF v2?
- Blocking AJAX Post requests on webapp hosted in Amazon ALB with WAF enabled - in case form data contains space character
- aws WAF in front of ec2-instance with traefik
- Terraform AWS ALB http/https listener creation/destruction unstable and caused errors for dependencies
- Bind Single Host to Multple Target Groups in AWS Application Load Balancer (ALB)
- Associating an Access Control List with an Application Load Balancer in AWS
- Deploy gRPC supporting application on AWS using ALB
- AWS NLB to ALB IP Whitelisting
- How to add AWS WAF to an ALB via CloudFormation
- Cannot reach AWS Fargate task through ALB
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I don't believe you can.
ALBs "support" HTTP2 but only in so far as they can accept HTTP2 and de-multiplex it before forwarding on HTTP1.
You can use AWS's newer "NLB" though that has other wrinkles. More details of doing this https://blog.prefab.cloud/blog/grpc-aws-some-gotchas