AWS架构设计
在我们公司,我们计划通过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.
请帮助并提供一些反馈。什么是瓶颈?我们错过了重要的事情吗?
很难知道不知道关于你的使用情况不多,但几件事情在我跳出:
- 你说你会为用户服务的“很多”,但正在使用T2的组合.nanos,t2.micros和t2.smalls - 这可能成为一个瓶颈。我认为t2的测试/ dev和非常适合小生产负载。不是为了服务'很多用户' - 这可能很快就会变成瓶颈。
- 考虑为您的静态资产来源使用S3存储区而不是t2.nano实例,如果需要,可以更便宜,更轻松地扩展;这没有任何缺点。
关于您的想法的其他解释和评论: - t2.nano将仅用于管理仪表板,最多10个用户 - 另一个t2.nano仅作为CDN77 cdn源的来源。 99,99%的内容将被缓存,所以认为它是安全的 - 数据库t2.micro将只用于管理员操作简单的数据库。最终用户将全部通过只读副本服务 – urosz
您会推荐哪些实例类型而不是T2? – urosz
从T2开始没什么问题 - 但是你问瓶颈可能在哪里,并且基于我对你的需求知之甚少,这是我对你首先出现性能问题的猜测。所以,从T2开始,看看它们是否可以工作 - 如果你最终需要升级,试试更大的T2实例,然后我可能会转向M6实例 - 它们对于通用目的需求有更多的权力。 –
我只能强烈建议1件事。从一开始就从一切开始使用CloudFormation。稍后你会感谢你。 – Exelian
谢谢,请看看它。 – urosz