為影響 Amazon EC2 執行個體的排程事件建立自訂事件視窗 - Amazon Elastic Compute Cloud

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

為影響 Amazon EC2 執行個體的排程事件建立自訂事件視窗

您可以為重新開機、停止或終止 Amazon EC2 執行個體的排定事件定義每週重複的自訂事件視窗。您可以將一或多個執行個體關聯到事件時段。如果已計劃這些執行個體的排程事件, AWS 會在相關聯的事件時段中排程事件。

您可以使用事件時段,透過指定在工作負載離峰期間出現的事件時段,將工作負載可用性最大化。您也可以調整事件時段與內部維護排程。

可以透過指定一組時間範圍來定義事件時段。最短時間範圍為 2 小時。合併的時間範圍總計必須至少 4 小時。

您可以使用執行個體或執行個體標籤,將一IDs或多個執行個體與事件視窗產生關聯。您也可以使用主機 ID,將專用執行個體與事件時段建立關聯。

警告

事件時段僅適用於停止、重新啟動或終止執行個體的排程事件。

事件時段適用於:

  • 快速排程事件和網路維護事件。

  • 不定期的維護,例如意外 AutoRecovery 重新啟動。

考量事項

  • 所有事件窗口時間都在UTC。

  • 最短每週事件時段為 4 小時。

  • 事件時段內的時間範圍必須至少為 2 小時。

  • 只有一個目標類型 (執行個體 ID、專用執行個體 ID 或執行個體標籤) 可以與事件時段關聯。

  • 一個目標類型 (執行個體 ID、專用執行個體 ID 或執行個體標籤) 只能與一個事件時段關聯。

  • 一個事件視窗最多可以關聯 100 個執行個體或 50 個專用主機IDs,或 50 個執行個體標籤。IDs執行個體標籤可與任意數量的執行個體關聯。

  • 每個 AWS 區域最多可建立 200 個事件視窗。

  • 與事件時段相關聯的多個執行個體可能會同時發生排程事件。

  • 如果 AWS 已排程事件,修改事件視窗不會變更已排程事件的時間。如果事件有截止日期,您可以重新排程事件

  • 您可以在排程事件之前停止並啟動執行個體,這樣會將執行個體遷移到新主機,而排程的事件將不再發生。

建立事件時段

您可以建立一或多個事件時段。對於每個事件時段,您可以指定一個或多個時間段。例如,您可以建立一個事件時段,其時間段為每天凌晨 4 點開始,持續 2 小時。或者,您可以建立一個事件時段,其時間段為星期日凌晨 2 點到凌晨 4 點和星期三凌晨 3 點到凌晨 5 點。

如需事件時段限制,請參閱本主題前面的考量事項

事件時段會每週重複出現,直到您刪除為止。

使用下列其中一種方法來建立事件時段。

Console
建立事件時段
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 Events (事件)。

  3. 選擇 Actions (動作)、Manage event windows (管理事件時段)。

  4. 選擇 Create instance event window (建立執行個體事件時段)。

  5. 對於 Event window name (事件時段名稱),輸入事件時段的描述性名稱。

  6. 對於 Event window schedule (事件時段排程),透過使用 cron 排程建置器或指定時間範圍,進行選擇以在事件時段中指定時間段。

    • 如果選擇 Cron schedule builder (Cron 排程建置器),請指定以下內容:

      1. 對於 D ays (UTC),請指定發生事件視窗的星期幾。

      2. 對於「開始時間」(UTC),請指定事件視窗開始的時間。

      3. 對於 Duration (持續時間),在事件時段中指定時間段的持續時間。每個時間段的最短持續時間為 2 小時。事件時段的最短持續時間總計必須等於或超過 4 小時。所有的時間都在UTC。

    • 如果選擇 Time ranges (時間範圍),請選擇 Add new time range (新增時間範圍),然後指定開始日期和時間以及結束日期和時間。對每個時間範圍重複此步驟。每個時間範圍的最短持續時間為 2 小時。所有時間範圍合併的最小持續時間總計必須等於或超過 4 小時。

  7. (選用) 對於 Target details (目標詳細資訊),請將一個或多個執行個體與事件時段關聯,如果執行個體已排程進行維護,則排程的事件會在關聯的事件時段中發生。您可以使用執行個體或執行個體標籤,將一或多個執IDs行個體與事件視窗產生關聯。您可以使用主機 ID,將專用執行個體與事件時段關聯。

    請注意,您可以建立事件時段,而無需將目標與時段建立關聯。稍後,您可以修改時段以關聯一個或多個目標。

  8. (選用) 對於 Event window tags (事件時段標籤),選擇 Add tag (新增標籤),然後輸入標籤的金鑰和值。針對每個標籤,重複執行上述動作。

  9. 選擇 Create event window (建立事件時段)。

