您的執行個體的狀態檢查 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您的執行個體的狀態檢查

透過執行個體狀態監控,您可以快速判斷 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 後端執行個體,您可以自行停止並啟動執行個體,多數情況下,這會將它遷移到新的主機。針對執行個體存放區支援的 Linux 執行個體,您可以終止並取代執行個體。針對 Windows 執行個體,根磁碟區必須是 Amazon EBS 磁碟區;根磁碟區不支援執行個體存放區。請注意,執行個體存放區是暫時的,當執行個體停止時,所有資料都會丟失。

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

  • 網路連線中斷

  • 系統電力中斷

  • 實體主機的軟體問題

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

如果系統狀態檢查失敗,我們會增加 StatusCheckFailed_System 量度。

裸機執行個體

如果您在裸機執行個體上從作業系統執行重新啟動,則系統狀態檢查可能會暫時傳回失敗狀態。當執行個體變得可用時,系統狀態檢查應傳回通過狀態。

執行個體狀態檢查

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

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

  • 系統狀態檢查失敗

  • 網路或啟動組態不正確

  • 記憶體用盡

  • 檔案系統毀損

  • 核心不相容

如果執行個體狀態檢查失敗,我們會增加 StatusCheckFailed_Instance 量度。

裸機執行個體

如果您在裸機執行個體上從作業系統執行重新啟動,則執行個體狀態檢查可能會暫時傳回失敗狀態。當執行個體變得可用時,執行個體狀態檢查應傳回通過狀態。

附接的 EBS 狀態檢查

附接的 EBS 狀態檢查可監控附接至執行個體的 Amazon EBS 磁碟區是否可連線且能夠完成 I/O 操作。此 StatusCheckFailed_AttachedEBS 指標是二進位值,如果附接至執行個體的一個或多個 EBS 磁碟區無法完成 I/O 操作,則表示損壞。這些狀態檢查會對運算或 Amazon EBS 基礎設施的潛在問題進行偵測。當連接的 EBS 狀態檢查指標失敗時,您可以等待 AWS 解決問題,也可以採取動作,例如更換受影響的磁碟區或停止並重新啟動執行個體。

以下是可能導致附接的 EBS 狀態檢查失敗的問題範例:

  • EBS 磁碟區之下儲存子系統上的硬體或軟體問題

  • 實體主機上會影響 EBS 磁碟區連線的硬體問題

  • 執行個體與 EBS 磁碟區之間的連線問題

可以使用 StatusCheckFailed_AttachedEBS 指標來協助改善工作負載的彈性。您可以使用此指標建立根據狀態檢查結果觸發的 Amazon CloudWatch 警示。例如,偵測到長期影響時,可容錯移轉至次要執行個體或可用區域。或者,您可以使用 EBS CloudWatch 指標來監控每個連接磁碟區的 I/O 效能,以偵測並更換受損的磁碟區。如果您的工作負載沒有將 I/O 驅動到執行個體所附接的任何 EBS 磁碟區,並且附接的 EBS 狀態檢查顯示有損壞,則可以停止並啟動執行個體,以解決影響 EBS 磁碟區連線能力之實體主機的問題。如需詳細資訊,請參閱 Amazon EBS 的 Amazon CloudWatch 指標

注意

使用狀態檢查

可以使用主控台和命令列工具來處理狀態檢查,例如 AWS CLI。

檢視狀態檢查

若要檢視狀態檢查,請使用以下方法之一。

Console
檢視狀態檢查
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

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

  4. 若要檢視特定執行個體的狀態,請選取執行個體,然後選擇狀態和警示索引標籤。

    
                                            在「狀態和警示」索引標籤上檢視執行個體狀態檢查。

    如果執行個體狀態檢查失敗,通常就需要您自行處理問題 (例如重新啟動執行個體或對執行個體的組態進行變更)。若要自行對系統或執行個體狀態檢查失敗進行故障診斷,請參閱執行個體狀態檢查未通過的故障診斷

  5. 若要檢閱狀態檢查的 CloudWatch 量度,請在狀態與警示索引標籤上展開量度,以查看下列量度的圖表:

    • 系統狀態檢查失敗

    • 執行個體狀態檢查失敗

    如需詳細資訊,請參閱 狀態檢查指標

Command line

您可以使用 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

或者,使用下列 命令:

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

建立和編輯狀態檢查警示

您可以使用狀態檢查測量結果來建立 CloudWatch 警示,以便在執行處理狀態檢查失敗時通知您。

若要建立狀態檢查警示,請使用以下方法之一:

Console

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

建立狀態檢查警示
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取執行個體,選擇狀態檢查標籤,然後選擇動作 > 建立狀態檢查警示

  4. 在 [管理 CloudWatch 鬧鐘] 頁面的 [新增或編輯鬧鐘] 底下,選擇 [建立鬧鐘]。

  5. 針對警示通知,開啟切換開關以設定 Amazon Simple Notification Service (Amazon SNS) 通知。選取現有 Amazon SNS 主題或輸入名稱以建立新主題。

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

  6. 針對警示動作,開啟切換開關,以指定觸發警示時要採取的動作。選取動作。

  7. 針對 Alarm thresholds (警示閾值),指定警示的指標和準則。

    您可以保留 Group samples by (分組範例條件) (Average (平均)) 和 Type of data to sample (要作為範例的資料類型) (Status check failed:either (狀態檢查失敗:其中一個)) 的預設設定,或者您可以根據您的需求進行變更。

    針對連續期間,設定要評估的期間數,然後在期間中,輸入在觸發提醒及傳送電子郵件前的評估期間長度。

  8. (選用) 針對 Sample metric data (範例指標資料),選擇 Add to dashboard (新增至儀表板)

  9. 選擇建立

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

編輯狀態檢查警示
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取執行個體並選擇 [動作]、[監控]、[管理 CloudWatch 警示]

  4. 在 [管理 CloudWatch 鬧鐘] 頁面的 [新增或編輯鬧鐘] 底下,選擇 [編輯鬧鐘]。

  5. 針對 Search for alarm (搜尋警示),選擇警示。

  6. 完成變更後,請選擇 Update (更新)

Command line

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

若要使用建立狀態檢查警示 AWS CLI
  1. 選取現有的 SNS 主題,或建立新主題。如需詳細資訊,請參閱使 AWS CLI 用AWS Command Line Interface 者指南中的搭配 Amazon SNS 使用。

  2. 使用下列清單指標命令來檢視適用於 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 傳送電子郵件。