集成AWS EC2,RDS和... S3?

问题描述:

我下面这个教程和100%的工作就像一个魅力:集成AWS EC2,RDS和... S3?

http://docs.aws.amazon.com/gettingstarted/latest/wah-linux/awsgsg-wah-linux.pdf

,但在该教程,它仅使用在Amazon EC2和RDS。我想知道如果我的服务器扩展到多个EC2实例,那么我需要更新我的PHP文件。

我必须在这些实例中手动分配吗?因为据我所知,这些实例并不相互同步。

所以,我决定使用S3作为替换我的/ var/www,这样PHP文件现在集中在一个地方。

因此,只要这些EC2扩大规模,这些文件就保留在一个地方,我不需要上传到多个EC2。

这是集中文件服务器(S3)/ var/www的最佳实践吗?因为目前我在使用s3fs挂载时仍然有权限问题。

谢谢。

你必须把你的/ var/www /放在S3中,当你的实例扩大后,必须从你的bucket创建'aws s3 sync',你可以在userdata中做到这一点。您还必须选择进行更改的“主”实例,同步脚本将更改上载到S3,并使用rsync将更改复制到活动的FE。这是因为如果你有3个FE从S3下载/ var/www /并且你想做一个新的更改,你将不得不在你所有的实例中进行s3同步。 您可以使用inotify管理“主”实例中的更改。 Inotify可以检测/ var/www /和exec两个命令中的更改,其中一个可以是aws s3 sync,然后是一个rsync到其他实例。您可以通过AWS API从ELB获取您的实例列表。 最后一件事是在'主'实例中检查实例终止保护。

你的架构应该像这里http://www.markomedia.com.au/scaling-wordpress-in-amazon-cloud/

好好看看!