【发布时间】:2016-10-31 04:43:24
【问题描述】:
如果这是一个明显的问题,请原谅我,但我正在尝试找出处理运行 WordPress 的 EC2 实例的自动缩放的最佳方法,以便它们的 主题 和 插件 (连同它们的相关配置)被保留。
我已经能够分别通过 RDS 和 S3 分离数据层和内容层,但我正在努力如何通过 EC2 实例自动缩放事件来保留主题和插件。
我的 EC2 实例配置如下:
- EC2 引导脚本将 WordPress 安装到空白的 Amazon Linux AMI
- EC2 在 ELB 后面运行
- 数据库在 RDS 上
- Web 内容在 S3 上(使用 W3 Total Cache 插件)
- 插件/主题安装在本地 EC2 文件系统上
要通过 EC2 自动缩放事件保留主题和/或插件,我可以:
先安装我需要的主题/插件,然后上传/wp-content/plugins和/wp-content/themes目录到S3,每次EC2实例自动下载通过引导脚本重新启动。缺点:每次我进行配置更改时都需要更新 S3,并非所有插件都整齐地安装在 /themes 子目录中,并且对一个实例的更改不会流向所有实例(每次进行更改时都需要重新启动集群)。
首先安装我需要的主题/插件,然后拍摄整个实例的 AMI 快照。启动新实例时使用此 AMI 作为模板。缺点:每次我进行配置更改时都需要更新 AMI(看起来很烦人),并且对一个实例的更改不会流向所有人。
从 /wp-content/plugins 和 /wp-content/themes 目录创建一个符号链接,指向安装在所有 EC2 实例上的 EFS 文件系统。缺点:EFS 可能有点慢,并非所有插件都完全安装在 /themes 子目录中。
有人有这方面的经验吗?我是否过度设计了这个?也许主题/插件文件在您的 WordPress 博客的整个生命周期中并没有真正改变太多(即,一旦设置好,您并没有真正发现自己改变太多),在这种情况下可能是选项 1(压缩到S3 和通过引导脚本下载)对我来说是最好的选择,而选项 3(EFS)是过度设计的。
如果您有解决这个难题的经验,我很乐意听取您的意见!
提前致谢!
【问题讨论】:
标签: wordpress amazon-web-services autoscaling