我试图运行python脚本上ec2实例。 蟒蛇的文件是居住在s3。 我可以手动运行,从ec2实例的使用iam的作用,允许访问s3文件夹和文件。
问题是,如何,我可以自动启动和中止的ec2实例需要的时候和如何援引/通python文件运行后启动ec2实例,并停止实例一旦蟒蛇的文件,完成了执行。
谢谢, Nikhil
我试图运行python脚本上ec2实例。 蟒蛇的文件是居住在s3。 我可以手动运行,从ec2实例的使用iam的作用,允许访问s3文件夹和文件。
问题是,如何,我可以自动启动和中止的ec2实例需要的时候和如何援引/通python文件运行后启动ec2实例,并停止实例一旦蟒蛇的文件,完成了执行。
谢谢, Nikhil
你的要求似乎是:
开始EC2实例的时间表
你可以利用 亚马逊EventBridge 触发 Lambda功能 的时间表。
你可以代码Lambda功能的电话 StartInstances()
在EC2实例开始。
运行一个脚本上启动
安装一个脚本到 /var/lib/cloud/scripts/per-boot/
目录。 这个脚本可以下载的蟒蛇的程序从S3,然后运行。
当EC2实例开始,它将自动运行的任何脚本,目录。
停止实例脚本时完成的
在脚本的结尾,添加以下命令:
shutdown -h now
这将关闭的实例,并把它在 停止 状态。
(这个假设的脚本是运行为的根源。 如果它运行为的另一个用户,它将需要使用 sudo shutdown -h now
.)
EC2实例的使用 cloudinit 你可以定制运行的一个脚本给每个引导。 你可以使用经常os工具,从python关闭你的实例(例如 shutdown -h now
).
在这里,另一个替代办法是使用氧功能,而不是EC2实例的运行python脚本,如果最大的执行时间脚本是低于15分钟。 去无服务器的与lambda而不是EC2。 只是添加脚本代码在lambda和时间表lambda功能,从AWS事件桥援引它。