首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aws在启动时附加卷,并在apache MySQL...开始

aws在启动时附加卷,并在apache MySQL...开始
EN

Stack Overflow用户
提问于 2016-07-20 07:54:17
回答 1查看 448关注 0票数 0

ubuntu 14 amazon aws

我正在尝试在启动时附加和挂载一个卷,/etc/init中有以下.conf文件

代码语言:javascript
复制
start on started network-interface
script
/usr/bin/aws ec2 attach-volume ... && /bin/mount ... || /bin/mount ...  
end script

问题是连接是异步的,可能需要任意时间

因此,如果我在实例第一次连接卷时启动它,但在装载时将失败如果我重新启动,那么它将在连接时失败,因为它已经连接了装载将工作,然后任何后续的重新引导都将工作问题是在第一次需要连接卷时

因此,我认为我需要另一个脚本(不确定是否可以在相同的.conf文件中完成),类似于

代码语言:javascript
复制
start on started network-interface
script
////try to attach it if we get an error then its already attached so mount it
/usr/bin/aws ec2 attach-volume ... || /bin/mount ...    
end script

start on WHEN volumen IS attached (no idea what i need here)
script
///new device attached to system mount it
/bin/mount ...
end script

所以我的问题是,我如何知道设备/卷何时连接到系统,我希望所有这些都可以在像apache mysql这样的东西之前完成……如果没有启动,我需要重新启动它们,或者更好地延迟apache mysql的启动。在我的装载准备好之前,我需要以这种方式连接多个卷

感谢您的建议

EN

回答 1

Stack Overflow用户

发布于 2016-07-20 09:07:16

通过让实例创建并附加其自己的EBS卷,每个实例都将需要凭据或允许其创建和附加EBS卷的

  1. 实例角色。这是一个潜在的安全风险。
  2. 如果你必须让实例创建自己的卷(仍然不是最优的),请不要使用upstart。这只需要在第一次启动时完成一次,而不是在每次重新启动时。将实例user-data中的命令作为脚本在第一次引导时执行。
  3. 更好的做法是,使用卷创建实例并让其自动附加。创建一个自动伸缩组,并将EBS卷放入启动配置。(自动缩放组不需要自动缩放。您可以强制它们具有精确的大小。它们对于自动化创建具有复杂配置的实例非常有用。)然后,在user-data中,传递一个用于格式化卷并装载它的脚本(并向/etc/fstab).

添加一个条目

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38470317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档