本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立警示以停止、終止、重新啟動或復原EC2執行個體
使用 Amazon CloudWatch 警示動作,您可以建立自動停止、終止、重新開機或復原EC2執行個體的警示。當執行個體不再需要執行,您可以使用停止或終止動作以協助您節省成本。如果發生系統受損,您可以使用重新啟動和復原動作,自動重新啟動這些執行個體或將它們復原到新的硬體。
在許多情況下,您可能想要自動停止或終止您的執行個體。例如,您可能有專門批次處理薪資作業或科學運算任務的執行個體,它們在執行一段時間後完成工作。不要讓這些執行個體閒置 (及累積費用),您可以停止或終止它們,以協助您節省成本。使用停止和終止警示動作的主要差別在於,如果您後來需要再次執行已停止的執行個體,則可以輕鬆地重新啟動它。您也可以保留相同的執行個體 ID 和根磁碟區。不過,您不能重新啟動已終止的執行個體。相反地,您必須啟動新的執行個體。
您可以將停止、終止或重新啟動動作新增到 Amazon EC2 每個執行個體指標上設定的任何警示,包括 Amazon 提供的基本和詳細監控指標 CloudWatch (在AWS/EC2命名空間中),以及包含 "InstanceId=" 維度的任何自訂指標 (只要該 InstanceId 值參考有效的執行中 Amazon EC2 執行個體)。您也可以將復原動作新增至在任何 Amazon EC2 每個執行個體指標上設定的警示,除了StatusCheckFailed_Instance
。
重要
如果缺少EC2指標資料點,Amazon 指標上設定的警示可以暫時進入 INSUFFICIENT _ DATA 狀態。這種情況很少見,但即使 Amazon EC2 執行個體狀態良好,也可能在指標報告中斷時發生。對於設定為停止、終止、重新開機或復原動作的 Amazon EC2 指標上的警示,我們建議您設定這些警示將遺失的資料視為missing
,並讓這些警示僅在ALARM狀態下觸發。
如需有關如何設定為針對已設 CloudWatch 定警示的遺失量度採取行動的詳細資訊,請參閱設定 CloudWatch 警示如何處理遺失的資料。
若要設定可以重新啟動、停止或終止執行個體的 CloudWatch 警示動作,您必須使用服務連結IAM角色AWSServiceRoleForCloudWatchEvents。 AWSServiceRoleForCloudWatchEvents IAM角色可 AWS 讓您代表執行警示動作。
若要為 CloudWatch 事件建立服務連結角色,請使用下列命令:
aws iam create-service-linked-role --aws-service-name events.amazonaws.com
主控台支援
您可以使用 CloudWatch 主控台或 Amazon EC2 主控台建立警示。本文件中的程序使用主 CloudWatch 控台。如需使用 Amazon EC2 主控台的程序,請參閱 Amazon 使用EC2者指南中的建立停止、終止、重新開機或復原執行個體的警示。
許可
如果您使用 AWS Identity and Access Management (IAM) 帳戶來建立或修改執行EC2動作或「Systems Manager OpsItem 」動作的警示,您必須擁有該iam:CreateServiceLinkedRole
權限。
目錄
向 Amazon CloudWatch 警報添加停止操作
您可以建立警示,在達到特定閾值時停止 Amazon EC2 執行個體。例如,您可以執行開發或測試執行個體,並偶爾忘記關閉它們。您可以建立在 24 小時內的平均使用CPU率百分比低於 10% 時觸發的警示,表示該警示處於閒置狀態且不再使用。您可以根據需要調整閾值,持續時間和期限,還可以添加SNS通知,以便在觸發警報時收到電子郵件。
使用 EC2 Amazon 彈性區塊存放區磁碟區做為根裝置的 Amazon 執行個體可以停止或終止,而使用執行個體存放區做為根裝置的執行個體只能終止。
使用 Amazon CloudWatch 主控台建立警示以停止閒置執行個體
-
在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽窗格中,選擇 Alarms (警示)、All alarms (所有警示)。
-
選擇 Create alarm (建立警示)。
-
選擇 Select Metric (選取指標)。
對於AWS 命名空間,請選擇EC2。
-
請執行下列操作:
-
選擇 Per-Instance Metrics (每個執行個體指標)。
-
選取列中包含正確執行處理和CPUUtilization測量結果的核取方塊。
-
選擇 Graphed metrics (圖表化指標) 標籤。
-
在統計資料中選擇 Average (平均)。
-
選擇期間 (例如,
1 Hour
)。 -
選擇選取指標。
-
-
在 Define Alarm (定義警示) 步驟,執行下列動作:
-
在 Conditions (條件) 下選擇 Static (靜態)。
-
在「無論何CPUUtilization時」下選擇「降低」。
針對 than (比較),輸入
10
。選擇下一步。
-
在「通知」下,對於「傳送通知至」,選擇現有SNS主題或建立新主題。
若要建立SNS主題,請選擇 [新增清單]。在「傳送通知至」中,輸入SNS主題的名稱 (例如,Stop EC2 _ Instance)。在 Email list (電子郵件清單) 中輸入以逗號分隔的電子郵件地址清單,當警示變更為
ALARM
狀態時,這些電子郵件地址將會收到通知。每個電子郵件地址都會收到主題訂閱確認電子郵件。您必須確認訂閱,通知才會傳送到您的電子郵件地址。 -
選擇「新增EC2動作」。
-
針對 Alarm state trigger (警示狀態觸發),選擇 In Alarm (警示中)。針對 Take the action (採取動作),選擇 Stop this instance (停止此執行個體)。
選擇下一步。
-
輸入警示的名稱與說明。名稱只能包含ASCII字元。然後選擇下一步。
在 Preview and create (預覽及建立) 下,請確認資訊和條件都是您希望的內容,然後選擇 Create alarm (建立警示)。
-
向 Amazon CloudWatch 警報添加終止動作
您可以建立警示,在達到特定臨界值時自動終止EC2執行個體 (只要執行個體沒有啟用終止保護)。例如,您可能想要在執行個體完成作業時予以終止,而且不再需要該執行個體。如果您之後還要使用該執行個體,您應該停止而非終止執行個體。如需啟用和停用執行個體終止保護的相關資訊,請參閱 Amazon EC2 使用者指南中的為執行個體啟用終止保護。
若要使用 Amazon CloudWatch 主控台建立警示以終止閒置執行個體
-
在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽窗格中,選擇 Alarms (警示)、Create Alarm (建立警示)。
-
在 Select Metric (選取指標) 步驟,執行下列動作:
-
在「EC2指標」下方,選擇「每個執行個體
-
選取含有執行處理和CPUUtilization測量結果的資料列。
-
在統計資料中選擇 Average (平均)。
-
選擇期間 (例如,
1 Hour
)。 -
選擇下一步。
-
-
在 Define Alarm (定義警示) 步驟,執行下列動作:
-
在「警示臨界值」下,輸入警示的唯一名稱 (例如,「終止」EC2 執行個體) 和警示的說明 (例如,閒置時間過長時CPU間時終止EC2執行個體)。警示名稱只能包含ASCII字元。
-
在 Whenever (無論何時) 之下的 is (是) 中,選擇 < 並輸入
10
。在 for (持續) 中,輸入24
個連續期間。以圖像方式呈現的閥值會顯示在 Alarm Preview (警示預覽) 下方。
-
在「通知」下,對於「傳送通知至」,選擇現有SNS主題或建立新主題。
若要建立SNS主題,請選擇 [新增清單]。在「傳送通知至」中,輸入SNS主題的名稱 (例如,終止 EC2 _ 實例)。在 Email list (電子郵件清單) 中輸入以逗號分隔的電子郵件地址清單,當警示變更為
ALARM
狀態時,這些電子郵件地址將會收到通知。每個電子郵件地址都會收到主題訂閱確認電子郵件。您必須確認訂閱,通知才會傳送到您的電子郵件地址。 -
選擇「EC2動作」。
-
對於「每當此警示」中,選擇「狀態為」ALARM。在 Take this action (採取此動作) 中選擇 Terminate this instance (終止此執行個體)。
-
選擇建立警示 。
-
將重新開機動作新增至 Amazon CloudWatch 警示
您可以建立 Amazon CloudWatch 警示來監控 Amazon EC2 執行個體並自動重新啟動執行個體。重新啟動警示動作建議用於執行個體運作狀態檢查失敗 (相對的,復原警示動作則適用於系統運作狀態檢查失敗)。重新啟動執行個體等同於重新啟動作業系統。在大多數情況下,將執行個體重新開機只需要幾分鐘的時間。重新啟動執行個體時,它會保留在相同的實體主機上,因此您的執行個體會保留其公開DNS名稱、私有 IP 位址,以及執行個體儲存磁碟區上的任何資料。
不同於停用和重新啟動您的執行個體,重新啟動執行個體不會啟動新執行個體計費小時。有關重新啟動執行個體的詳細資訊,請參閱 Amazon EC2 使用者指南中的重新啟動執行個體。
重要
為了避免重新啟動和復原動作之間的競爭情況,請避免為重新啟動警示和復原警示設定相同的評估期間。我們建議您將重新開機警示設定為三個各一分鐘的評估期間。
若要使用 Amazon CloudWatch 主控台建立警示以重新啟動執行個體
-
在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽窗格中,選擇 Alarms (警示)、Create Alarm (建立警示)。
-
在 Select Metric (選取指標) 步驟,執行下列動作:
-
在「EC2指標」下方,選擇「每個執行個體
-
選取含有執行處理和 StatusCheckFailed_Instance 測量結果的資料列。
-
在統計資料中選擇 Minimum (最小值)。
-
選擇期間 (例如,
1 Minute
)。 選擇下一步。
-
-
在 Define Alarm (定義警示) 步驟,執行下列動作:
-
在警示臨界值下,輸入警示的唯一名稱 (例如,Reboot EC2 執行個體) 和警示的說明 (例如,健全狀況檢查失敗時重新開機EC2執行個體)。警示名稱只能包含ASCII字元。
-
在 Whenever (無論何時) 之下的 is (是) 中,選擇 > 並輸入
0
。在 for (持續) 中,輸入3
個連續期間。以圖像方式呈現的閥值會顯示在 Alarm Preview (警示預覽) 下方。
-
在「通知」下,對於「傳送通知至」,選擇現有SNS主題或建立新主題。
若要建立SNS主題,請選擇 [新增清單]。在 [傳送通知至] 中,輸入SNS主題的名稱 (例如,重新啟動 EC2 _ 執行個體)。在 Email list (電子郵件清單) 中輸入以逗號分隔的電子郵件地址清單,當警示變更為
ALARM
狀態時,這些電子郵件地址將會收到通知。每個電子郵件地址都會收到主題訂閱確認電子郵件。您必須確認訂閱,通知才會傳送到您的電子郵件地址。 -
選擇「EC2動作」。
-
對於「每當此警示」中,選擇「狀態為」ALARM。在 Take this action (採取此動作) 中選擇 Reboot this instance (重新啟動此執行個體)。
-
選擇建立警示 。
-
將恢復動作添加到 Amazon CloudWatch 警報
您可以建立 Amazon CloudWatch 警示來監控 Amazon EC2 執行個體,並在執行個體因基礎硬體故障或需要 AWS 參與修復的問題而受損時,自動復原執行個體。已終止的執行個體無法復原。復原後的執行個體與原始執行個體相同,包括執行個體 ID、私有 IP 地址、彈性 IP 地址及所有執行個體中繼資料。
觸發StatusCheckFailed_System
警示並啟動復原動作時,您在建立警示並將復原動作關聯時選擇的 Amazon SNS 主題收到通知。在執行個體復原期間,執行個體會在重新啟動期間遷移,記憶體內的任何資料都將遺失。程序完成後,資訊會發佈至您針對警示設定的SNS主題。訂閱此SNS主題的任何人都會收到電子郵件通知,其中包含復原嘗試的狀態以及任何進一步的指示。您將會發現執行個體在已復原的執行個體上重新啟動。
復原動作只能用於 StatusCheckFailed_System
,而非 StatusCheckFailed_Instance
。
導致系統狀態檢查失敗的問題範例包括:
-
網路連線中斷
-
系統電力中斷
-
實體主機的軟體問題
-
實體主機上會影響網路連線的硬體問題
僅某些執行個體類型上支援復原動作。如需有關受支援的執行個體類型和其他需求的詳細資訊,請參閱復原您的執行個體和要求。
重要
為了避免重新啟動和復原動作之間的競爭情況,請避免為重新啟動警示和復原警示設定相同的評估期間。我們建議您將復原警示設定為兩個各一分鐘的評估期間,將重新啟動警示設定為三個各一分鐘的評估期間。
使用 Amazon CloudWatch 主控台建立警示以復原執行個體
-
在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽窗格中,選擇 Alarms (警示)、All alarms (所有警示)。
選擇建立警示 。
-
選擇 「選取量度」,然後執行下列動作:
-
選擇EC2指標、每個執行個體指標。
-
選取含有執行處理和 StatusCheckFailed_System 測量結果的資料列,然後選擇 「選取測量結果」。
-
在統計資料中選擇 Minimum (最小值)。
-
選擇期間 (例如,
1 Minute
)。重要
為了避免重新啟動和復原動作之間的競爭情況,請避免為重新啟動警示和復原警示設定相同的評估期間。我們建議您將復原警示設定為兩個各一分鐘的評估期間。
-
-
對於「條件」,請執行下列操作:
-
在臨界值類型下,選擇靜態。
-
在「每當」下,選擇「更大」並輸入
0
「超過...」 。 選擇其他配置,然後對於要警示的數據點指定 2(共 2 個)。
-
-
選擇下一步。
-
在「通知」下,執行下列操作:
針對 Alarm state trigger (警示狀態觸發),選擇 In Alarm (警示中)。
對於「傳送通知至下列SNS主題」,請選擇現有SNS主題或建立新主題。
-
選擇「新增EC2動作」。
針對 Alarm state trigger (警示狀態觸發),選擇 In Alarm (警示中)。
-
針對 [採取下列動作],選擇 [復原此執行個體]。
選擇下一步。
在 [警報名稱] 中,輸入警示的唯一名稱 (例如,
Recover EC2 instance
) 和警示的描述 (例如Recover EC2 instance when health checks fail
)。警示名稱只能包含ASCII字元。選擇下一步。
-
選擇建立警示 。
檢視已觸發警示和動作的歷史記錄
您可以在 Amazon CloudWatch 主控台中檢視警示和動作歷史記錄。Amazon CloudWatch 保留了最近 30 天的警報和行動歷史記錄。
檢視已觸發警示和動作的歷史記錄
-
在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽窗格中,選擇 Alarms (警示),並選取警示。
-
若要查看隨著時間轉換的最新狀態及指標值,請選擇 Details (詳細資訊)。
-
若要查看最新的歷史記錄項目,請選擇 History (歷史記錄)。