建立警示以停止、終止、重新啟動或復原執行個體 - Amazon Elastic Compute Cloud

建立警示以停止、終止、重新啟動或復原執行個體

使用 Amazon CloudWatch 警示動作,您可以建立警示以自動停止、終止、重新啟動或復原您的執行個體。當執行個體不再需要執行,您可以使用停止或終止動作以協助您節省成本。如果發生系統受損,您可以使用重新啟動和復原動作,自動重新啟動這些執行個體或將它們復原到新的硬體。

AWSServiceRoleForCloudWatchEvents 服務連結角色可讓 AWS 代表您執行提醒動作。在 AWS Management Console、IAM CLI 或 IAM API 中第一次建立警示時,CloudWatch 會為您建立服務連結角色。

在許多情況下,您可能想要自動停止或終止您的執行個體。例如,您可能有專門批次處理薪資作業或科學運算任務的執行個體,它們在執行一段時間後完成工作。您不必讓這些執行個體閒置 (及累積費用),您可以停止或終止它們以協助您節省成本。使用停止和終止警示動作的主要差別是,如果執行個體之後需要重新執行,您將可以輕鬆地啟動已停止的執行個體,而且您可以保持相同的執行個體 ID 和根磁碟區。不過,您無法啟動已終止的執行個體。相反地,您必須啟動新的執行個體。

您可以將停止、終止、重新啟動或復原動作,新增至設定於 Amazon EC2 每執行個體指標上的任何提醒,包括 Amazon CloudWatch 提供的基本和詳細監控指標 (在 AWS/EC2 命名空間中),以及包括 InstanceId 維度的任何自訂指標,只要其值代表有效的執行中 Amazon EC2 執行個體。

主控台支援

您可以使用 Amazon EC2 主控台或 CloudWatch 主控台建立警示。本文件中的程序使用 Amazon EC2 主控台。如需使用 CloudWatch 主控台的程序,請參閱《Amazon CloudWatch 使用者指南》中的建立警示,來停止、終止、重新開機或恢復執行個體

許可

如果您是 AWS Identity and Access Management (IAM) 使用者,則必須擁有 iam:CreateServiceLinkedRole 才能建立或修改執行 EC2 警示動作的警示。

將停止動作新增至 Amazon CloudWatch 警示

您可以建立警示,在符合特定閾值時停止 Amazon EC2 執行個體。例如,您可以執行開發或測試執行個體,並偶爾忘記關閉它們。您可以建立警示,在平均 CPU 使用率百分比已低於 10% 達 24 小時時觸發,以通知其為閒置且不再使用。您可以調整閾值、持續時間和期間以符合您的需求,而且您可以新增 Amazon Simple Notification Service (Amazon SNS) 通知,當觸發提醒時,您將會收到電子郵件。

使用 Amazon EBS 磁碟區做為根裝置的執行個體可以停止或終止,而使用執行個體存放區做為根裝置的執行個體只能終止。

New console

