我想将亚马逊EC2竞价型实例作为CI服务器运行。 为了保留历史信息,我希望将所有数据保留在单独的EBS卷上,因为每当它终止时,现货实例的EBS卷将被删除。启动亚马逊EC2竞价型实例时附加EBS
如何在启动过程中挂载EBS卷?
谢谢, 伊多。
我想将亚马逊EC2竞价型实例作为CI服务器运行。 为了保留历史信息,我希望将所有数据保留在单独的EBS卷上,因为每当它终止时,现货实例的EBS卷将被删除。启动亚马逊EC2竞价型实例时附加EBS
如何在启动过程中挂载EBS卷?
谢谢, 伊多。
你可以有一个init
脚本重视的已有量,使用这个命令:
ec2-attach-volume volume_id --instance instance_id --device device
为了这个工作,你需要
EC2-API安装在机器
你需要有EC2_PRIVATE_KEY
和EC2_CERT
作为一个环境变量或将要明确地传递。
您试图附加的音量应该可用。或者,您可以选择强制detach the volume。
您可以使用curl http://169.254.169.254/latest/meta-data/instance-id
来获取当前实例的instance_id。
参见:
希望这有助于。
您可以使用EC2 API和EBS卷ID知识来完成此操作。
确切的步骤取决于您的操作系统。这里说明了如何做到这一点在Linux上
http://ec2dream.blogspot.com/search/label/EBS
这个特定的脚本是在Ruby中,你可能需要根据你的Linux发行版来安装的链接。校长可以很容易地移植到例如bash
。
如果您的实例在运行Windows,看看这个:
有什么办法可以做到这一点与根卷?据推测,你不能使用init脚本,因为如果它已经使用根磁盘来运行脚本,那么现有的EBS磁盘已经为时过晚了,无法成为根卷? –
也要注意init脚本是由root运行的,所以你的凭证需要以root身份加入。 awscli特别需要这个。连接设备后,可能需要明确安装。 – mckenzm