Amazon web services 将PHP Codeigniter项目转移/迁移到AWS
我们公司的软件产品由Web App、Android和iOS App组成。 我们有350多个客户机,也就是说,我们有每个客户机的350多个数据库(MYSQL)和一个代码文件存储库(PHP Codeigniter)。当新客户购买我们的软件时,我们只需复制旧的空数据库,客户就可以使用该软件。这是我们的架构。 现在我们计划转向AWS,但我们不知道这种体系结构真正需要哪种AWS服务Amazon web services 将PHP Codeigniter项目转移/迁移到AWS,amazon-web-services,amazon-ec2,amazon-rds,Amazon Web Services,Amazon Ec2,Amazon Rds,我们公司的软件产品由Web App、Android和iOS App组成。 我们有350多个客户机,也就是说,我们有每个客户机的350多个数据库(MYSQL)和一个代码文件存储库(PHP Codeigniter)。当新客户购买我们的软件时,我们只需复制旧的空数据库,客户就可以使用该软件。这是我们的架构。 现在我们计划转向AWS,但我们不知道这种体系结构真正需要哪种AWS服务 我们有Codeigniter 3.1版本、PHP7和MYSQL。您可以在单个EC2实例上实现这种系统,只需在当前服务器上安装
我们有Codeigniter 3.1版本、PHP7和MYSQL。您可以在单个EC2实例上实现这种系统,只需在当前服务器上安装相同的软件即可。不过,在这种情况下,您最好在比AWS更便宜的地方进行托管 但是,我建议您使用RDS、EC2、S3和Cloudfront实现它 RDS 我建议您在RDS上运行数据库:
- 数据库服务器在与PHP完全不同的资源上竞争,因此,如果您遇到性能问题,就不可能知道数据库和PHP在同一个实例上发生了什么。CPU不足会导致内存不足,反之亦然
- 内置的长达35天的时间点恢复为我节省了很多时间,当您有一个难以复制的bug或某人(您)意外删除了大量数据时,它非常有用
- 在MySQL RDS上,您需要调试至少100GB的磁盘,以获得足够好的生产性能。100GB在所使用的EBS磁盘上每秒为100x50kb
- 相比之下,在AWS Aurora上,您可以获得6个不同存储位置的读取性能,而无需提交任何磁盘空间。这样既省钱又更高效
- Aurora在恢复时间点以及“哑”查询(即表扫描)方面也要快得多
- 我建议不要看比t3、c5或m5更老的实例,因为它们有新的“nitro虚拟机监控程序”,速度更快,而且更便宜。根据经验,使用这些实例,您可以从现有的CPU数量上降低一个级别
- 如果可以使用c6/m6/t4实例
- 我还发现c5a及其等价物也具有同样的性能
- AWS建议始终使用自动缩放,但如果您在其他地方安装了一台服务器,那么您已经赢了,因为您可以在几分钟内恢复
- 一旦EC2费用达到每月600美元,一定要考虑自动缩放。事实上,每一个webapp的编写方式都允许在任何时间点更换服务器。通过自动缩放,您可以在第二个/第三个etc实例上以50-90%的折扣使用Spot实例,从而节省大量资金
- 这比任何磁盘或文件系统都便宜得多,并具有许多自动化功能,如版本控制、跨区域备份、归档、事件触发器等
- 永远不要公开访问您的存储桶
还有很多方法可以将其他事件驱动的代码挂接到进入队列的项目上,包括监视某些项目超出的限制等。您可以在单个EC2实例上实现此类系统,只需在当前服务器上安装相同的软件即可。不过,在这种情况下,您最好在比AWS更便宜的地方进行托管 但是,我建议您使用RDS、EC2、S3和Cloudfront实现它 RDS 我建议您在RDS上运行数据库:
- 数据库服务器在与PHP完全不同的资源上竞争,因此,如果您遇到性能问题,就不可能知道数据库和PHP在同一个实例上发生了什么。CPU不足会导致内存不足,反之亦然
- 内置的时间点恢复功能长达35天,多次为我省去了麻烦,非常棒