How to throttle traffic to only one instance with Elastic Load Balancer?
Let's say I have 5 EC2 instances that all do the exact same thing (e.g application servers) with a load balancer sitting in front of them (AWS Elastic Load Balancer in this case). If I wanted to deploy a new feature but wasn't sure how stable it would be in production, I would deploy it to one instance and monitor it carefully. However, in that case, that instance would still be receiving 1/5th of the traffic so for example, if there were 1000 requests per second total, about 200 requests per second each. How could one go about unevenly distributing the traffic, so that the 'potentially unstable' instance gets, for example, only 50 requests per second while the remaining 950 requests get distributed amongst the other instances?
amazon-web-services amazon-elb
add a comment |
Let's say I have 5 EC2 instances that all do the exact same thing (e.g application servers) with a load balancer sitting in front of them (AWS Elastic Load Balancer in this case). If I wanted to deploy a new feature but wasn't sure how stable it would be in production, I would deploy it to one instance and monitor it carefully. However, in that case, that instance would still be receiving 1/5th of the traffic so for example, if there were 1000 requests per second total, about 200 requests per second each. How could one go about unevenly distributing the traffic, so that the 'potentially unstable' instance gets, for example, only 50 requests per second while the remaining 950 requests get distributed amongst the other instances?
amazon-web-services amazon-elb
add a comment |
Let's say I have 5 EC2 instances that all do the exact same thing (e.g application servers) with a load balancer sitting in front of them (AWS Elastic Load Balancer in this case). If I wanted to deploy a new feature but wasn't sure how stable it would be in production, I would deploy it to one instance and monitor it carefully. However, in that case, that instance would still be receiving 1/5th of the traffic so for example, if there were 1000 requests per second total, about 200 requests per second each. How could one go about unevenly distributing the traffic, so that the 'potentially unstable' instance gets, for example, only 50 requests per second while the remaining 950 requests get distributed amongst the other instances?
amazon-web-services amazon-elb
Let's say I have 5 EC2 instances that all do the exact same thing (e.g application servers) with a load balancer sitting in front of them (AWS Elastic Load Balancer in this case). If I wanted to deploy a new feature but wasn't sure how stable it would be in production, I would deploy it to one instance and monitor it carefully. However, in that case, that instance would still be receiving 1/5th of the traffic so for example, if there were 1000 requests per second total, about 200 requests per second each. How could one go about unevenly distributing the traffic, so that the 'potentially unstable' instance gets, for example, only 50 requests per second while the remaining 950 requests get distributed amongst the other instances?
amazon-web-services amazon-elb
amazon-web-services amazon-elb
asked Nov 21 '18 at 18:29
mycelliusmycellius
134214
134214
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
You cannot achieve this using ELB. It supports only round robin balancing and does not offer weighted routing.
You can accomplish something similar using Route53, which does support weighted round robin. https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
add a comment |
You can try to use ALB facility from AWS in which you can create your custom set of rules to manage traffic on the basis of different set of rules.
There you can provide the rules for protocols (HTTP/HTTPS) and divert the traffic to that particular instance coming from particular protocol.
Please refer the following url:
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53418440%2fhow-to-throttle-traffic-to-only-one-instance-with-elastic-load-balancer%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You cannot achieve this using ELB. It supports only round robin balancing and does not offer weighted routing.
You can accomplish something similar using Route53, which does support weighted round robin. https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
add a comment |
You cannot achieve this using ELB. It supports only round robin balancing and does not offer weighted routing.
You can accomplish something similar using Route53, which does support weighted round robin. https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
add a comment |
You cannot achieve this using ELB. It supports only round robin balancing and does not offer weighted routing.
You can accomplish something similar using Route53, which does support weighted round robin. https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
You cannot achieve this using ELB. It supports only round robin balancing and does not offer weighted routing.
You can accomplish something similar using Route53, which does support weighted round robin. https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted
answered Nov 21 '18 at 19:01
bwestbwest
6,28211845
6,28211845
add a comment |
add a comment |
You can try to use ALB facility from AWS in which you can create your custom set of rules to manage traffic on the basis of different set of rules.
There you can provide the rules for protocols (HTTP/HTTPS) and divert the traffic to that particular instance coming from particular protocol.
Please refer the following url:
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html
add a comment |
You can try to use ALB facility from AWS in which you can create your custom set of rules to manage traffic on the basis of different set of rules.
There you can provide the rules for protocols (HTTP/HTTPS) and divert the traffic to that particular instance coming from particular protocol.
Please refer the following url:
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html
add a comment |
You can try to use ALB facility from AWS in which you can create your custom set of rules to manage traffic on the basis of different set of rules.
There you can provide the rules for protocols (HTTP/HTTPS) and divert the traffic to that particular instance coming from particular protocol.
Please refer the following url:
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html
You can try to use ALB facility from AWS in which you can create your custom set of rules to manage traffic on the basis of different set of rules.
There you can provide the rules for protocols (HTTP/HTTPS) and divert the traffic to that particular instance coming from particular protocol.
Please refer the following url:
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html
answered Nov 22 '18 at 9:57
Dharmesh PurohitDharmesh Purohit
963
963
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53418440%2fhow-to-throttle-traffic-to-only-one-instance-with-elastic-load-balancer%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown