本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為影響 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
-
建立事件時段
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格中,選擇 Events (事件)。
-
選擇 Actions (動作)、Manage event windows (管理事件時段)。
-
選擇 Create instance event window (建立執行個體事件時段)。
-
對於 Event window name (事件時段名稱),輸入事件時段的描述性名稱。
-
對於 Event window schedule (事件時段排程),透過使用 cron 排程建置器或指定時間範圍,進行選擇以在事件時段中指定時間段。
-
如果選擇 Cron schedule builder (Cron 排程建置器),請指定以下內容:
-
對於 D ays (UTC),請指定發生事件視窗的星期幾。
-
對於「開始時間」(UTC),請指定事件視窗開始的時間。
-
對於 Duration (持續時間),在事件時段中指定時間段的持續時間。每個時間段的最短持續時間為 2 小時。事件時段的最短持續時間總計必須等於或超過 4 小時。所有的時間都在UTC。
-
-
如果選擇 Time ranges (時間範圍),請選擇 Add new time range (新增時間範圍),然後指定開始日期和時間以及結束日期和時間。對每個時間範圍重複此步驟。每個時間範圍的最短持續時間為 2 小時。所有時間範圍合併的最小持續時間總計必須等於或超過 4 小時。
-
-
(選用) 對於 Target details (目標詳細資訊),請將一個或多個執行個體與事件時段關聯,如果執行個體已排程進行維護,則排程的事件會在關聯的事件時段中發生。您可以使用執行個體或執行個體標籤,將一或多個執IDs行個體與事件視窗產生關聯。您可以使用主機 ID,將專用執行個體與事件時段關聯。
請注意,您可以建立事件時段,而無需將目標與時段建立關聯。稍後,您可以修改時段以關聯一個或多個目標。
-
(選用) 對於 Event window tags (事件時段標籤),選擇 Add tag (新增標籤),然後輸入標籤的金鑰和值。針對每個標籤,重複執行上述動作。
-
選擇 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
}]" \ --namemyEventWindowName
預期的輸出結果
{ "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
}]" \ --namemyEventWindowName
預期的輸出結果
{ "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-idiew-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-idiew-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-idiew-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
-
檢視事件時段
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格中,選擇 Events (事件)。
-
選擇 Actions (動作)、Manage event windows (管理事件時段)。
-
選取事件時段以檢視其詳細資訊。
- 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-idiew-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-results100
\ --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
-
修改事件時段
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格中,選擇 Events (事件)。
-
選擇 Actions (動作)、Manage event windows (管理事件時段)。
-
選取要修改的事件時段,然後選擇 Actions (動作)、Modify instance event window (修改執行個體事件時段)。
-
修改事件時段中的欄位,然後選擇 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-idiew-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-idiew-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-idiew-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-idiew-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-idiew-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-idiew-0abcdef1234567890
\ --association-target DedicatedHostIds=h-029fa35a02b99801d
預期的輸出結果
{ "InstanceEventWindow": { "InstanceEventWindowId": "iew-0abcdef1234567890", "Name": "myEventWindowName", "CronExpression": "* 21-23 * * 2,3", "AssociationTarget": { "InstanceIds": [], "Tags": [], "DedicatedHostIds": [] }, "State": "creating" } }
刪除事件時段
您可以使用下列其中一種方法,一次刪除一個事件時段。
- Console
-
刪除事件時段
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格中,選擇 Events (事件)。
-
選擇 Actions (動作)、Manage event windows (管理事件時段)。
-
選取要刪除的事件時段,然後選擇 Actions (動作)、Delete instance event window (刪除執行個體事件時段)。
-
當出現提示時,輸入
delete
,然後選擇 Delete (刪除)。
- AWS CLI
-
刪除事件時段
使用指delete-instance-event-window令並指定要刪除的事件視窗。
aws ec2 delete-instance-event-window \ --region
us-east-1
\ --instance-event-window-idiew-0abcdef1234567890
強制刪除事件時段
使用
--force-delete
參數 (如果事件時段目前與目標相關聯)。aws ec2 delete-instance-event-window \ --region
us-east-1
\ --instance-event-window-idiew-0abcdef1234567890
\ --force-delete預期的輸出結果
{ "InstanceEventWindowState": { "InstanceEventWindowId": "iew-0abcdef1234567890", "State": "deleting" } }
標記事件時段
您可以在建立事件時段時或之後對其進行標記。
若要在建立事件時段時進行標記,請參閱建立事件時段。
使用下列其中一種方法來標記事件時段。
- Console
-
標記現有事件時段
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格中,選擇 Events (事件)。
-
選擇 Actions (動作)、Manage event windows (管理事件時段)。
-
選取要標記的事件時段,然後選擇 Actions (動作)、Manage instance event window tags (管理執行個體事件時段標籤)。
-
選擇 Add tag (新增標籤) 以新增標籤。針對每個標籤,重複執行上述動作。
-
選擇 Save (儲存)。
- AWS CLI
-
標記現有事件時段
使用建立標籤命令來標記現有資源。在下面的例子中,現有事件時段標記為 Key=purpose 和 Value=test。
aws ec2 create-tags \ --resources
iew-0abcdef1234567890
\ --tags Key=purpose
,Value=test