我有一个 AWS CLI 调用(在本例中,启动已配置的 EMR 集群来执行一些步骤,然后关闭),但我不确定如何每天运行它。
我猜想实现此目的的一种方法是运行 cron 作业的 EC2 微型实例,或者启动该命令的微型 ECS 任务,但这一切似乎都有点过头了。看起来在 Lambda 中也有一种方法可以做到这一点,但据我所知,它会很笨拙。
这不一定是一个好的长期解决方案,在我能正确完成之前合适的东西(数据管道)就可以很好地工作。
建议?
如果不严格要求使用 AWS CLI,您可以使用 AWS 开发工具包之一以编程方式调用 Lambda。
完整示例可在使用 CloudWatch Events 安排 AWS Lambda 函数
中找到克鲁吉?是的,需要配置,但是如果您考虑到启动 EC2 / ECS 所需的工作量(并确保它在发生故障时重新启动),我会说它是平衡的。
不确定您正在执行的整个任务,但要避免这样做:
- 手动
- 避免在 AWS 中再次设置资源(正如您提到的)
我会在像
Continuous Integration (CI)
这样的jenkins,bamboo,circleci .....
服务器中创建一个简单的作业(列表可以继续)。我假设您可能已经运行了 CI 服务器,为什么不使用它呢?
https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/scheduler-command-line.html
我在配置时遇到问题,但我相信这是一个可行的解决方案。