2017-04-26 117 views
-2

在我们公司,我们计划通过AWS推出基于Web的平台。我已经准备好了架构设计,我会请您提供有关如何改进它的反馈。很少有笔记..AWS架构设计

DATABASE

  • 我们一起去MariaDB的(主+其他AZ从)
  • 主数据库只有accessable为管理员写/删除/读
  • 结束-users将所有从读副本读取(4个副本进行的跨2 AZ)
  • 万事达= T2.micro
  • 读副本= T2.small

ADMIN

  • 管理控制台,将分隔的应用程序,在单独的子域, 启用SSL
  • 的管理控制台是谁正在修改 用户的主RDS数只有一个:最大10 :d
  • 的Web服务器:lighttpd /阿帕奇(评论?)
  • 机:T2.nano
  • (不需要更多的10个用户,对吧?)

阵线(最终用户)

  • 面前的将是服务于最终用户的大量(高达10mio)
  • EC2机器将T2.small
  • Web服务器: Lighttpd的/阿帕奇(评论?)
  • 我们有很多用户,但每个用户只有1 PHP请求(1个PHP脚本 +选择上RDS读取副本)
  • 所有其他文件是静态的,并将从我们的CDN提供(原产地 将EC2 T2.nano,因为真的很低的低流量,只需在 为了缓存新文件到CDN)
  • 当然EC2机器的前端将自动调节。 2个不同的AZ 被选中。 (在这种情况下是1个自动缩放组还是2组?)

备份和安全

  • 主数据库将自动备份
  • 我们做管理员EC2 & CDN产地Web服务器
  • 没有必要的自动快照用于Frontent EC2自动量程实例backuping,所有代码 将自动使用来自Github的CodeDeploy部署

Here's the current arhitecture design diagram.

请帮助并提供一些反馈。什么是瓶颈?我们错过了重要的事情吗?

+0

我只能强烈建议1件事。从一开始就从一切开始使用CloudFormation。稍后你会感谢你。 – Exelian

+0

谢谢,请看看它。 – urosz

回答

1

很难知道不知道关于你的使用情况不多,但几件事情在我跳出:

  • 你说你会为用户服务的“很多”,但正在使用T2的组合.nanos,t2.micros和t2.smalls - 这可能成为一个瓶颈。我认为t2的测试/ dev和非常适合小生产负载。不是为了服务'很多用户' - 这可能很快就会变成瓶颈。
  • 考虑为您的静态资产来源使用S3存储区而不是t2.nano实例,如果需要,可以更便宜,更轻松地扩展;这没有任何缺点。
+0

关于您的想法的其他解释和评论: - t2.nano将仅用于管理仪表板,最多10个用户 - 另一个t2.nano仅作为CDN77 cdn源的来源。 99,99%的内容将被缓存,所以认为它是安全的 - 数据库t2.micro将只用于管理员操作简单的数据库。最终用户将全部通过只读副本服务 – urosz

+0

您会推荐哪些实例类型而不是T2? – urosz

+0

从T2开始没什么问题 - 但是你问瓶颈可能在哪里,并且基于我对你的需求知之甚少,这是我对你首先出现性能问题的猜测。所以,从T2开始,看看它们是否可以工作 - 如果你最终需要升级,试试更大的T2实例,然后我可能会转向M6实例 - 它们对于通用目的需求有更多的权力。 –