Amazon Elastic Compute Cloud
Linux 執行個體使用者指南

您執行個體的狀態檢查

透過執行個體狀態監控,您可以快速判斷 Amazon EC2 是否有偵測到任何可能會防止您執行個體執行應用程式的問題。Amazon EC2 會在每一次執行 EC2 執行個體時執行自動化檢查來識別硬體和軟體問題。您可以檢視這些狀態檢查的結果,以找出特定及可偵測的問題。事件狀態資料可增強 Amazon EC2 已提供的每個執行個體狀態 (例如 pendingrunningstopping) 的相關資訊,以及 Amazon CloudWatch 監控的使用率指標 (CPU 使用率、網路流量和磁碟活動)。

狀態檢查會每分鐘執行一次,並會傳回通過或失敗狀態。如果所有檢查都通過,執行個體的整體狀態即為 OK (正常)。若一或多個檢查失敗,整體狀態便會是 impaired (故障)。狀態檢查內建於 Amazon EC2 中,因此無法停用或刪除。

當狀態檢查失敗時,狀態檢查對應的 CloudWatch 指標會遞增。如需詳細資訊,請參閱狀態檢查指標。但是,您可以使用這些指標,建立根據狀態檢查結果而觸發的 CloudWatch 警示。例如,您可以建立警示,在狀態檢查於特定執行個體上失敗時警告您。如需詳細資訊,請參閱建立及編輯狀態檢查警示

您也可以建立 Amazon CloudWatch 提醒以監控 Amazon EC2 執行個體,並且在執行個體因為基礎問題故障時,自動復原執行個體。如需更多詳細資訊,請參閱復原執行個體

狀態檢查類型

有兩種狀態檢查類型:系統狀態檢查和執行個體狀態檢查。

系統狀態檢查

監控您執行個體執行於其上的 AWS 系統。這些檢查會偵測您執行個體需要 AWS 介入修復的基礎問題。當系統狀態檢查失敗時,您可以選擇等待 AWS 修復問題,或是自行解決問題。針對 Amazon EBS 後端執行個體,您可以自行停止並啟動執行個體,多數情況下,這會將它遷移到新的主機。針對執行個體存放區後端執行個體,您可以終止並取代執行個體。

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

  • 網路連線中斷

  • 系統電力中斷

  • 實體主機的軟體問題

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

執行個體狀態檢查

監控個別執行個體的軟體和網路組態。Amazon EC2 會將地址解析協定 (ARP) 請求傳送至網路界面 (NIC),以便檢查執行個體的運作狀態。這些檢查會偵測需要您介入修復的問題。當執行個體狀態檢查失敗時,通常您需要自行處理問題 (例如重新開機執行個體或對執行個體的組態進行變更)。

下列為可能導致執行個體狀態檢查失敗的問題範例:

  • 系統狀態檢查失敗

  • 網路或啟動組態不正確

  • 記憶體用盡

  • 檔案系統毀損

  • 核心不相容

檢視狀態檢查

Amazon EC2 提供您數種檢視和使用狀態檢查的方式。

使用主控台檢視狀態

您可以使用 AWS Management Console來檢視狀態檢查。

檢視狀態檢查 (主控台)

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

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

  3. Instances (執行個體) 頁面上,Status Checks (狀態檢查) 資料欄會列出每個執行個體的操作狀態。

  4. 若要檢視特定執行個體的狀態,請選取執行個體,然後選擇 Status Checks (狀態檢查) 標籤。

    
                                檢視狀態

    若您有狀態檢查失敗的執行個體且執行個體已無法觸及超過 20 分鐘,請選擇 AWS Support 以提交協助請求。若要自行對系統或執行個體狀態檢查失敗進行故障診斷,請參閱執行個體狀態檢查未通過的故障診斷

  5. 若要檢閱狀態檢查的 CloudWatch 指標,請選取執行個體,然後選擇 Monitoring (監控) 索引標籤。捲動直到看見下列指標的圖表為止:

    • 狀態檢查失敗 (全部)

    • 狀態檢查失敗 (執行個體)

    • 狀態檢查失敗 (系統)

使用命令列檢視狀態

您可以使用 describe-instance-status (AWS CLI) 命令,檢視執行中執行個體的狀態檢查。

若要檢視所有執行個體的狀態,請使用下列命令。

aws ec2 describe-instance-status

若要取得執行個體狀態為 impaired 的所有執行個體狀態,請使用下列命令。

aws ec2 describe-instance-status --filters Name=instance-status.status,Values=impaired

若要取得單一執行個體的狀態,請使用下列命令。

aws ec2 describe-instance-status --instance-ids i-1234567890abcdef0

或者,使用下列命令:

若您有狀態檢查失敗的執行個體,請參閱執行個體狀態檢查未通過的故障診斷

報告執行個體狀態

