4

我正在考虑结合 Elastic Beanstalk 应用程序将 CloudFront 用于动态内容。

我喜欢 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.com)我相信如果环境失败并且它会自动创建一个新环境,它可能会发生变化,或者我应该将原点指向应该始终相同的应用程序 URL(即:http: //myapp.elasticbeanstalk.com )?

欢迎推荐!

谢谢!

4

3 回答 3

2

尽管您的问题已经过时,但我想我会对您的解决方案发表评论,因为我相信您不需要在 Elastic Beanstalk 前面使用 Cloudfront,原因有两个。

  1. 如前所述,您的网站是动态的。
  2. 对您网站的任何更新都需要时间来更新到 CF POP

如果您需要速度,请使用Cloudflare作为反向代理,并确保您的 RDS 服务器与您的 EB 实例位于同一区域。您还可以将静态资产(即图像、css、js)存储在 S3 中并通过 CF 提供服务。

我对您的最终解决方案感兴趣,还是您完全放弃了它?

于 2013-12-19T18:31:25.780 回答
1

CF 绝对是要走的路,既可以作为 CDN,也可以作为反向代理。

我不确定它如何与 PHP 和 .NET(我是 Java Dino)一起工作,但如果您的环境倾向于失败,我建议您将零停机时间功能与双重环境结合起来

(在这些之间切换 DNS CNAME,可能是在发布时进行快速冒烟测试之后)以帮助您最大限度地减少对这些问题的影响,因此它只是一个流程问题。)

于 2012-06-13T08:53:57.423 回答
0

您可以使用 ebextensions 修改底层 CF 模板:https ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions-otherkeys.html

这是我看到这与 EB 一起正常工作的唯一方法,因为正如您所说,它动态创建 ELB - 手动指向其中一个将是一个坏主意。

我会尝试做的是查看是否可以在该模板中创建 CloudFront 分配并将其指向动态创建的 ELB - 不确定这是否可能。

也许亚马逊的人可以插话?

于 2019-12-06T19:18:23.070 回答