基礎型運作狀態報告 - AWS Elastic Beanstalk

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

基礎型運作狀態報告

本主題說明 Elastic Beanstalk 基本運作狀態所提供的功能。

AWS Elastic Beanstalk 會使用來自多個來源的資訊來判斷您的環境是否可用,並處理來自網際網路的請求。環境的運作狀態是以四種顏色的其中一種表示,並顯示在 Elastic Beanstalk 主控台的環境概觀頁面上。它也可以從 DescribeEnvironments API 取得,並透過使用 EB CLI 叫用 eb status

基本運作狀態報告系統會根據 ELB 針對負載平衡環境執行的運作狀態檢查,或針對單一執行個體環境提供 Amazon Elastic Compute Cloud,提供 Elastic Beanstalk 環境中執行個體運作狀態的相關資訊。

除了檢查您的 EC2 執行個體的運作狀態,Elastic Beanstalk 亦會監控環境中的其他資源,並回報缺少或設定不正確的資源,避免造成使用者無法使用您的環境。

您環境中資源收集的指標,每五分鐘會向 Amazon CloudWatch 發佈。這包括來自 EC2 的作業系統指標、從 ELB 請求指標。您可於環境主控台的監控頁面,根據這些 CloudWatch 指標檢視圖表。以基礎型運作狀態而言,這些指標不會用來判定環境的運作狀態。

運作狀態顏色

Elastic Beanstalk 會根據於 Web 伺服器環境中執行的應用程式回應運作狀態檢查的情形,回報該環境的運作狀態。Elastic Beanstalk 使用四種顏色來描述狀態,如下表所示:

顏色 Description

灰色

您的環境正在更新。

Green

您的環境已通過最近的運作狀態檢查。您的環境至少有一個執行個體可用,且其正在接收請求。

Yellow

您的環境未通過一項或多項運作狀態檢查。向您環境發送的部分請求會失敗。

紅色

您的環境未通過三項或更多運作狀態檢查,或是一個資源變成不可使用。請求會持續失敗。

這些描述僅適用使用基礎型運作狀態報告的環境。如需增強型運作狀態的詳細資訊,請參閱運作狀態顏色和狀態

ELB 運作狀態檢查

在負載平衡的環境中,ELB 每 10 秒會傳送請求至環境中的每個執行個體,以確認執行個體運作狀態良好。負載平衡器預設設定為開啟連接埠 80 上的 TCP 連線。若執行個體確認連線,將視為運作狀態良好。

您可在應用程式指定現有資源,藉此覆寫這項設定。若您指定路徑 (如 /health),則運作狀態檢查 URL 會設定為 HTTP:80/health。運作狀態檢查 URL 應一律設在您應用程式提供服務的路徑。若此 URL 設定在應用程式前方之 Web 伺服器處理或快取的靜態頁面,運作狀態檢查將不會顯示應用程式伺服器或 Web 容器的問題。如需修改運作狀態檢查 URL 的說明,請參閱 運作狀態檢查

如果已設定運作狀態檢查 URL,ELB 預期會傳送 GET 請求,以傳回 的回應200 OK。若應用程式在 5 秒內未回應,或回應其他 HTTP 狀態碼,則無法通過運作狀態檢查。連續 5 次運作狀態檢查失敗後,ELB 會將執行個體停止服務。

如需 ELB 運作狀態檢查的詳細資訊,請參閱 Elastic Load Balancing 使用者指南中的運作狀態檢查

注意

設定運作狀態檢查 URL 不會變更環境的 Auto Scaling 群組的運作狀態檢查行為。除非您將 Amazon EC2 Auto Scaling 設定為使用 ELB 運作狀態檢查作為取代執行個體的基礎,否則負載平衡器會移除運作狀態不佳的執行個體,但 Amazon EC2 Auto Scaling 不會自動取代該執行個體。若要設定 Amazon EC2 Auto Scaling 取代未通過 ELB 運作狀態檢查的執行個體,請參閱 Elastic Beanstalk 環境的 Auto Scaling 運作狀態檢查設定

單一執行個體和工作者層環境運作狀態檢查

在單一執行個體或工作者層環境中,Elastic Beanstalk 會監控其 Amazon EC2 執行個體的狀態,藉此判定執行個體的運作狀態。ELB 運作狀態設定,包括 HTTP 運作狀態檢查 URLs,無法用於這些環境類型。

如需 Amazon EC2 執行個體狀態檢查的詳細資訊,請參閱《Amazon EC2 使用者指南》中的使用狀態檢查監控執行個體

其他檢查

除了 ELB 運作狀態檢查之外,Elastic Beanstalk 還會監控您環境中的資源,並在無法部署、未正確設定或無法使用時,將運作狀態變更為紅色。這些檢查會確認:

  • 環境的 Auto Scaling 群組為可用,且具備至少一個執行個體。

  • 環境的安全群組為可用,且設定為允許連接埠 80 上的傳入流量。

  • 存在環境 CNAME,且其指向正確的負載平衡器。

  • 在工作者環境中,Amazon Simple Queue Service (Amazon SQS) 佇列至少每三分鐘輪詢一次。

Amazon CloudWatch 指標

若使用基礎型運作狀態報告,Elastic Beanstalk 服務不會向 Amazon CloudWatch 發佈指標。環境主控台監控頁面上用於製作圖表的 CloudWatch 指標,會由您環境中的資源發佈。

例如,EC2 會針對您環境 Auto Scaling 群組中的執行個體,發佈下列指標:

CPUUtilization

目前使用中的運算單位百分比。

DiskReadBytes
DiskReadOps
DiskWriteBytes
DiskWriteOps

讀取及寫入的位元組數,以及讀取及寫入操作的數量。

NetworkIn
NetworkOut

傳送及接收的位元組數。

ELB 會針對您環境的負載平衡器發佈下列指標:

BackendConnectionErrors

負載平衡器和環境執行個體間連線失敗的數量。

HTTPCode_Backend_2XX
HTTPCode_Backend_4XX

您環境執行個體產生成功 (2XX) 及用戶端錯誤 (4XX) 回應代碼的數量。

Latency

負載平衡器將請求轉送至執行個體到接收回應的秒數。

RequestCount

完成的請求數。

此並非完整清單。如需針對這些資源回傳的指標完整清單,請參閱 Amazon CloudWatch 開發人員指南中的下列主題:

指標
命名空間 主題
AWS::ElasticLoadBalancing::LoadBalancer Elastic Load Balancing 指標與資源
AWS::AutoScaling::AutoScalingGroup Amazon Elastic Compute Cloud 指標與資源
AWS::SQS::Queue Amazon SQS 指標與資源
AWS::RDS::DBInstance Amazon RDS 維度與指標

工作者環境運作狀態指標

下述僅針對工作者環境而言:SQS 協助程式會將環境運作狀態的自訂指標發佈至 CloudWatch,其中值 1 為綠色。您可使用 ElasticBeanstalk/SQSD 命名空間,在您的帳戶檢閱 CloudWatch 運作狀態指標資料。指標維度為 EnvironmentName,而指標名稱為 Health。所有執行個體都將其指標發佈至相同的命名空間。

欲啟用協助程式來發佈指標,環境的執行個體描述檔必須具備呼叫 cloudwatch:PutMetricData 的許可。此許可會納入預設的執行個體描述檔。如需詳細資訊,請參閱管理 Elastic Beanstalk 執行個體描述檔