監控應用程式和服務可用性 - AWS 方案指引

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

監控應用程式和服務可用性

CloudWatch 可協助您監控和分析應用程式和工作負載的效能和執行時間層面。您也應該監控應用程式和工作負載的可用性和可連線性方面。您可以搭配 Amazon Route 53 運作狀態檢查CloudWatch Synthetics 使用主動監控方法來達成此目的。

當您想要監控透過 HTTP 或 HTTPS 與網頁的連線,或透過 TCP 與公有網域名稱系統 (DNS) 名稱或 IP 地址的網路連線時,您可以使用 Route 53 運作狀態檢查。Route 53 運作狀態檢查會以十秒或 30 秒的間隔從您指定的區域啟動連線。您可以選擇多個區域來執行運作狀態檢查,每個運作狀態檢查都會獨立執行,而且您必須至少選擇三個區域。如果特定子字串出現在傳回用於運作狀態檢查評估的前 5,120 個位元組的資料中,您可以搜尋 HTTP 或 HTTPS 請求的回應內文。如果傳回 2xx 或 3xx 回應,HTTP 或 HTTPS 請求會被視為正常運作。Route 53 運作狀態檢查可透過檢查其他運作狀態檢查來建立複合運作狀態檢查。如果您有多個服務端點,而且想要在其中一個服務端點運作狀態不佳時執行相同的通知,則可以執行此操作。如果您將 Route 53 用於 DNS,則可以將 Route 53 設定為如果運作狀態檢查變成運作狀態不佳,則容錯移轉至另一個 DNS 項目。對於每個關鍵工作負載,您應該考慮為對正常操作至關重要的外部端點設定 Route 53 運作狀態檢查。Route 53 運作狀態檢查可協助您避免將容錯移轉邏輯寫入應用程式。

CloudWatch 合成可讓您將 Canary 定義為指令碼,以評估工作負載的運作狀態和可用性。Canary 是以 Node.js 或 Python 撰寫的指令碼,並透過 HTTP 或 HTTPS 通訊協定運作。Canary 會使用 Node.js 或 Python 作為架構,在您的帳戶中建立 Lambda 函數。您定義的每個 Canary 可以對不同的端點執行多個 HTTP 或 HTTPS 呼叫。這表示您可以監控一系列步驟的運作狀態,例如使用案例或具有下游相依性的端點。Canary 會建立 CloudWatch 指標,其中包含執行的每個步驟,以便您可以獨立警示和測量不同的步驟。雖然 Canary 需要比 Route 53 運作狀態檢查更多的規劃和開發工作,但它們為您提供高度可自訂的監控和評估方法。Canary 也支援在虛擬私有雲端 (VPC) 中執行的私有資源,這使得它們非常適合在端點沒有公有 IP 地址時監控可用性。您也可以使用 Canary 來監控內部部署工作負載,只要您有從 VPC 到端點的連線。當您的工作負載包含內部部署中存在的端點時,這尤其重要。