AWS CLI

若要使用建立事件視窗 AWS CLI,請先建立事件視窗,然後將一或多個目標與事件視窗相關聯。

建立事件時段

您可以在建立事件時段時定義一組時間範圍或 cron 表達式,但不能同時定義兩者。

建立具有時間範圍的事件時段

使用指create-instance-event-window令並指定--time-range參數。您不能指定 --cron-expression 參數。

aws ec2 create-instance-event-window \ --region us-east-1 \ --time-range StartWeekDay=monday,StartHour=2,EndWeekDay=wednesday,EndHour=8 \ --tag-specifications "ResourceType=instance-event-window,Tags=[{Key=K1,Value=V1}]" \ --name myEventWindowName

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "TimeRanges": [ { "StartWeekDay": "monday", "StartHour": 2, "EndWeekDay": "wednesday", "EndHour": 8 } ], "Name": "myEventWindowName", "State": "creating", "Tags": [ { "Key": "K1", "Value": "V1" } ] } }
透過 cron 表達式建立事件時段

使用指create-instance-event-window令並指定--cron-expression參數。您不能指定 --time-range 參數。

aws ec2 create-instance-event-window \ --region us-east-1 \ --cron-expression "* 21-23 * * 2,3" \ --tag-specifications "ResourceType=instance-event-window,Tags=[{Key=K1,Value=V1}]" \ --name myEventWindowName

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "State": "creating", "Tags": [ { "Key": "K1", "Value": "V1" } ] } }
將目標與事件時段關聯

您只能將一種類型的目標 (執行個體IDs、專用主機IDs或執行個體標記) 與事件視窗建立關聯。

將執行個體標籤與事件時段關聯

使用指associate-instance-event-window令並指定instance-event-window-id參數以指定事件視窗。若要關聯執行個體標籤,請指定 --association-target 參數,並針對參數值指定一個或多個標籤。

aws ec2 associate-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceTags=[{Key=k2,Value=v2},{Key=k1,Value=v1}]"

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [], "Tags": [ { "Key": "k2", "Value": "v2" }, { "Key": "k1", "Value": "v1" } ], "DedicatedHostIds": [] }, "State": "creating" } }
將一個或多個執行個體與事件時段關聯

使用指associate-instance-event-window令並指定instance-event-window-id參數以指定事件視窗。若要關聯例證,請指定--association-target參數,並為參數值指定一個或多個例證IDs。

aws ec2 associate-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceIds=i-1234567890abcdef0,i-0598c7d356eba48d7"

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [ "i-1234567890abcdef0", "i-0598c7d356eba48d7" ], "Tags": [], "DedicatedHostIds": [] }, "State": "creating" } }
將專用執行個體與事件時段關聯

使用指associate-instance-event-window令並指定instance-event-window-id參數以指定事件視窗。若要關聯專用主機,請指定--association-target參數,並為參數值指定一或多個專用主機IDs。

aws ec2 associate-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "DedicatedHostIds=h-029fa35a02b99801d"

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [], "Tags": [], "DedicatedHostIds": [ "h-029fa35a02b99801d" ] }, "State": "creating" } }

檢視事件時段

您可以使用下列其中一種方法來檢視事件時段。

Console
檢視事件時段
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 Events (事件)。

  3. 選擇 Actions (動作)、Manage event windows (管理事件時段)。

  4. 選取事件時段以檢視其詳細資訊。

AWS CLI
描述所有事件時段

使用指describe-instance-event-windows令。

aws ec2 describe-instance-event-windows \ --region us-east-1

預期的輸出結果

{ "InstanceEventWindows": [ { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [ "i-1234567890abcdef0", "i-0598c7d356eba48d7" ], "Tags": [], "DedicatedHostIds": [] }, "State": "active", "Tags": [] } ... ], "NextToken": "9d624e0c-388b-4862-a31e-a85c64fc1d4a" }
描述所有特定事件時段

