您的執行個體的狀態檢查
透過執行個體狀態監控,您可以快速判斷 Amazon EC2 是否已偵測到任何可能會防止執行個體執行應用程式的問題。Amazon EC2 會在每一次執行 EC2 執行個體時執行自動化檢查,以識別硬體和軟體問題。您可以檢視這些狀態檢查的結果,以找出特定及可偵測的問題。事件狀態資料可增強 Amazon EC2 已提供的每個執行個體狀態 (例如 pending
、running
和 stopping
) 的相關資訊,以及 Amazon CloudWatch 監控的使用率指標 (CPU 使用率、網路流量和磁碟活動)。
狀態檢查會每分鐘執行一次,並會傳回通過或失敗狀態。如果所有檢查都通過,執行個體的整體狀態即為 OK (正常)。若一或多個檢查失敗,整體狀態便會是 impaired (故障)。狀態檢查內建於 Amazon EC2 中,因此無法停用或刪除。
當狀態檢查失敗時,狀態檢查對應的 CloudWatch 指標會遞增。如需詳細資訊,請參閱 狀態檢查指標。但是,您可以使用這些指標,建立根據狀態檢查結果而觸發的 CloudWatch 警示。例如,您可以建立警示,在狀態檢查於特定執行個體上失敗時警告您。如需詳細資訊,請參閱 建立和編輯狀態檢查警示。
您也可以建立 Amazon CloudWatch 提醒以監控 Amazon EC2 執行個體,並且在執行個體因為基礎問題故障時,自動復原執行個體。如需詳細資訊,請參閱 復原您的執行個體。
狀態檢查類型
我們提供系統狀態檢查和執行個體狀態檢查。
系統狀態檢查
系統狀態檢查會監控執行個體執行所在位置上的 AWS 系統。這些檢查會偵測您執行個體需要 AWS 介入修復的基礎問題。當系統狀態檢查失敗時,您可以選擇等待 AWS 修復問題,或是自行解決問題。針對 Amazon EBS 後端執行個體,您可以自行停止並啟動執行個體,多數情況下,這會將它遷移到新的主機。針對執行個體存放區支援的 Linux 執行個體,您可以終止並取代執行個體。針對 Windows 執行個體,根磁碟區必須是 Amazon EBS 磁碟區;根磁碟區不支援執行個體存放區。請注意,執行個體存放區是暫時的,當執行個體停止時,所有資料都會丟失。
下列為可能導致系統狀態檢查失敗的問題範例:
-
網路連線中斷
-
系統電力中斷
-
實體主機的軟體問題
-
實體主機上會影響網路連線的硬體問題
如果系統狀態檢查失敗,則會遞增 StatusCheckFailed_System 指標。
裸機執行個體
如果您在裸機執行個體上從作業系統執行重新啟動,則系統狀態檢查可能會暫時傳回失敗狀態。當執行個體變得可用時,系統狀態檢查應傳回通過狀態。
執行個體狀態檢查
Instance status checks (執行個體狀態檢查) 監控個別執行個體的軟體和網路組態。Amazon EC2 會將地址解析協定 (ARP) 請求傳送至網路介面 (NIC),以便檢查執行個體的運作狀態。這些檢查會偵測需要您介入修復的問題。當執行個體狀態檢查失敗時,通常您需要自行處理問題 (例如重新開機執行個體或對執行個體的組態進行變更)。
下列為可能導致執行個體狀態檢查失敗的問題範例:
-
系統狀態檢查失敗
-
網路或啟動組態不正確
-
記憶體用盡
-
檔案系統毀損
-
核心不相容
如果執行個體狀態檢查失敗,則會遞增 StatusCheckFailed_Instance 指標。
裸機執行個體
如果您在裸機執行個體上從作業系統執行重新啟動,則執行個體狀態檢查可能會暫時傳回失敗狀態。當執行個體變得可用時,執行個體狀態檢查應傳回通過狀態。
檢視狀態檢查
您可以使用 Amazon EC2 主控台或 AWS CLI 來檢視和處理狀態檢查。
使用主控台檢視狀態
若要使用 Amazon EC2 主控台來檢視狀態檢查,請執行以下步驟。
檢視狀態檢查 (主控台)
-
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Instances (執行個體)。
-
在執行個體頁面上,狀態檢查資料欄會列出每個執行個體的操作狀態。
-
若要檢視特定執行個體的狀態,請選取執行個體,然後選擇 Status Checks (狀態檢查) 索引標籤。
如果執行個體狀態檢查失敗,通常就需要您自行處理問題 (例如重新啟動執行個體或對執行個體的組態進行變更)。若要自行對系統或執行個體狀態檢查失敗進行故障診斷,請參閱執行個體狀態檢查未通過的故障診斷。
-
若要檢閱狀態檢查的 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
或者,使用下列 命令:
-
Get-EC2InstanceStatus (AWS Tools for Windows PowerShell)
-
DescribeInstanceStatus (Amazon EC2 查詢 API)
若您有狀態檢查失敗的執行個體,請參閱執行個體狀態檢查未通過的故障診斷。
報告執行個體狀態
如果執行個體發生問題,但其狀態未顯示故障,或是如果您希望將遭遇到的故障執行個體問題額外詳細資訊傳送給 AWS 時,都可以提供意見回饋。
我們會運用報告的意見回饋,找出影響到多名客戶的問題,但不會對個人帳戶問題作出回應。提供意見回饋並不會改變您目前看到的執行個體狀態檢查結果。
使用主控台報告狀態意見回饋
報告執行個體狀態 (主控台)
-
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體,選擇狀態檢查索引標籤,選擇動作 (頁面下半部的第二個動作功能表),然後選擇報告執行個體狀態。
-
完成報告執行個體狀態表單,然後選擇提交。
使用命令列報告狀態意見回饋
使用 report-instance-status (AWS CLI) 命令,傳送故障執行個體的狀態意見回饋。
aws ec2 report-instance-status \ --instances
i-1234567890abcdef0
\ --status impaired \ --reason-codescode
或者,使用下列 命令:
-
Send-EC2InstanceStatus (AWS Tools for Windows PowerShell)
-
ReportInstanceStatus (Amazon EC2 查詢 API)
建立和編輯狀態檢查警示
您可以使用狀態檢查指標來建立 CloudWatch 警示,在執行個體狀態檢查失敗時通知您。
使用主控台建立狀態檢查警示
使用下列程序來設定警示,在執行個體的狀態檢查失敗時,透過電子郵件通知您、或者停止、終止或回復執行個體。
建立狀態檢查警示 (主控台)
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體,選擇狀態檢查標籤,然後選擇動作 > 建立狀態檢查警示。
-
在 Manage CloudWatch alarms (管理 CloudWatch 警示)頁面上,於 Add or edit alarm (新增或編輯警示)下,選擇 Create an alarm (建立警示)。
-
針對警示通知,開啟切換開關以設定 Amazon Simple Notification Service (Amazon SNS) 通知。選取現有 Amazon SNS 主題或輸入名稱以建立新主題。
若您將電子郵件地址新增到收件人清單中,或是建立了新的主題,Amazon SNS 會傳送訂閱確認電子郵件訊息給每個新的地址。每個收件人都必須選擇該訊息中包含的連結以確認訂閱。僅會寄送提醒通知至確認過的地址。
-
針對警示動作,開啟切換開關,以指定觸發警示時要採取的動作。選取動作。
-
針對 Alarm thresholds (警示閾值),指定警示的指標和準則。
您可以保留 Group samples by (分組範例條件) (Average (平均)) 和 Type of data to sample (要作為範例的資料類型) (Status check failed:either (狀態檢查失敗:其中一個)) 的預設設定,或者您可以根據您的需求進行變更。
針對連續期間,設定要評估的期間數,然後在期間中,輸入在觸發提醒及傳送電子郵件前的評估期間長度。
-
(選用) 針對 Sample metric data (範例指標資料),選擇 Add to dashboard (新增至儀表板)。
-
選擇 Create (建立)。
若您需要對執行個體狀態警示進行任何變更,您可以編輯它。
使用主控台編輯狀態檢查警示
-
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體,並選擇 Actions (動作)、Monitoring (監控)、Manage CloudWatch alarms (管理 CloudWatch 警示)。
-
在 Manage CloudWatch alarms (管理 CloudWatch 警示)頁面上,於 Add or edit alarm (新增或編輯警示)下,選擇 Edit an alarm (編輯警示)。
-
針對 Search for alarm (搜尋警示),選擇警示。
-
完成變更後,請選擇 Update (更新)。
使用 AWS CLI 建立狀態檢查警示
在下列範例中,當執行個體的執行個體檢查或系統檢查在至少兩個連續期間中失敗時,警示便會發佈通知到 SNS 主題,arn:aws:sns:us-west-2:111122223333:my-sns-topic
。使用的 CloudWatch 指標為 StatusCheckFailed
。
使用 AWS CLI 建立狀態檢查警示
-
選取現有的 SNS 主題,或建立新主題。如需詳細資訊,請參閱 AWS Command Line Interface 使用者指南中的使用 AWS CLI 與 Amazon SNS 搭配。
-
使用下列 list-metrics 命令檢視 Amazon EC2 可用的 Amazon CloudWatch 指標。
aws cloudwatch list-metrics --namespace AWS/EC2
-
使用下列 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-actionsarn:aws:sns:us-west-2:111122223333:my-sns-topic
期間為收集 Amazon CloudWatch 指標的時間範圍,以秒為單位。此範例使用 300,即 60 秒乘以 5 分鐘。評估期間為針對指標的值與閾值進行比較的連續期間數。此範例使用 2。警示動作為觸發此警示時要執行的動作。此範例會設定警示,使其使用 Amazon SNS 傳送電子郵件。