我阅读了这个问题和答案: 我的EC2竞价型实例卷会与实例一起死掉吗?
因此,当我请求一个竞价型实例时,我在EBS卷(它给了我的标准卷)下添加了第二个卷,并取消选中了删除标签。
然后,我的SSH一旦准备好就启动了我的实例,并安装了我需要安装的东西(Tensorflow,iPython,Jupyter等等…)。
然后我用jupyter notebook --certfile=~/certs/mycert.pem --keyfile ~/certs/mycert.key启动了一个jupyter笔记本jupyter notebook --certfile=~/certs/mycert.pem --keyfile ~/certs/mycert.key ,创build了一个新的笔记本,保存并终止了jupyter notebook --certfile=~/certs/mycert.pem --keyfile ~/certs/mycert.key实例来testing是否所有这些安装而我的笔记本会留在我用专有实例创build的第二个非删除卷上。
当我去终止,它确实确认第二个EBS卷不会被删除。
然后我又启动了另一个Spot实例,但是这次没有指定第二个EBS卷,我所有的安装和笔记本都没有了 ,当我试图启动jupyter时,我得到了一个“command not found”错误。
我需要以某种方式“SSH”后启动实例SSH到该特定的卷? 是不是我自动保存在第二个EBS卷? 我是否需要拍摄快照,或创build第二个EBS卷的图像?
无论我的Instance如何突然终止,并在稍后的任何其他实例中访问它们,保留我的安装和文件的最简单方法是什么 ? 我看了EBS定价,并不介意支付0.1美元/ GB /月,我只是不知道如何使其工作。
通常,您需要确保您关心的任何状态都存储在次要EBS卷上。
不过,我会说,如果你在现场实例上手动安装所有这些,那么你做错了。 通过这样做,你正在为自己的失败而设置自己,并且在通向你的失败状态的路上肆意冒出大量无聊的重复性任务。
而不是做你正在做的事情,启动一个按需实例,并configuration好你想要的软件安装,证书,服务等等。然后创build一个AMI。 有了这张图片,您就可以创build100%准备好的专题实例了。
关于保留其他状态,您需要重新工作,以保持S3的状态,或者将非删除EBS卷挂载到文件系统的某个位置,然后确保所有状态都存储在该文件系统,以便它可以附加和重新安装到未来的现场实例。