使用指describe-instance-event-windows令搭配--instance-event-window-id參數來描述特定事件視窗。

aws ec2 describe-instance-event-windows \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890
描述符合一個或多個篩選條件的事件時段

describe-instance-event-windows指令與--filters參數搭配使用。在以下範例中,instance-id 篩選條件用於描述與指定執行個體相關聯的所有事件時段。

使用篩選條件時,它會執行直接比對。不過,instance-id 篩選條件是不同的。如果執行個體 ID 沒有直接匹配項,則會返回到與事件時段的間接關聯,例如執行個體的標籤或專用執行個體 ID (如果執行個體位於專用執行個體上)。

如需支援的篩選器清單,請參閱〈AWS CLI 參考describe-instance-event-windows中的〈〉。

aws ec2 describe-instance-event-windows \ --region us-east-1 \ --filters Name=instance-id,Values=i-1234567890abcdef0 \ --max-results 100 \ --next-token <next-token-value>

預期的輸出結果

在下列範例中,執行個體位於與事件時段相關聯的專用執行個體上。

{ "InstanceEventWindows": [ { "InstanceEventWindowId": "iew-0dbc0adb66f235982", "TimeRanges": [ { "StartWeekDay": "sunday", "StartHour": 2, "EndWeekDay": "sunday", "EndHour": 8 } ], "Name": "myEventWindowName", "AssociationTarget": { "InstanceIds": [], "Tags": [], "DedicatedHostIds": [ "h-0140d9a7ecbd102dd" ] }, "State": "active", "Tags": [] } ] }

修改事件時段

您可以修改事件時段的所有欄位,但其 ID 除外。例如,當日光節約時間開始時,您可能想要修改事件時段排程。對於現有事件時段,您可能會想要新增或移除目標。

使用下列其中一種方法來修改事件時段。

Console
修改事件時段
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 Events (事件)。

  3. 選擇 Actions (動作)、Manage event windows (管理事件時段)。

  4. 選取要修改的事件時段,然後選擇 Actions (動作)、Modify instance event window (修改執行個體事件時段)。

  5. 修改事件時段中的欄位,然後選擇 Modify event window (修改事件時段)。

AWS CLI

若要使用修改事件視窗 AWS CLI,您可以修改時間範圍或 Cron 運算式,以及將一或多個目標與事件視窗產生關聯或取消關聯。

修改事件時段時間

您可以在修改事件時段時修改時間範圍或 cron 表達式,但不能同時修改兩者。

修改事件時段的時間範圍

使用指modify-instance-event-window令並指定要修改的事件視窗。指定 --time-range 參數來修改時間範圍。您不能指定 --cron-expression 參數。

aws ec2 modify-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --time-range StartWeekDay=monday,StartHour=2,EndWeekDay=wednesday,EndHour=8

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "TimeRanges": [ { "StartWeekDay": "monday", "StartHour": 2, "EndWeekDay": "wednesday", "EndHour": 8 } ], "Name": "myEventWindowName", "AssociationTarget": { "InstanceIds": [ "i-0abcdef1234567890", "i-0be35f9acb8ba01f0" ], "Tags": [], "DedicatedHostIds": [] }, "State": "creating", "Tags": [ { "Key": "K1", "Value": "V1" } ] } }
修改事件時段的一組時間範圍

使用指modify-instance-event-window令並指定要修改的事件視窗。指定 --time-range 參數來修改時間範圍。您不能指定相同呼叫中的 --cron-expression 參數。

aws ec2 modify-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --time-range '[{"StartWeekDay": "monday", "StartHour": 2, "EndWeekDay": "wednesday", "EndHour": 8}, {"StartWeekDay": "thursday", "StartHour": 2, "EndWeekDay": "friday", "EndHour": 8}]'

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "TimeRanges": [ { "StartWeekDay": "monday", "StartHour": 2, "EndWeekDay": "wednesday", "EndHour": 8 }, { "StartWeekDay": "thursday", "StartHour": 2, "EndWeekDay": "friday", "EndHour": 8 } ], "Name": "myEventWindowName", "AssociationTarget": { "InstanceIds": [ "i-0abcdef1234567890", "i-0be35f9acb8ba01f0" ], "Tags": [], "DedicatedHostIds": [] }, "State": "creating", "Tags": [ { "Key": "K1", "Value": "V1" } ] } }
修改事件時段的 cron 表達式

