2013-08-21 48 views
0

据我所知,我可以使用EC2作为我的应用程序的Web服务器。但负载平衡器如何工作?亚马逊EC2:负载平衡/同步文件的方式/ EC2 + CF

  1. 例如我有一个EC2实例。这样负载均衡器将无法工作。我对吗?

  2. 例如我有几个EC2实例。通过这种方式,我可以配置负载均衡器来平衡所有EC2服务器。 我对不对?

  3. 所有实例的应用程序文件应该同步吗?是否有任何亚马逊工具要同步?或者我应该使用rsync之类的东西或提交挂钩来同步EC2实例之间的文件?

  4. 是否有可能为Web应用程序(php + nginx)和CDN(Cloud Front)使用一个EC2实例?或者有什么更好的方法来实现这一点:我需要存储静态文件,但我应该通过文件系统从Web应用程序(php脚本)访问它们。所以我打算使用EC2和Clod Front。但是我怎样才能访问?

谢谢你的时间。

回答

3
  1. 从技术上说,负载belancer将起作用,它只是平衡一个实例的流量。
  2. 正确。您使用弹性负载均衡器注册实例,并且这些实例是健康的 - 它会对它们做出响应。
  3. 有许多不同的方式来同步文件 - 这一切都取决于你想要同步。云架构与传统架构有点不同。例如,不是将图像加载到EBS卷上,而是尝试从S3卸载它们(并提供它们)。因此,您需要“同步”的唯一东西就是网络服务器文件本身。您可以使用CloudFormation到roll out updates,提交挂钩和rsync也是不错的选择。我们面临的挑战是要记住它可以随意扩展/失败 - 因此您需要确保每个实例都知道如何获取信息并保持其独立更新。
  4. 是的。它被称为custom origin。你想要做的事情是在出站服务器上重写URL,将本地URL重写为cloudfront域。

希望有帮助

+0

这是有帮助的。如果CloudFront使用自定义起源选项进行配置,并且例如我在我的EC2服务器上映像'/ public/test.png'。那么,如何才能知道在CloudFront上访问此映像的网址?我怎样才能生成网址?因为他们通常看起来像http://distilleryimage10.s3.amazonaws.com/d2e89af606cc11e3b81c22000a1fbca3_6.jpg – tuchk4

+1

把一个cname放在它前面。因此,将media.distillery.com作为CloudFront网址的cname。 –