

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon EventBridge 排程器排程 Amazon ECS 任務
<a name="tasks-scheduled-eventbridge-scheduler"></a>

EventBridge 排程器是無伺服器排程器，可讓您從單一受管的中央服務建立、執行及管理任務。其提供與事件匯流排和規則無關的一次性和週期性排程功能。EventBridge 排程器具有高度可自訂性，並透過 EventBridge 排程規則改善可擴展性，提供更廣泛的目標 API 操作和 AWS 服務。EventBridge 排程器提供下列排程，您可以在 EventBridge 排程器主控台中為您的任務設定這些排程：
+ 速率型 
+ Cron 型

  您可以在任何時區中設定 Cron 型排程。
+ 一次性排程

  您可以在任何時區設定一次性排程。

您可以使用 Amazon EventBridge 排程器排程 Amazon ECS。

雖然您可以在 Amazon ECS 主控台中建立排程任務，但目前 EventBridge 排程器主控台提供更多功能。

在排程任務之前，請完成以下步驟：

1. 使用 VPC 主控台取得執行任務所在的子網路 ID 以及子網路的安全群組 ID。如需詳細資訊，請參閱《*Amazon* [VPC 使用者指南》中的 VPC 的子網路](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)，以及[AWS 使用安全群組控制資源的流量](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html)。

1. 設定 EventBridge 排程器執行角色。如需詳細資訊，請參閱《Amazon EventBridge 排程器使用者指南》**中的[設定執行角色](https://docs.aws.amazon.com/scheduler/latest/UserGuide/setting-up.html#setting-up-execution-role)。

1. 若要使用容量提供者策略執行任務，容量提供者必須與叢集相關聯。

**使用主控台建立新排程**

1. 前往 [https://console.aws.amazon.com/scheduler/home](https://console.aws.amazon.com/scheduler/home/) 開啟 Amazon EventBridge 排程器。

1.  在**排程**頁面上，選擇**建立排程**。

1.  在**指定排程詳細資訊**頁面的**排程名稱和描述**區段中，執行以下動作：

   1. 在**排程名稱**中，輸入排程的名稱，例如 **MyTestSchedule**。

   1. (選用) 在**描述**中，輸入對排程的描述，例如 **TestSchedule**。

   1. 在**排程群組**欄位中選擇排程群組。如果您沒有群組，請選擇**預設值**。若要建立排程群組，請選擇**建立自己的排程**。

      您可以使用排程群組，為不同群組的排程加上標籤。

1. 選擇排程選項。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonECS/latest/developerguide/tasks-scheduled-eventbridge-scheduler.html)

1. (選用) 如果您在上一個步驟中選擇**週期性排程**，請在**時間範圍**區段執行以下動作：

   1. 針對**時區**選擇時區。

   1. 對於**開始日期和時間**，依 `YYYY/MM/DD` 格式輸入有效日期，接著依 24 小時的 `hh:mm` 格式指定時間戳記。

   1. 對於**結束日期和時間**，依 `YYYY/MM/DD` 格式輸入有效日期，接著依 24 小時的 `hh:mm` 格式指定時間戳記。

1. 選擇**下一步**。

1. 在**選取目標**頁面上，執行下列動作：

   1. 選擇**所有 API**，然後在搜尋方塊中輸入 **ECS**。

   1. 選取 **Amazon ECS**。

   1. 在搜尋方塊中，輸入 **RunTask**，然後選擇 **RunTask**。

   1. 在 **ECS 叢集**中，選擇叢集。

   1. 在 **ECS 任務**中，選擇要用於任務的任務定義。

   1. 選擇任務在叢集基礎結構中的分佈方式。展開**運算選項**區段，然後選擇下列其中一個選項    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonECS/latest/developerguide/tasks-scheduled-eventbridge-scheduler.html)

   1. 在**子網路**中，輸入要在其中執行任務的子網路 ID。

   1. 在**安全群組**中，輸入子網路的安全群組 ID。

   1. (選用) 若要使用預設以外的任務置放策略，請展開**置放限制條件**，然後輸入限制條件。

       如需詳細資訊，請參閱[Amazon ECS 如何在容器執行個體上置放任務](task-placement.md)。

   1. (選用) 為協助識別您的任務，請在**標籤**下設定標籤。

      若要讓 Amazon ECS 使用任務定義標籤，自動標記所有新啟動的任務，請選取**啟用 Amazon ECS 受管標籤**。

1. 選擇**下一步**。

1. 在**設定**頁面執行以下動作：

   1. 若要開啟排程，請在**排程狀態**底下切換到**啟用排程**。

   1. 若要設定排程的重試政策，請在**重試政策和無效字母佇列 (DLQ)** 底下執行以下動作：
      + 切換到**重試**。
      + 在**事件的最大保留時間**中，輸入 EventBridge 排程器保留未處理事件的最大**時數**和**分鐘數**。
      + 時間最長可設為 24 小時。
      + 針對**重試次數上限**，輸入目標傳回錯誤時，EventBridge 排程器重新嘗試執行排程的次數上限。

         最大值為重試 185 次。

      設定好重試政策後，如果排程無法調用其目標，EventBridge 排程器會重新執行排程。一旦設定此功能，您就必須設定排程的最長保留時間和重試次數。

   1. 選擇 EventBridge 排程器儲存未交付事件的位置。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonECS/latest/developerguide/tasks-scheduled-eventbridge-scheduler.html)

   1. 若要使用由客戶管理的金鑰加密您的目標輸入，請在**加密**底下選擇**自訂加密設定 (進階)**。

      如果選擇此選項，請輸入現有的 KMS 金鑰 ARN，或選擇**建立 AWS KMS key**，以導覽至 AWS KMS 控制台。如需 EventBridge 排程器如何加密靜態資料的詳細資訊，請參閱《Amazon EventBridge 排程器使用者指南》中的[靜態加密](https://docs.aws.amazon.com/scheduler/latest/UserGuide/encryption-rest.html)**。

   1. 對於**許可**，請選擇**使用現有角色**，然後選取角色。

      若要讓 EventBridge 排程器為您建立新的執行角色，請選擇**為此排程建立新角色**。接著輸入**角色名稱**。如果您選擇此選項，EventBridge 排程器會將範本化目標所需的必要許可與角色連接。

1. 選擇**下一步**。

1.  在**檢閱和建立排程**頁面上，檢閱排程的詳細資訊。在每個區段中選擇**編輯**，即可返回該步驟並編輯其詳細資訊。

1. 選擇**建立排程**。

   您可以在**排程**頁面檢視新建立和現有的排程。在**狀態**欄底下，確認您的新排程狀態為**已啟用**。

## 後續步驟
<a name="eventbridge-scheduler-next-steps"></a>

您可以使用 EventBridge 排程器主控台或 AWS CLI 來管理排程。如需詳細資訊，請參閱《Amazon EventBridge 排程器使用者指南》**中的[管理排程](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule.html)。