在AWS上,每天运行一次AWS CLI命令

时间:2018-12-12 03:42:48

标签: amazon-web-services aws-cli amazon-emr

我有一个AWS CLI调用(在这种情况下,要启动配置的EMR集群以执行一些步骤,然后关闭),但是我不确定如何每天运行它。

我想做到这一点的一种方法是运行cron作业的EC2微型实例,或者启动该命令的微型计算机中的ECS任务,但这一切似乎都不过分。看来在Lambda中也可以做到这一点,但是从我所知道的那儿看来,这很糊涂。

这不一定是一个好的长期解决方案,只有在我能正确执行之前(数据管道),一些合适的方法才能正常工作。

建议?

2 个答案:

答案 0 :(得分:1)

如果不是严格要求使用AWS CLI,则可以使用其中一种AWS开发工具包来以编程方式调用Lambda。

  • 使用cron
  • 安排CloudWatch规则
  • 配置后,CloudWatch Rules将触发Lambda函数
  • 使用一个受支持的SDK(例如,AWS JavaScript SDK中的EMR类)实现Lambda函数来调用EMR
  • 确保您已具备IAM配置

完整示例可在Schedule AWS Lambda Functions Using CloudWatch Events

中找到

克鲁吉?是的,需要进行配置,但是如果考虑到启动EC2 / ECS所需的工作量(并确保在发生故障时重新启动),我会说它已经稳定了。

答案 1 :(得分:0)

不确定您正在执行的整个任务,但要避免执行此操作:

  
      
  1. 手动
  2.   
  3. 避免对AWS中的资源进行其他设置(如上所述)
  4.   

我会在Continuous Integration (CI)之类的jenkins,bamboo,circleci .....服务器上创建一个简单的作业(列表可以继续)。我以为您可能已经在运行CI服务器,为什么不使用它呢?

相关问题