使用 Amazon 计划程序按 EventBridge 计划运行 Amazon ECS 任务 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon 计划程序按 EventBridge 计划运行 Amazon ECS 任务

EventBridge Scheduler 是一种无服务器调度程序,允许您通过一个中央托管服务创建、运行和管理任务。它提供独立于事件总线和规则的一次性和重复性调度功能。 EventBridge Scheduler 具有高度可定制性,与 EventBridge 计划规则相比,它具有更高的可扩展性,具有更广泛的目标 API 操作和 Amazon 服务。 EventBridge Scheduler 提供以下计划,您可以在 EventBridge 计划程序控制台中为任务配置这些计划:

  • 基于速率

  • 基于 Cron

    您可以在任何时区配置基于 cron 的计划。

  • 一次性计划

    您可以在任何时区配置一次性的计划。

您可以使用 Amazon 计划 EventBridge 程序来安排您的 Amazon ECS。

尽管您可以在 Amazon ECS 控制台中创建计划任务,但目前 EventBridge 计划程序控制台提供了更多功能。

在计划任务之前,完成以下步骤:

  1. 使用 VPC 控制台,获取任务运行所在的子网 ID 和子网的安全组 ID。有关更多信息,请参阅《Amazon VPC 用户指南》中的查看您的子网查看您的安全组

  2. 配置 EventBridge 调度程序执行角色。有关更多信息,请参阅 Amazon EventBridge 计划程序用户指南中的设置执行角色

要使用控制台创建新计划
  1. 打开 Amazon S EventBridge cheduler 控制台,网址为 https://console.aws.amazon.com/scheduler/home

  2. 计划页面,选择创建计划

  3. 指定计划详细信息页面,在计划名称和描述部分中,执行以下操作:

    1. 对于计划名称,输入计划的名称。例如,MyTestSchedule

    2. (可选)对于描述,输入对计划的描述。例如,TestSchedule

    3. 对于计划组,从下拉列表中选择一个计划组。如果您没有计划组,选择默认。要创建计划组,选择创建自己的计划

      您可以使用计划组将标签添加到计划组。

  4. 选择计划选项。

    出现 请执行此操作...

    一次性计划

    一次性计划仅在您指定的日期和时间调用一次目标。

    对于日期和时间,请执行以下操作:

    • 输入 YYYY/MM/DD 格式的有效日期。

    • 输入 24 小时 hh:mm 格式的时间戳。

    • 对于时区,选择时区。

    定期计划

    定期计划按照您使用 cron 表达式或 rate 表达式指定的速率调用目标。

    1. 对于计划类型,执行以下操作之一:

      • 要使用 cron 表达式定义计划,请选择基于 cron 的计划并输入 cron 表达式。

      • 要使用 rate 表达式定义计划,请选择基于 rate 的计划并输入 rate 表达式。

        有关 cron 和费率表达式的更多信息,请参阅 A mazon EventBridge 计划程序用户指南中的计划 EventBridge 程序中的计划类型

    2. 对于灵活的时间窗口,选择关闭以关闭该选项,或者选择一个预定义的时间窗口。例如,如果您选择 15 分钟并且将定期计划设置为每小时调用一次其目标,则该计划将在每小时开始后的 15 分钟内运行。

  5. (可选)如果您在上一步中选择定期计划,在时间范围部分,请执行以下操作:

    1. 对于时区,请选择时区。

    2. 对于开始日期和时间,请输入 YYYY/MM/DD 格式的有效日期,然后指定 24 小时 hh:mm 格式的时间戳。

    3. 对于结束日期和时间,请输入 YYYY/MM/DD 格式的有效日期,然后指定 24 小时 hh:mm 格式的时间戳。

  6. 选择下一步

  7. 选择目标页面上,执行以下操作:

    1. 选择所有 API,然后在搜索框中输入 ECS

    2. 选择 Amazon ECS

    3. 在搜索框中输入 RunTask,然后选择RunTask

    4. 对于 Cluster,选择集群。

    5. 对于 ECS 任务,请选择要用于任务的任务定义。

    6. 要使用启动类型,请展开计算选项,然后选择启动类型。然后,选择启动类型。

      当指定 Fargate 启动类型时,对于平台版本中,输入要使用的平台版本。如果未指定任何平台,将使用 LATEST 平台版本。

    7. 对于子网,请输入要在其中运行任务的子网 ID。

    8. 对于安全组,请输入子网的安全组 ID。

    9. (可选)要使用默认策略之外的其他任务放置策略,请展开置放约束,然后输入约束。

      有关更多信息,请参阅 Amazon ECS 如何在容器实例上放置任务

    10. (可选)为了帮助识别您的任务,请在标签下配置您的标签。

      要让 Amazon ECS 使用任务定义标签自动标记全部新启动的任务,选择启用 Amazon ECS 托管标签

  8. 选择下一步

  9. Settings (设置) 页面上,执行以下操作:

    1. 要打开计划,在计划状态下,切换启用计划

    2. 要为计划配置重试策略,在重试策略和死信队列(DLQ)下,请执行以下操作:

      • 切换重试

      • 事件的最大保留时间中,输入 EventBridge 调度器必须保留未处理事件的最大小时最小值。

      • 最长时间为 24 小时。

      • 在 “最大重试次数” 中,输入目标返回错误时 EventBridge 调度器重试计划的最大次数。

        最大值为 185 次重试。

      使用重试策略,如果计划未能调用其目标,则调 EventBridge 度程序会重新运行该计划。如果已配置,则必须为计划设置最长保留时间和最大重试次数。

    3. 选择 EventBridge 日程安排器存储未传送事件的位置。

      死信队列(DLQ)选项 请执行此操作...
      请勿存储 选择 None
      将活动存储 Amazon Web Services 账户 在您创建日程安排的同一位置
      1. 在 “我的 Amazon Web Services 账户 作为 DLQ” 中选择 “选择 Amazon SQS 队列”。

      2. 选择 Amazon SQS 队列的 Amazon 资源名称(ARN)。

      将活动存储在与您创建日程表不同的 Amazon Web Services 账户 位置
      1. 选择在其他队列中指定一个 Amazon SQS 队列 Amazon Web Services 账户 作为 DLQ。

      2. 输入 Amazon SQS 队列的 Amazon 资源名称(ARN)。

    4. 要使用客户托管密钥加密目标输入,在加密下,选择自定义加密设置(高级)

      如果选择此选项,请输入现有的 KMS 密钥 ARN 或选择创建一个  Amazon KMS key 以导航到  Amazon KMS  控制台。有关 EventBridge 计划程序如何加密静态数据的更多信息,请参阅 A mazon EventBridge 计划程序用户指南中的静态加密

    5. 对于权限,选择使用现有角色,然后选择角色。

      要让 EventBridge Scheduler 为您创建新的执行角色,请选择为此计划创建新角色。然后,在角色名称中输入名称。如果您选择此选项,S EventBridge cheduler 会将模板化目标所需的权限附加到该角色。

  10. 选择下一步

  11. 查看并创建计划页面上,查看计划的详细信息。在每个部分中,选择编辑返回到该步骤并编辑其详细信息。

  12. 选择创建计划

    您可以在计划页面上查看新的和现有的计划列表。在状态列下,验证新计划是否已启用

后续步骤

您可以使用 EventBridge 日程安排器控制台或 Amazon CLI 来管理日程安排。有关更多信息,请参阅 Amazon 日程安排用户指南中的管理日 EventBridge 程安排。