建立警示以停止閒置的執行個體 (Amazon EC2 主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體,並選擇 Actions (動作)Monitor and troubleshoot (監控和故障診斷)Manage CloudWatch alarms (管理 CloudWatch 警示)

    或者,您可以在 Alarm status (警示狀態) 資料欄中選擇加號 ( )。

  4. Manage CloudWatch alarms (管理 CloudWatch 警示) 頁面上,執行下列動作:

    1. 選擇 Create an alarm (建立警示)

    2. 若要在警示觸發時接收電子郵件,請在 Alarm notification (警示通知) 選擇現有的 Amazon SNS 主題。您首先需要使用 Amazon SNS 主控台建立 Amazon SNS 主題。如需詳細資訊,請參閱 Amazon Simple Notification Service 開發人員指南 中的使用 Amazon SNS 進行應用程式至人員 (A2P) 訊息

    3. 切換 Alarm action (警示動作),然後選擇 Stop (停止)

    4. 若要將 Group samples by (分組範例條件)Type of data to sample (要作為範例的資料類型),請選擇統計資料和指標。在此範例中,選擇 Average (平均)CPU Utilization (CPU 使用率)

    5. 針對 Alarm When (警示時間)Percent (百分比),指定指標閾值。在此範例中,指定 <=10%

    6. 針對 Consecutive period (連續期間)Period (期間),指定警示的評估期間。在此範例中,請指定 1 個每隔 5 Minute (5 分鐘) 的連續期間。

    7. Amazon CloudWatch 會自動為您建立警示名稱。若要變更名稱,請在 Alarm name (警示名稱) 中輸入新名稱。警示名稱只能包含 ASCII 字元。

      注意

      您可以在建立警示之前根據自己的需求調整警示組態,也可以稍後再進行編輯。這包括指標、閾值、持續時間、動作和通知設定。不過,在您建立警示之後,以後就無法編輯其名稱。

    8. 選擇 Create (建立 OpsItem)。

Old console

建立警示以停止閒置的執行個體 (Amazon EC2 主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取實例。在 Monitoring (監控) 索引標籤上選擇 Create Alarm (建立提醒)

  4. Create Alarm (建立提醒) 對話方塊中,執行下列動作:

    1. 若想在觸發提醒時收到電子郵件,對於 Send a notification to (傳送通知至) 請選取現有的 Amazon SNS 主題,或選擇 create topic (建立主題) 來建立新主題。

      若要建立新主題,請針對 Send a notification to (傳送通知至),輸入主題的名稱,然後針對 With these recipients (含有以下收件人),輸入收件人的電子郵件地址 (以逗號分隔)。建立警示後,您會收到訂閱確認電子郵件,您必須先接受電子郵件,才能取得此主題的通知。

    2. 選擇 Take the action (採取動作)Stop this instance (停止此執行個體)

    3. 對於 Whenever (每當),選擇您要使用的統計資料,然後選擇指標。在此範例中,選擇 Average (平均)CPU Utilization (CPU 使用率)

    4. 對於 Is (是),指定指標閾值。在此範例中,請輸入 10 百分比。

    5. 對於 For at least (至少),指定提醒的評估期間。在此範例中,請輸入 24 個每隔 1 Hour (1 小時) 的連續期間。

    6. 若要變更警示的名稱,請針對 Name of alarm (警示名稱),輸入新名稱。警示名稱只能包含 ASCII 字元。

      若未輸入警示的名稱,Amazon CloudWatch 會自動為您建立。

      注意

      您可以在建立警示之前根據自己的需求調整警示組態,也可以稍後再進行編輯。這包括指標、閾值、持續時間、動作和通知設定。不過,在您建立警示之後,以後就無法編輯其名稱。

    7. 選擇Create Alarm (建立警示)。

新增終止動作至 Amazon CloudWatch 警示

您可以建立警示,在符合特定閾值時自動終止 EC2 執行個體 (前提是執行個體未啟用終止保護)。例如,您可能想要在執行個體完成作業時予以終止,而且不再需要該執行個體。如果您之後還要使用該執行個體,您應該停止而非終止執行個體。如需為執行個體啟用和停用終止保護的詳細資訊,請參閱啟用終止保護

New console

建立警示以終止閒置的執行個體 (Amazon EC2 主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體,並選擇 Actions (動作)Monitor and troubleshoot (監控和故障診斷)Manage CloudWatch alarms (管理 CloudWatch 警示)

    或者,您可以在 Alarm status (警示狀態) 資料欄中選擇加號 ( )。

  4. Manage CloudWatch alarms (管理 CloudWatch 警示) 頁面上,執行下列動作:

    1. 選擇 Create an alarm (建立警示)

    2. 若要在警示觸發時接收電子郵件,請在 Alarm notification (警示通知) 選擇現有的 Amazon SNS 主題。您首先需要使用 Amazon SNS 主控台建立 Amazon SNS 主題。如需詳細資訊,請參閱 Amazon Simple Notification Service 開發人員指南 中的使用 Amazon SNS 進行應用程式至人員 (A2P) 訊息

    3. 切換 Alarm action (警示動作),然後選擇 Terminate (終止)

    4. 若要將 Group samples by (分組範例條件)Type of data to sample (要作為範例的資料類型),請選擇統計資料和指標。在此範例中,選擇 Average (平均)CPU Utilization (CPU 使用率)

    5. 針對 Alarm When (警示時間)Percent (百分比),指定指標閾值。在此範例中,指定 >=10%

    6. 針對 Consecutive period (連續期間)Period (期間),指定警示的評估期間。在此範例中,請指定 24 個每隔 1 Hour (1 小時) 的連續期間。

    7. Amazon CloudWatch 會自動為您建立警示名稱。若要變更名稱,請在 Alarm name (警示名稱) 中輸入新名稱。警示名稱只能包含 ASCII 字元。

      注意

      您可以在建立警示之前根據自己的需求調整警示組態,也可以稍後再進行編輯。這包括指標、閾值、持續時間、動作和通知設定。不過,在您建立警示之後,以後就無法編輯其名稱。

    8. 選擇 Create (建立 OpsItem)。

Old console

建立警示以終止閒置的執行個體 (Amazon EC2 主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取實例。在 Monitoring (監控) 索引標籤上選擇 Create Alarm (建立提醒)

  4. Create Alarm (建立提醒) 對話方塊中,執行下列動作:

    1. 若想在觸發提醒時收到電子郵件,對於 Send a notification to (傳送通知至) 請選取現有的 Amazon SNS 主題,或選擇 create topic (建立主題) 來建立新主題。

      若要建立新主題,請針對 Send a notification to (傳送通知至),輸入主題的名稱,然後針對 With these recipients (含有以下收件人),輸入收件人的電子郵件地址 (以逗號分隔)。建立警示後,您會收到訂閱確認電子郵件,您必須先接受電子郵件,才能取得此主題的通知。

    2. 選擇 Take the action (採取動作)Terminate this instance (終止此執行個體)

    3. 對於 Whenever (每當),選擇統計資料,然後選擇指標。在此範例中,選擇 Average (平均)CPU Utilization (CPU 使用率)

    4. 對於 Is (是),指定指標閾值。在此範例中,請輸入 10 百分比。

    5. 對於 For at least (至少),指定提醒的評估期間。在此範例中,請輸入 24 個每隔 1 Hour (1 小時) 的連續期間。

    6. 若要變更警示的名稱,請針對 Name of alarm (警示名稱),輸入新名稱。警示名稱只能包含 ASCII 字元。

      若未輸入警示的名稱,Amazon CloudWatch 會自動為您建立。

      注意

      您可以在建立警示之前根據自己的需求調整警示組態,也可以稍後再進行編輯。這包括指標、閾值、持續時間、動作和通知設定。不過,在您建立警示之後,以後就無法編輯其名稱。

    7. 選擇Create Alarm (建立警示)。

將重新開機動作新增至 Amazon CloudWatch 警示

您可以建立 Amazon CloudWatch 警示來監控 Amazon EC2 執行個體,並自動重新啟動執行個體。重新啟動警示動作建議用於執行個體運作狀態檢查失敗 (相對的,復原警示動作則適用於系統運作狀態檢查失敗)。重新啟動執行個體等同於重新啟動作業系統。在大多數情況下,將執行個體重新開機只需要幾分鐘的時間。當您重新啟動執行個體時,它會維持在相同的實體主機上,所以您的執行個體會保有其公有 DNS 名稱、私有 IP 地址和執行個體存放區磁碟區上的任何資料。

有別於停用和重新開始執行個體,重新啟動執行個體不會啟動新的執行個體計費時段 (最少收費一分鐘)。如需詳細資訊,請參閱 重新啟動您的執行個體

重要

為了避免重新開機和復原動作之間的競爭情況,請避免為重新開機警示和復原警示設定相同的評估期間數。我們建議您將重新開機警示設定為三個各一分鐘的評估期間。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南 中的評估警示

New console

建立警示以重新啟動執行個體 (Amazon EC2 主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體,並選擇 Actions (動作)Monitor and troubleshoot (監控和故障診斷)Manage CloudWatch alarms (管理 CloudWatch 警示)

    或者,您可以在 Alarm status (警示狀態) 資料欄中選擇加號 ( )。

  4. Manage CloudWatch alarms (管理 CloudWatch 警示) 頁面上,執行下列動作:

    1. 選擇 Create an alarm (建立警示)

    2. 若要在警示觸發時接收電子郵件,請在 Alarm notification (警示通知) 選擇現有的 Amazon SNS 主題。您首先需要使用 Amazon SNS 主控台建立 Amazon SNS 主題。如需詳細資訊,請參閱 Amazon Simple Notification Service 開發人員指南 中的使用 Amazon SNS 進行應用程式至人員 (A2P) 訊息

    3. 切換 Alarm action (警示動作),然後選擇 Reboot (重新開機)

    4. 若要將 Group samples by (分組範例條件)Type of data to sample (要作為範例的資料類型),請選擇統計資料和指標。在此範例中,選擇 Average (平均) Status check failed: instance (狀態檢查失敗:執行個體)

    5. 針對 Consecutive period (連續期間)Period (期間),指定警示的評估期間。在此範例中,請輸入 3 個每隔 5 Minutes (5 分鐘) 的連續期間。

    6. Amazon CloudWatch 會自動為您建立警示名稱。若要變更名稱,請在 Alarm name (警示名稱) 中輸入新名稱。警示名稱只能包含 ASCII 字元。

    7. 選擇 Create (建立 OpsItem)。

Old console

建立警示以重新啟動執行個體 (Amazon EC2 主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取實例。在 Monitoring (監控) 索引標籤上選擇 Create Alarm (建立提醒)

  4. Create Alarm (建立提醒) 對話方塊中,執行下列動作:

    1. 若想在觸發提醒時收到電子郵件,對於 Send a notification to (傳送通知至) 請選取現有的 Amazon SNS 主題,或選擇 create topic (建立主題) 來建立新主題。

      若要建立新主題,請針對 Send a notification to (傳送通知至),輸入主題的名稱,然後針對 With these recipients (含有以下收件人),輸入收件人的電子郵件地址 (以逗號分隔)。建立警示後,您會收到訂閱確認電子郵件,您必須先接受電子郵件,才能取得此主題的通知。

    2. 選擇 Take the action (採取動作)Reboot this instance (將此執行個體重新開機)

    3. 對於 Whenever (每當),選擇 Status Check Failed (Instance) (狀態檢查失敗 (執行個體))

    4. 對於 For at least (至少),指定提醒的評估期間。在此範例中,請輸入 3 個每隔 5 Minutes (5 分鐘) 的連續期間。

    5. 若要變更警示的名稱,請針對 Name of alarm (警示名稱),輸入新名稱。警示名稱只能包含 ASCII 字元。

      若未輸入警示的名稱,Amazon CloudWatch 會自動為您建立。

    6. 選擇Create Alarm (建立警示)。

將復原動作新增至 Amazon CloudWatch 警示

您可以建立 Amazon CloudWatch 提醒,用來監控 Amazon EC2 執行個體。若執行個體因為基礎硬體故障而受損,或發生需要 AWS 介入來修復的問題而受損,您可以自動復原執行個體。已終止的執行個體無法復原。復原後的執行個體與原始執行個體相同,包括執行個體 ID、私有 IP 地址、彈性 IP 地址及所有執行個體中繼資料。

若執行個體不支援復原動作,則 CloudWatch 會防止您將復原動作新增至此執行個體上的警示。

StatusCheckFailed_System 提醒觸發且復原動作啟動時,您會收到 Amazon SNS 主題通知,這是您在建立提醒時選擇並與復原動作關聯的通知。在執行個體復原期間,執行個體會在重新啟動期間遷移,記憶體內的任何資料都將遺失。當程序完成時,會將資訊發佈到您為此警示設定的 SNS 主題。訂閱此 SNS 主題的所有使用者都會收到電子郵件通知,其中包含復原嘗試的狀態和進一步的說明。您會發現執行個體在已復原的執行個體上重新啟動。

注意

復原動作只能用於 StatusCheckFailed_System,而非 StatusCheckFailed_Instance

下列為可能導致系統狀態檢查失敗的問題:

  • 網路連線中斷

  • 系統電力中斷

  • 實體主機的軟體問題

  • 實體主機上會影響網路連線的硬體問題

復原動作僅在符合某些特性的執行個體上受到支援:如需詳細資訊,請參閱復原您的執行個體

如果您的執行個體具有公有 IP 地址,它將在復原後保留公有 IP 地址。

重要

為了避免重新開機和復原動作之間的競爭情況,請避免為重新開機警示和復原警示設定相同的評估期間數。我們建議您將復原警示設定為兩個各一分鐘的評估期間。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南 中的評估警示

New console

建立警示以復原執行個體 (Amazon EC2 主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體,並選擇 Actions (動作)Monitor and troubleshoot (監控和故障診斷)Manage CloudWatch alarms (管理 CloudWatch 警示)

    或者,您可以在 Alarm status (警示狀態) 資料欄中選擇加號 ( )。

  4. Manage CloudWatch alarms (管理 CloudWatch 警示) 頁面上,執行下列動作:

    1. 選擇 Create an alarm (建立警示)

    2. 若要在警示觸發時接收電子郵件,請在 Alarm notification (警示通知) 選擇現有的 Amazon SNS 主題。您首先需要使用 Amazon SNS 主控台建立 Amazon SNS 主題。如需詳細資訊,請參閱 Amazon Simple Notification Service 開發人員指南 中的使用 Amazon SNS 進行應用程式至人員 (A2P) 訊息

      注意

      使用者必須訂閱指定的 SNS 主題,以在警示觸發時收到電子郵件通知。AWS 帳戶根使用者一律會在發生自動執行個體復原動作時收到電子郵件通知,即使未指定 SNS 主題或根使用者並未訂閱指定 SNS 主題亦同。

    3. 切換 Alarm action (警示動作),然後選擇 Recover (復原)

    4. 若要將 Group samples by (分組範例條件)Type of data to sample (要作為範例的資料類型),請選擇統計資料和指標。在此範例中,選擇 Average (平均) Status check failed: system (狀態檢查失敗:系統)

    5. 針對 Consecutive period (連續期間)Period (期間),指定警示的評估期間。在此範例中,請輸入 2 個每隔 5 Minutes (5 分鐘) 的連續期間。

    6. Amazon CloudWatch 會自動為您建立警示名稱。若要變更名稱,請在 Alarm name (警示名稱) 中輸入新名稱。警示名稱只能包含 ASCII 字元。

    7. 選擇 Create (建立 OpsItem)。

Old console

建立警示以復原執行個體 (Amazon EC2 主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取實例。在 Monitoring (監控) 索引標籤上選擇 Create Alarm (建立提醒)

  4. Create Alarm (建立提醒) 對話方塊中,執行下列動作:

    1. 若想在觸發提醒時收到電子郵件,對於 Send a notification to (傳送通知至) 請選取現有的 Amazon SNS 主題,或選擇 create topic (建立主題) 來建立新主題。

      若要建立新主題,請針對 Send a notification to (傳送通知至),輸入主題的名稱,然後針對 With these recipients (含有以下收件人),輸入收件人的電子郵件地址 (以逗號分隔)。建立警示後,您會收到訂閱確認電子郵件,您必須先接受電子郵件,才能取得此主題的電子郵件。

      注意
      • 使用者必須訂閱指定的 SNS 主題,以在警示觸發時收到電子郵件通知。

      • AWS 帳戶根使用者一律會在發生自動執行個體復原動作時收到電子郵件通知,即使未指定 SNS 主題亦同。

      • AWS 帳戶根使用者一律會在發生自動執行個體復原動作時收到電子郵件通知,即使其並未訂閱指定 SNS 主題亦同。

    2. 選擇 Take the action (採取動作)Recover this instance (復原此執行個體)

    3. 對於 Whenever (每當),選擇 Status Check Failed (System) (狀態檢查失敗 (系統))

    4. 對於 For at least (至少),指定提醒的評估期間。在此範例中,請輸入 2 個每隔 5 Minutes (5 分鐘) 的連續期間。

    5. 若要變更警示的名稱,請針對 Name of alarm (警示名稱),輸入新名稱。警示名稱只能包含 ASCII 字元。

      若未輸入警示的名稱,Amazon CloudWatch 會自動為您建立。

    6. 選擇Create Alarm (建立警示)。

使用 Amazon CloudWatch 主控台檢視警示和動作歷史記錄

可在 Amazon CloudWatch 主控台中檢視警示和動作歷史記錄。Amazon CloudWatch 會保留過去兩週的警示和動作的歷史記錄。

檢視已觸發警示和動作的歷史記錄 (CloudWatch 主控台)

  1. 透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  2. 在導覽窗格中,選擇 Alarms (警示)。

  3. 選擇警示。

  4. Details (詳細資訊) 標籤會顯示隨著時間轉換的最新狀態及指標值。

  5. 選擇 History (歷史記錄) 標籤可檢視最新的歷史記錄項目。

Amazon CloudWatch 警示動作案例

您可以使用 Amazon EC2 主控台來建立提醒動作,在滿足特定條件時停止或終止 Amazon EC2 執行個體。在下列用來設定警示動作的主控台頁面螢幕截圖中,我們為設定加上編號。我們也在隨後的案例中為設定加上編號,協助您建立適當的動作。

New console

              管理 Cloudwatch 警示頁面
Old console

              Create Alarm for (為下列項目建立提醒) 對話方塊

案例 1:停止閒置的開發和測試執行個體

建立警示,在用於軟體開發或測試的執行個體已閒置至少一小時後,將其停止。

設定 Value

1

停止

2

最大

3

CPU 使用率

4

<=

5

10%

6

1

7

1 小時

案例 2:停止閒置的執行個體

建立警示,在執行個體已閒置 24 小時後,停止執行個體並傳送電子郵件。

設定 Value

1

停止和寄送電子郵件

2

平均數

3

CPU 使用率

4

<=

5

5%

6

24

7

1 小時

案例 3:針對發生異常高流量的 Web 伺服器傳送電子郵件

建立警示,在執行個體每天超過 10 GB 傳出網路流量後,傳送電子郵件。

設定 Value

1

電子郵件

2

總和

3

網路輸出

4

>

5

10 GB

6

24

7

1 小時

案例 4:停止發生異常高流量的 Web 伺服器

建立警示,在傳出流量每小時超過 1 GB 後,停止執行個體並傳送簡訊 (SMS)。

設定 Value

1

停止並傳送簡訊

2

總和

3

網路輸出

4

>

5

1 GB

6

1

7

1 小時

案例 5:停止受損的執行個體

建立警示,停止未通過三次連續運作狀態檢查的執行個體 (以 5 分鐘間隔執行)。

設定 Value

1

停止

2

平均數

3

狀態檢查失敗:系統

4

-

5

-

6

1

7

15 分鐘

案例 6:批次處理任務完成時終止執行個體

建立警示,當執行批次任務的執行個體不再傳送結果資料時,終止該執行個體。

設定 Value

1

終止

2

最大

3

網路輸出

4

<=

5

100,000 位元組

6

1

7

5 分鐘