Mrityunjaya
Mrityunjaya

Reputation: 91

How to route requests to specific instances in amazon?

I am having cname(abc.com) pointed to my elastic IP and need to create three EC2 instances(e.g. Instance1, Instance2, Instance3) for three different applications.

Now I want to achieve following results: If user hits "abc.com/App1", request should be redirected to Instance1.If user hits "abc.com/App2", request should be redirected to Instance2.If user hits "abc.com/App3", request should be redirected to Instance3.

All these Instances should work independently. And, If any of these goes down, it should not impact others. We can't use subdomains. I am trying to find out something in ELB.

Upvotes: 0

Views: 543

Answers (1)

Michael - sqlbot
Michael - sqlbot

Reputation: 178966

ELB does not offer path-based routing. All instances connected to an ELB receive a share of incoming requests.

CloudFront, however, does support path-based routing. You can configure each instance as a "custom origin" and configure which path patterns to route to it.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern

Granted, this is not the "primary purpose" of CloudFront, but it works quite nicely in this application.

CloudFront is actually a caching reverse proxy CDN service, so if you go this route, you can also potentially relieve your back-end machines of some workload, or you can disable caching entirely by forwarding all the request headers to the origin and returning an appropriate Cache-Control: header from your instances.

A CloudFront distribution can be associated with a domain name in Route 53 in exactly the same way that an ELB can -- using Alias records.

Bonus: you can also easily pluck additional paths and route them directly to S3 to serve up static assets from an S3 bucket.

Upvotes: 1

Related Questions