我有一个WebServer表示WS-1和NFS服务器(比如NFS-1 )在AWS上的设置。WS-1是由一个弹性负载均衡器和自动标度管理.它还有一个安装在/var/www上的EBS,它包含所有的应用程序代码。
发布于 2011-09-30 14:05:55
扩大规模后,EBS卷及其数据将不会被“克隆”。要实现这种行为,您可能需要在引导时将其自动化。
另一种方法是从S3中提取数据,这取决于EBS上的数据量。
使用安全组,您可以允许app_security_group中的任何服务器访问nfs_server_group中的任何服务器。这将允许您动态更新安全组。
希望这是合理的。
发布于 2014-11-17 01:00:42
只有在最近的AMI ()获取实例的情况下,您的实例才会被“克隆”。自快照拍摄以来,您的文件系统可能会有一些更改,所以最好使用AWS用户数据创建一个Bash/CloudInit脚本,该脚本将触发将更改的区域(例如代码库、媒体等)的更新。
更新某些领域的选项可以是其中之一(列出利弊):
下面是一个引导脚本的示例,您可以将其应用到启动配置中,以触发它来动态执行引导任务。请注意,userdata脚本是作为根用户执行的。
#!/bin/bash
# Update your packages
yum update -y
# Get/execute bootstrapping
cd /tmp
git clone ssh://your-git-server/bootstrapping-repo.git
chmod +x /tmp/your-repo/bootstrapping.sh
# Execute it
/tmp/your-repo/bootstrapping.sh
# Remove the bootstrapping script remnants
rm -rf /tmp/your-repo这种方法允许您灵活地更新您的“引导-回购”您需要的频率,而不必定期创建新的AMI。
作为背景,我在用户数据中使用S3来获取相关的SSH密钥、主机文件等,以及用于引导存储库的Git。
这也是一个好主意,使您的AMIs定期更新,并保存到您的启动配置,以便新的实例分离不会花费太长时间更新自己。无论您是否经常手动执行此操作,还是编写脚本通过API或CLI完成,都取决于您。
FYI:在实例启动时调用的用户数据和后续脚本的输出将被记录到文件/var/log/cloud-init-output.log
https://serverfault.com/questions/232745
复制相似问题