如果執行個體發生問題,但其狀態未顯示故障,或是如果您希望將遭遇到的故障執行個體問題額外詳細資訊傳送給 AWS 時,都可以提供意見回饋。

我們會運用報告的意見回饋,找出影響到多名客戶的問題,但不會對個人帳戶問題作出回應。提供意見回饋並不會改變您目前看到的執行個體狀態檢查結果。

使用主控台報告狀態意見回饋

報告執行個體狀態 (主控台)

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

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

  3. 選取執行個體,選擇 Status Checks (狀態檢查) 標籤,然後選擇 Submit feedback (提交意見回饋)

  4. 完成 Report Instance Status (報告執行個體狀態) 表單,然後選擇 Submit (提交)

使用命令列報告狀態意見回饋

使用下列 report-instance-status (AWS CLI) 命令,傳送故障執行個體的狀態意見回饋。

aws ec2 report-instance-status --instances i-1234567890abcdef0 --status impaired --reason-codes code

或者,使用下列命令:

建立及編輯狀態檢查警示

您可以使用狀態檢查指標來建立 CloudWatch 警示,在執行個體狀態檢查失敗時通知您。

使用主控台建立狀態檢查警示

使用下列程序來設定警示,在執行個體的狀態檢查失敗時,透過電子郵件通知您、或者停止、終止或回復執行個體。

建立狀態檢查警示 (主控台)

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

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

  3. 選取執行個體,選擇 Status Checks (狀態檢查) 標籤,然後選擇 Create Status Check Alarm (建立狀態檢查警示)

  4. 選取 Send a notification to (傳送通知到)。選擇現有的 SNS 主題,或選擇 create topic (建立主題) 建立新的主題。若要建立新的主題,在 With these recipients (傳送到這些收件人) 中,輸入您的電子郵件地址和任何額外的收件人地址,並以逗號分隔。

  5. (選用) 選取 Take the action (採取動作),然後選取您要採取的動作。

  6. Whenever (隨時) 中,選取您希望收到通知的狀態檢查。

    若您在先前步驟中選取 Recover this instance (復原此執行個體),請選取 Status Check Failed (System) (狀態檢查失敗 (系統))

  7. For at least (至少),設定您希望評估的期間次數,並在 consecutive periods (連續期間) 中,選取在觸發提醒及傳送電子郵件前的評估期間長度。

  8. (選用) 在 Name of alarm (提醒名稱) 中,使用提醒的其他名稱取代預設名稱。

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

    重要

    若您將電子郵件地址新增到收件人清單中,或是建立了新的主題,Amazon SNS 會傳送訂閱確認電子郵件訊息給每個新的地址。每個收件人都必須選擇該訊息中包含的連結以確認訂閱。僅會寄送提醒通知至確認過的地址。

若您需要對執行個體狀態警示進行任何變更,您可以編輯它。

使用主控台編輯狀態檢查警示

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

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

  3. 選取執行個體,並選擇 Actions (動作)CloudWatch Monitoring (CloudWatch 監控)Add/Edit Alarms (新增/編輯警示)

  4. Alarm Details (提醒詳細資訊) 對話方塊中,選擇提醒的名稱。

  5. Edit Alarm (編輯提醒) 對話方塊中,進行想要的變更,然後選擇 Save (儲存)

使用 AWS CLI 建立狀態檢查警示

在下列範例中,當執行個體的執行個體檢查或系統檢查在至少兩個連續期間中失敗時,警示便會發佈通知到 SNS 主題,arn:aws:sns:us-west-2:111122223333:my-sns-topic。使用的 CloudWatch 指標為 StatusCheckFailed

使用 AWS CLI 建立狀態檢查警示

  1. 選取現有的 SNS 主題,或建立新主題。如需詳細資訊,請參閱AWS Command Line Interface User Guide中的使用 AWS CLI 與 Amazon SNS 搭配

  2. 使用下列 list-metrics 命令檢視 Amazon EC2 可用的 Amazon CloudWatch 指標。

    aws cloudwatch list-metrics --namespace AWS/EC2
  3. 使用下列 put-metric-alarm 命令建立警示。

    aws cloudwatch put-metric-alarm --alarm-name StatusCheckFailed-Alarm-for-i-1234567890abcdef0 --metric-name StatusCheckFailed --namespace AWS/EC2 --statistic Maximum --dimensions Name=InstanceId,Value=i-1234567890abcdef0 --unit Count --period 300 --evaluation-periods 2 --threshold 1 --comparison-operator GreaterThanOrEqualToThreshold --alarm-actions arn:aws:sns:us-west-2:111122223333:my-sns-topic

    期間為收集 Amazon CloudWatch 指標的時間範圍,以秒為單位。此範例使用 300,即 60 秒乘以 5 分鐘。評估期間為針對指標的值與閾值進行比較的連續期間數。此範例使用 2。警示動作為觸發此警示時要執行的動作。此範例會設定警示,使其使用 Amazon SNS 傳送電子郵件。