使用指modify-instance-event-window令並指定要修改的事件視窗。指定 --cron-expression 參數來修改 cron 表達式。您不能指定 --time-range 參數。

aws ec2 modify-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --cron-expression "* 21-23 * * 2,3"

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [ "i-0abcdef1234567890", "i-0be35f9acb8ba01f0" ], "Tags": [], "DedicatedHostIds": [] }, "State": "creating", "Tags": [ { "Key": "K1", "Value": "V1" } ] } }
修改與事件時段相關聯的目標

您可以將其他目標與事件時段關聯。您也可以取消現有目標與事件時段的關聯。不過,只能將一種類型的目標 (執行個體IDsIDs、專用主機或執行個體標籤) 與事件視窗產生關聯。

將其他目標與事件時段關聯

如需如何將目標與事件時段產生關聯的指示,請參閱Associate a target with an event window

解除執行個體標籤與事件時段的關聯

使用指disassociate-instance-event-window令並指定instance-event-window-id參數以指定事件視窗。若要解除執行個體標籤的關聯,請指定 --association-target 參數,並針對參數值指定一個或多個標籤。

aws ec2 disassociate-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceTags=[{Key=k2,Value=v2},{Key=k1,Value=v1}]"

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [], "Tags": [], "DedicatedHostIds": [] }, "State": "creating" } }
解除一個或多個執行個體與事件時段的關聯

使用指disassociate-instance-event-window令並指定instance-event-window-id參數以指定事件視窗。若要取消例證的關聯,請指定--association-target參數,並為參數值指定一個或多個例證IDs。

aws ec2 disassociate-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceIds=i-1234567890abcdef0,i-0598c7d356eba48d7"

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [], "Tags": [], "DedicatedHostIds": [] }, "State": "creating" } }
解除專用執行個體與事件時段的關聯

使用指disassociate-instance-event-window令並指定instance-event-window-id參數以指定事件視窗。若要取消專用主機的關聯,請指定--association-target參數,並為參數值指定一或多個專用主機IDs。

aws ec2 disassociate-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target DedicatedHostIds=h-029fa35a02b99801d

預期的輸出結果

{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [], "Tags": [], "DedicatedHostIds": [] }, "State": "creating" } }

刪除事件時段

您可以使用下列其中一種方法,一次刪除一個事件時段。

Console
刪除事件時段
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 Events (事件)。

  3. 選擇 Actions (動作)、Manage event windows (管理事件時段)。

  4. 選取要刪除的事件時段,然後選擇 Actions (動作)、Delete instance event window (刪除執行個體事件時段)。

  5. 當出現提示時,輸入 delete,然後選擇 Delete (刪除)

AWS CLI
刪除事件時段

使用指delete-instance-event-window令並指定要刪除的事件視窗。

aws ec2 delete-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890
強制刪除事件時段

使用 --force-delete 參數 (如果事件時段目前與目標相關聯)。

aws ec2 delete-instance-event-window \ --region us-east-1 \ --instance-event-window-id iew-0abcdef1234567890 \ --force-delete

預期的輸出結果

{ "InstanceEventWindowState": { "InstanceEventWindowId": "iew-0abcdef1234567890", "State": "deleting" } }

標記事件時段

您可以在建立事件時段時或之後對其進行標記。

若要在建立事件時段時進行標記,請參閱建立事件時段

使用下列其中一種方法來標記事件時段。

Console
標記現有事件時段
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 Events (事件)。

  3. 選擇 Actions (動作)、Manage event windows (管理事件時段)。

  4. 選取要標記的事件時段,然後選擇 Actions (動作)、Manage instance event window tags (管理執行個體事件時段標籤)。

  5. 選擇 Add tag (新增標籤) 以新增標籤。針對每個標籤,重複執行上述動作。

  6. 選擇 Save (儲存)。

AWS CLI
標記現有事件時段

使用建立標籤命令來標記現有資源。在下面的例子中,現有事件時段標記為 Key=purpose 和 Value=test。

aws ec2 create-tags \ --resources iew-0abcdef1234567890 \ --tags Key=purpose,Value=test