亚马逊AWS基础架构

今天我设置了一个EC2实例。 我想知道什么是亚马逊云为web应用程序的典型架构。 我认为它是这样的东西,但我错过了一些东西:

- EC2 instance for Webserver (apache/nginx) and PHP - S3 for storage (videos, images...) - ?? for MongoDB, MySQL or anything else 

我不确定这些事情是如何工作的。 例如,如何设置简单的图片上传服务,通过PHP上传每张图片,然后保存在S3上。 之后,当有人访问从S3显示的链接时。

你有一个相当简单的架构。 为了这个工作,

  • 使用RDS来满足您的MySQL需求
  • 看看亚马逊的SDK使用AWS服务,在你的情况下S3 – http://aws.amazon.com/sdkforphp/
  • S3用于存储您的图像

PHP的SDK应该可以帮你把图片保存到S3。 只要确保设置了适当的S3存储桶策略(读/写和更新),以保证S3安全。

您是否在Route 53上设置了弹性IP和域?

由于你看起来很新,

  • 看看Autoscaling和ELB的冗余和可扩展性。
  • 除非是EBS卷,否则不要在您的应用程序中存储任何重要的本地重要文件
  • 除非您确定您需要的实例types,否则请始终select容量较低的实例并根据需要增加容量。 这将节省您的成本。
  • 如果您确定应用程序的实例types和使用寿命,请查看保留实例。 一旦你购买了一个保留的实例,你不能取消它或改变实例types,直到你的期限结束。

我强烈build议你阅读很多有关这些技术,然后实施它们。 亚马逊文档非常好。

您从不想在生产环境中运行单个EC2实例。 它们不耐用,并且可以随时永久下线(将所有存储在其上的数据都存储起来)。 在负载平衡器后至less使用两个应用程序服务器实例。

由于您刚接触到这个,我build议您阅读Amazon Elastic Beanstalk的文档。 这是一个类似于PaaS的configuration框架,可以更容易地在线获取正确devise的AWS基础架构。