2015-05-29 96 views
0

我有cname(abc.com)指向我的弹性IP,需要为三个不同的应用程序创建三个EC2实例(例如Instance1,Instance2,Instance3)。如何将请求路由到亚马逊的特定实例?

现在我想达到以下结果: 如果用户点击“abc.com/App1”,请求应该被重定向到Instance1.If用户点击“abc.com/App2”,请求应该被重定向到Instance2.If用户点击“abc.com/App3”,请求应该被重定向到Instance3。

所有这些实例应该独立工作。而且,如果其中任何一个出现,它不应该影响其他人。 我们不能使用子域名。我正在尝试在ELB中找出一些东西。

回答

1

ELB不提供基于路径的路由。连接到ELB的所有实例都会收到一个传入请求的共享。

然而,CloudFront支持基于路径的路由。您可以将每个实例配置为“自定义原点”并配置路由到它的路径模式。

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

当然,这不是“主要目的” CloudFront的,但它的作品很好地在这个应用程序。

CloudFront实际上是缓存反向代理CDN服务,所以如果你走这条路线,你也可以减轻你的后端机器的一些工作量,或者你可以通过将所有的请求头部转发到原点来完全禁用缓存并从您的实例中返回适当的Cache-Control:标题。

CloudFront分配可以与Route 53中的域名完全相同,即ELB可以使用Alias记录。

奖励:您也可以轻松地采集其他路径并将它们直接路由到S3以从S3存储桶提供静态资产。

+0

它没有在我的情况下工作 – Mrityunjaya