您的執行個體的狀態檢查
透過執行個體狀態監控,您可以快速判斷 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 後端執行個體,您可以自行停止並啟動執行個體,多數情況下,這會將它遷移到新的主機。針對執行個體存放區後端執行個體,您可以終止並取代執行個體。
下列為可能導致系統狀態檢查失敗的問題範例:
-
網路連線中斷
-
系統電力中斷
-
實體主機的軟體問題
-
實體主機上會影響網路連線的硬體問題
執行個體狀態檢查
執行個體狀態檢查會監控個別執行個體的軟體和網路組態。Amazon EC2 會將地址解析協定 (ARP) 請求傳送至網路界面 (NIC),以便檢查執行個體的運作狀態。這些檢查會偵測需要您介入修復的問題。當執行個體狀態檢查失敗時,通常您需要自行處理問題 (例如重新開機執行個體或對執行個體的組態進行變更)。
下列為可能導致執行個體狀態檢查失敗的問題範例:
-
系統狀態檢查失敗
-
網路或啟動組態不正確
-
記憶體用盡
-
檔案系統毀損
-
核心不相容
檢視狀態檢查
Amazon EC2 提供您數種檢視和使用狀態檢查的方式。
使用主控台檢視狀態
您可以使用 AWS 管理主控台來檢視狀態檢查。
使用命令列檢視狀態
您可以使用 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 (適用於 Windows PowerShell 的 AWS 工具)
-
DescribeInstanceStatus (Amazon EC2 查詢 API)
若您有狀態檢查失敗的執行個體,請參閱執行個體狀態檢查未通過的故障診斷。
報告執行個體狀態
如果執行個體發生問題,但其狀態未顯示故障,或是如果您希望將遭遇到的故障執行個體問題額外詳細資訊傳送給 AWS 時,都可以提供意見回饋。
我們會運用報告的意見回饋,找出影響到多名客戶的問題,但不會對個人帳戶問題作出回應。提供意見回饋並不會改變您目前看到的執行個體狀態檢查結果。
使用主控台報告狀態意見回饋
使用命令列報告狀態意見回饋
使用 report-instance-status (AWS CLI) 命令,傳送故障執行個體的狀態意見回饋。
aws ec2 report-instance-status \ --instances
i-1234567890abcdef0
\ --status impaired \ --reason-codescode
或者,使用下列命令:
-
Send-EC2InstanceStatus (適用於 Windows PowerShell 的 AWS 工具)
-
ReportInstanceStatus (Amazon EC2 查詢 API)
建立和編輯狀態檢查警示
您可以使用狀態檢查指標來建立 CloudWatch 警示,在執行個體狀態檢查失敗時通知您。
使用主控台建立狀態檢查警示
使用下列程序來設定警示,在執行個體的狀態檢查失敗時,透過電子郵件通知您、或者停止、終止或回復執行個體。
若您需要對執行個體狀態警示進行任何變更,您可以編輯它。
使用 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 傳送電子郵件。