

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

# 使用 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 使用者指南》中的子網路](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. 選擇排程選項。


<table>
<thead>
  <tr><th>頻率</th><th>執行此作業...</th><th></th></tr>
</thead>
<tbody>
  <tr><td><b>一次性排程</b><br />一次性排程只會在您指定的日期與時間調用目標一次。</td><td>針對<b>日期和時間</b>執行以下動作：<ul><li> 依 <code>YYYY/MM/DD</code> 格式輸入有效日期。 </li><li> 依 <code>hh:mm</code> 格式輸入時間戳記 (24 小時)。 </li><li> 針對<b>時區</b>選擇時區。 </li></ul></td><td></td></tr>
  <tr><td><b>週期性排程</b><br />週期性排程會依您指定的頻率，使用 <b>cron</b> 或 Rate 運算式調用目標。</td><td> <ol><li> 在<b>排程模式</b>中，執行下列其中一項動作： <ul><li> 若要使用 Cron 運算式定義排程，請選擇 <b>Cron 排程</b>，然後輸入 Cron 運算式。 </li><li> 若要使用 Rate 表達式定義排程，請選擇 <b>Rate 排程</b>，然後輸入 Rate 表達式。 <br />如需 Cron 和 Rate 運算式的詳細資訊，請參閱《Amazon EventBridge 排程器使用者指南》<i></i>中的 <a href="https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html#cron-based">EventBridge 排程器上的排程類型</a>。 </li></ul> </li><li> 對於<b>彈性時段</b>，選擇<b>關閉</b>可關閉此選項，或者也能選擇其中一個預先定義的時間範圍。例如，如果您選擇 <b>15 分鐘</b>並設定週期性排程，每小時調用目標一次，則排程會在每小時一開始的 15 分鐘內執行。 </li></ol> </td><td></td></tr>
</tbody>
</table>


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. 選擇任務在叢集基礎結構中的分佈方式。展開**運算選項**區段，然後選擇下列其中一個選項


<table>
<thead>
  <tr><th>運算選項</th><th>步驟</th><th></th></tr>
</thead>
<tbody>
  <tr><td>容量提供者策略</td><td> <ol><li> 選擇<b>容量提供者策略</b>。 </li><li> 選擇策略： <ul><li> 若要使用預設的容量提供者策略，選擇<b>使用叢集預設值</b>。 </li><li> 若要使用自訂策略，請選擇<b>使用自訂</b>。然後，輸入<b>基礎</b>、<b>容量提供者</b>與<b>權重</b>。 <br />對於 EC2，容量提供者是 Auto Scaling 群組。 </li></ul> </li></ol> </td><td></td></tr>
  <tr><td>啟動類型</td><td> <ol><li> 選擇<b>啟動類型</b>。 </li><li> 針對 <b>啟動類型</b>，選擇啟動類型。 </li><li> 當指定 Fargate 時，在<b>平台版本</b>欄位中指定要使用的平台版本。 </li></ol> </td><td></td></tr>
</tbody>
</table>


   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 排程器儲存未交付事件的位置。


<table>
<thead>
  <tr><th><b>無效字母佇列 (DLQ)</b> 選項</th><th>執行此作業...</th><th></th></tr>
</thead>
<tbody>
  <tr><td>不儲存</td><td>選擇<b>無</b>。</td><td></td></tr>
  <tr><td>將事件存放在您建立排程的相同 AWS 帳戶 中</td><td> <ol><li> 選擇<b>在 中選取 Amazon SQS 佇列 AWS 帳戶 做為 DLQ</b>。 </li><li> 選擇 Amazon SQS 佇列的 Amazon Resource Name (ARN)。 </li></ol> </td><td></td></tr>
  <tr><td>將事件存放在與您要建立排程 AWS 帳戶 的位置不同的 中</td><td> <ol><li> 選擇<b>將其他 中的 Amazon SQS 佇列 AWS 帳戶 指定為 DLQ</b>。 </li><li> 輸入 Amazon SQS 佇列的 Amazon Resource Name (ARN)。 </li></ol> </td><td></td></tr>
</tbody>
</table>


   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)。