现状
我在ElasticBeanstalk上运行了一个Java Tomcat应用程序。该应用程序是一个Web服务,它接收搜索查询并以Xml格式返回结果。 web服务仅每月更新一次新数据,因此在月末发送的任何查询将返回与月初返回的相同的结果。
我们利用EB的负载平衡,因此通常只有一个EC2实例正在运行,但在使用峰值时,另一个EC2实例可能会启动。
为了允许部署新版本Elastic Beanstalk,我们在Route53上有一个域名,并且一个子域名映射到EB应用程序,客户使用这个子域名来使用web服务。
这样做效果相当不错,除非峰值使用率略高于正常使用率,因此需要更多实例开始增加成本,但即使使用额外的机器也需要更慢的响应率。
我应该使用CloudFront
我想知道我是否可以使用CloudFront来缓存这些响应,我做了这些假设
如果是这样,我该怎么做
我尝试创建 Cloudfront Distribution ,但在原始域名字段中,它只列出了我的s3存储桶,而不是我的S3域,所以还没有进一步。< / p>
答案 0 :(得分:2)
我始终将云端放在我在AWS上提供的任何解决方案之前。回答您的具体问题:
答案 1 :(得分:1)
CloudFront确实允许您提供动态内容:http://aws.amazon.com/cloudfront/dynamic-content/但是从阅读中看来它似乎会根据URL模式缓存查询结果。这会与您网站的使用兼容吗?
有关如何将EC2指定为CloudFront原点的信息,请访问:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CustomOriginBestPractices.html