我正在考虑将CloudFront与Elastic Beanstalk应用程序结合使用来实现动态内容。
我喜欢Elastic Beanstalk提供的功能(git部署,自动容量配置,负载平衡,自动扩展和应用程序运行状况监控),我也喜欢CloudFront上周推出的新功能(http://bitly.com/aws-cloudfront-dynamic) ,所以我在考虑在我的Elastic Beanstalk应用程序前面使用CloudFront。
你怎么想?这是一个好方法吗? (请参阅此处的简单图表:http://d.pr/i/f6sa)
或者我应该使用普通的EC2实例和LoadBalancer(也许使用CloudFormation设置)?
如果我将CloudFront与Elastic Beanstalk结合使用,我应该将CloudFront原点指向Beanstalk为我的应用程序自动创建的Elastic LoadBalancer(即:awseb-My-Environment-00000.us-east-1.elb.amazonaws 。)我认为如果环境失败并且它会自动创建一个新环境,或者我应该将原点指向应该始终相同的应用程序URL(即:http://myapp.elasticbeanstalk.com),它可能会改变吗?
建议欢迎!
谢谢!
答案 0 :(得分:2)
虽然您的问题已经过时但我认为我会对您的解决方案发表评论,因为我认为您不需要在Elastic Beanstalk前面使用Cloudfront有两个原因。
如果您需要速度,请使用Cloudflare作为反向代理,并确保您的RDS服务器与EB实例位于同一区域。您还可以在S3中存储静态资产(即图像,css,js)并通过CF提供服务。
我对您的最终解决方案感兴趣还是完全放弃了?
答案 1 :(得分:1)
我不确定如何使用PHP和.NET(我是Java Dino),但如果您的环境容易出现故障,我建议您将零停机时间功能与双重环境相结合
(可能在发布后快速冒烟测试之后切换DNS CNAME),以帮助您最大限度地减少对这些问题的影响,因此这只是一个流程问题。)
答案 2 :(得分:0)
您可以使用ebextenions修改基础CF模板:ngModelController
这是我看到它与EB一起正常工作的唯一方法,因为正如您所说的那样,它会动态创建ELB-手动指向其中一个将是个坏主意
我想做的是看看是否有可能在该模板中创建一个Cloudfront发行版并将其指向动态创建的ELB-不确定是否可行
也许来自亚马逊的人可以插话?