首先,我想澄清一下,我是 AWS 的新手,特别是 Spot 实例的新手,所以请原谅我缺乏具体的语言。
我必须实现以下设置:
- 每 8 小时创建一个竞价实例
- 每次运行一个R脚本(运行时间约为35分钟)
- 将结果写回我拥有的 RDS 持久实例(这发生在 R 脚本内)
- 关闭现场实例
到目前为止,我已经通过 AWS SDK 和自定义脚本实现了“每 8 小时创建一个现货实例”部分。
我遇到的问题是,我不确定一旦 Spot 实例变为“事件”状态,如何在该实例内运行 R 脚本。
我了解如何检查实例的状态,但不了解如何“调用”文件。
我考虑在另一台机器上运行一个 cron 作业,该作业将检查实例是否处于事件状态并调用该文件。
这是要走的路吗?如果是,我如何获取实例地址以便调用它?
最佳答案
有 CloudInit package可(至少在基于 Ubuntu 的 AMI 上)在实例启动时执行各种任务。您可以编写一个 shell 脚本并将其放在用户数据部分中,以便在启动时执行它,调用您的 R 脚本。这应该比从另一台机器检查实例状态更容易。
关于r - 如何在 Spot 实例处于事件状态时立即执行脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231847/