I see that ECS services can use Application Load Balancers, and the dynamic port stuff works atuomagically. However, an ALB has a maximum of 10 rules other than default rules. Does that mean that I need a separate ALB for every 10 services unless I wish to access via a different port (in which case the default rules would kick in)? This seems obvious, but for something touted to be the solution to load balancing in a microservices environment, this would seem incredibly limiting. Am I missing something?
AWS ECS and Load Balancing
716 Views Asked by ashic At
2
There are 2 best solutions below
0
NHol
On
Yes, you are correct, and it is a low restriction. However if you are able to use different CNAMES for your services then having them in an ALB with single target group for each service won't behave differently to having one ALB and multiple target groups each with rules. Dynamic ports are probably the main part of their "microservices solution" argument.
Related Questions in AMAZON-WEB-SERVICES
- S3 integration testing
- How to get content of BLOCK types LAYOUT_TITLE, LAYOUT_SECTION_HEADER and LAYOUT_xx in Textract
- Error **net::ERR_CONNECTION_RESET** error while uploading files to AWS S3 using multipart upload and Pre-Signed URL
- Failed to connect to your instance after deploying mern app on aws ec2 instance when i try to access frontend
- AWS - Tab Schema Conversion don't show up after creating a Migration Project
- Unable to run Bash Script using AWS Custom Lambda Runtime
- Using Amazon managed Prometheus to get EC2 metrics data in Grafana
- AWS Dns record A not navigate to elb
- Connection timed out error with smtp.gmail.com
- AWS Cognito Multi-tenant Integration | Ok to use Client’s Idp?
- Elasticbeanstalk FastAPI application is intermittently not responding to https requests
- Call an External API from AWS Lambda
- Why my mail service api spring isnt working?
- export 'AWSIoTProvider' (imported as 'AWSIoTProvider') was not found in '@aws-amplify/pubsub'
- How to take first x seconds of Audio from a wav file read from AWS S3 as binary stream using Python?
Related Questions in AMAZON-ECS
- Canary deployment using spinnaker in AWS ECS
- AWS CloudFormation stuck at CreateTags
- AWS ECS agent does not start in EC2 instance
- Migrate AWS ECS cluster IPV4 to IPV6
- Mysql error on AWS ECS: [InnoDB] Unable to lock ./ibdata1 error
- Log retation setting for ECS
- No GPU EC2 instances associated with AWS Batch
- How to configure CPU utilized metric for ECS in AWS for Alarm?
- Connection services in different containers in the same ec2 instance
- How to get ECS task to communicate with cloudwatch agent?
- CodePipeline Deploy Stage missing AWSLambda/ automatically update running ecs tasks
- bot3 ecs.execute_command: Task Identifier is invalid
- Step scaling option disabled for ECS Fargate service
- APCu cache in docker container
- Loki on ecs crashes when cleaning up chunks
Related Questions in ELASTIC-LOAD-BALANCER
- EC2. Load balancer. At least two subnets must be specified
- AWS ECS Service Definition: Role property
- Algorithm to split traffic across variable number of servers
- How to setup API gateway to talk to private NLB?
- How to make security groups between load balancer and ec2
- AWS CloudFormation Application Load Balancer - how to redirect HTTP listener to HTTPS listener?
- How to load balance gRPC on AWS
- AWS Classic Load Balancer randomly not receiving request
- AWS Route traffic to two load balancer simultaneously
- Serving Django content through AWS Application Load Balancer
- How To Extract Load Balancer Name from Elastic Beanstalk Environment in CloudFormation
- 504 Gateway timeout for ELB
- Terraform (A)lb redirect http -> https
- URL with WWW before it works only on first load Elastic Beanstalk
- Can I create a ALB Listener with no Target Group (just want to return 404) for default route
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 # Hahtags
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?
As far as I know and have experienced, this is indeed true, you are limited to 10 listeners per ALB. Take into account that this setup (ALB + ECS) is fairly new so it is possible that Amazon will adjust the limits as people are requesting this.
Take into account as well that a listener typically has multiple targets, in a microservice architecture this translates to multiple instances of the same service. So you can run 10 different services but you are able to run 10 instances of each service, balancing 100 containers with a single ALB.
Alternatively (to save costs) you could create one listener with multiple rules, but they have to be distinguished by path pattern and have to listen (not route to) the same port. Rules can forward to a target group of your choice. E.g. you can route /service1 to container 1 and /service2 to container 2 within one listener.