使用 Amazon EventBridge 调度器计划 Amazon ECS 任务
EventBridge 调度器是一个无服务器调度器,使您能够从一个中央托管服务创建、运行和管理任务。它提供独立于事件总线和规则的一次性和重复性计划功能。EventBridge Scheduler 具有高度可定制性,与 EventBridge 计划规则相比,可扩展性更高,目标 API 操作和 Amazon 服务范围更广。EventBridge Scheduler 提供以下计划,您可以在 EventBridge Scheduler 控制台中为您的任务配置这些计划:
-
基于速率
-
基于 Cron
您可以在任何时区配置基于 cron 的计划。
-
一次性计划
您可以在任何时区配置一次性的计划。
您可以使用 Amazon EventBridge 调度器计划 Amazon ECS。
尽管您可以在 Amazon ECS 控制台中创建计划任务,但目前 EventBridge 调度器控制台提供了更多功能。
在计划任务之前,完成以下步骤:
-
使用 VPC 控制台,获取任务运行所在的子网 ID 和子网的安全组 ID。有关更多信息,请参阅《Amazon VPC 用户指南》中的 VPC 的子网和使用安全组控制指向 Amazon 资源的流量。
-
配置 EventBridge Scheduler 执行角色。有关更多信息,请参阅《Amazon EventBridge 调度器用户指南》中的设置执行角色。
-
如果要使用容量提供程序策略来运行任务,则必须拥有与集群关联的容量提供程序。
要使用控制台创建新计划
打开 Amazon EventBridge 调度器控制台,网址为:https://console.aws.amazon.com/scheduler/home
。 -
在计划页面,选择创建计划。
-
在指定计划详细信息页面,在计划名称和描述部分中,执行以下操作:
-
对于计划名称,输入计划的名称。例如,
MyTestSchedule
。 -
(可选)对于描述,输入对计划的描述。例如,
TestSchedule
。 -
对于计划组,请选择一个计划组。如果您没有计划组,选择默认。要创建计划组,选择创建自己的计划。
您可以使用计划组将标签添加到计划组。
-
-
选择计划选项。
出现 请执行此操作... 一次性计划
一次性计划仅在您指定的日期和时间调用一次目标。
对于日期和时间,请执行以下操作:
-
输入
YYYY/MM/DD
格式的有效日期。 -
输入 24 小时
hh:mm
格式的时间戳。 -
对于时区,选择时区。
定期计划
定期计划按照您使用 cron 表达式或 rate 表达式指定的速率调用目标。
-
对于计划类型,执行以下操作之一:
-
要使用 cron 表达式定义计划,请选择基于 cron 的计划并输入 cron 表达式。
-
要使用 rate 表达式定义计划,请选择基于 rate 的计划并输入 rate 表达式。
有关 cron 和 rate 表达式的更多信息,请参阅 Amazon EventBridge 调度器用户指南 中的 EventBridge 调度器的计划类型。
-
-
对于灵活的时间窗口,选择关闭以关闭该选项,或者选择一个预定义的时间窗口。例如,如果您选择 15 分钟并且将定期计划设置为每小时调用一次其目标,则该计划将在每小时开始后的 15 分钟内运行。
-
-
(可选)如果您在上一步中选择定期计划,在时间范围部分,请执行以下操作:
-
对于时区,请选择时区。
-
对于开始日期和时间,请输入
YYYY/MM/DD
格式的有效日期,然后指定 24 小时hh:mm
格式的时间戳。 -
对于结束日期和时间,请输入
YYYY/MM/DD
格式的有效日期,然后指定 24 小时hh:mm
格式的时间戳。
-
-
选择下一步。
-
在选择目标页面上,执行以下操作:
-
选择所有 API,然后在搜索框中输入 ECS。
-
选择 Amazon ECS。
-
在搜索框中输入 RunTask,然后选择 RunTask。
-
对于 Cluster,选择集群。
-
对于 ECS 任务,请选择要用于任务的任务定义。
-
选择任务在集群基础设施中的分发方式。展开计算选项,然后选择以下选项之一
计算选项 步骤 容量提供程序策略
-
选择容量提供程序策略。
-
选择策略:
-
要使用默认容量提供程序策略,请选择使用集群默认值。
-
要使用自定义策略,请选择使用自定义。然后,输入基数、容量提供程序和权重。
对于 EC2,容量提供程序是自动扩缩组。
-
启动类型 -
选择启动类型。
-
对于 Launch type(启动类型),请选择一种启动类型。
-
当指定 Fargate 启动类型时,对于平台版本,请指定要使用的平台版本。
-
-
对于子网,请输入要在其中运行任务的子网 ID。
-
对于安全组,请输入子网的安全组 ID。
-
(可选)要使用默认策略之外的其他任务放置策略,请展开置放约束,然后输入约束。
有关更多信息,请参阅 Amazon ECS 如何将任务放置在容器实例上。
-
(可选)为了帮助识别您的任务,请在标签下配置您的标签。
要让 Amazon ECS 使用任务定义标签自动标记全部新启动的任务,选择启用 Amazon ECS 托管标签。
-
-
选择下一步。
-
在设置页面上,执行以下操作:
-
要打开计划,在计划状态下,切换启用计划。
-
要为计划配置重试策略,在重试策略和死信队列(DLQ)下,请执行以下操作:
-
切换重试。
-
对于事件的最长保留时间,输入 EventBridge Scheduler 器必须保留未处理事件的最长小时和分钟数。
-
最长时间为 24 小时。
-
对于最大重试次数,输入在目标返回错误的情况下,EventBridge 调度器重试计划的最大次数。
最大值为 185 次重试。
配置重试策略后,如果计划未能调用其目标,EventBridge 调度器将重新运行该计划。如果已配置,则必须为计划设置最长保留时间和最大重试次数。
-
-
选择 EventBridge 调度器存储未送达事件的位置。
死信队列(DLQ)选项 请执行此操作... 请勿存储 选择 None。 将事件存储在创建计划所在的同一 Amazon Web Services 账户 中 -
选择在我的 Amazon Web Services 账户 中选择一个 Amazon SQS 队列作为 DLQ。
-
选择 Amazon SQS 队列的 Amazon 资源名称(ARN)。
将事件存储在与创建计划所在不同的 Amazon Web Services 账户 中 -
选择在另一个 Amazon Web Services 账户 中指定一个 Amazon SQS 队列作为 DLQ。
-
输入 Amazon SQS 队列的 Amazon 资源名称(ARN)。
-
-
要使用客户托管密钥加密目标输入,在加密下,选择自定义加密设置(高级)。
如果选择此选项,请输入现有的 KMS 密钥 ARN 或选择创建一个 Amazon KMS key 以导航到 Amazon KMS 控制台。有关 EventBridge 调度器如何加密静态数据的更多信息,请参阅 Amazon EventBridge 调度器用户指南 中的 静态加密。
-
对于权限,选择使用现有角色,然后选择角色。
要让 EventBridge 调度器为您创建新的执行角色,请选择为此计划创建新角色。然后,在角色名称中输入名称。如果您选择此选项,EventBridge 调度器会将模板化目标所需的必要权限附加到该角色。
-
-
选择下一步。
-
在查看并创建计划页面上,查看计划的详细信息。在每个部分中,选择编辑返回到该步骤并编辑其详细信息。
-
选择创建计划。
您可以在计划页面上查看新的和现有的计划列表。在状态列下,验证新计划是否已启用。
后续步骤
您可以使用 EventBridge Scheduler 控制台或 Amazon CLI 来管理计划。有关更多信息,请参阅《Amazon EventBridge 调度器用户指南》中的管理计划。