[英]How can I add a health check to check if my instances in aws autoscale established a successful connection with another independent instance
目前,我有多個實例在 AWS 自動縮放組下運行,該組從 AWS SQS 輪詢消息。 我的實例需要在開始處理傳入消息之前與另一個實例建立連接。
有時會發生我的一個實例無法建立連接的情況,我想在這里添加一個健康檢查來監控連接狀態並基於此終止實例。 我認為默認的 EC2 運行狀況檢查不會處理這種情況。
有什么辦法可以添加健康檢查來處理上述情況。
您確實需要為此進行某種自定義運行狀況檢查,因為任何內置指標(如 CPU 使用率、網絡輸入/輸出)在這里都不起作用。
一種想法是讓這些實例使用每隔幾分鍾運行一次的 cron 作業進行引導,並檢查連接是否已啟動並正在運行。 否則,實例可能會使用 CLI 或 SDK 將自身設置為不健康。
這是一段 bash 代碼示例,它獲取運行代碼的實例的實例 ID,然后將自身標記為不健康。 這將觸發 ASG 更換它。
EC2_INSTANCE_ID="`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`"
aws autoscaling set-instance-health --instance-id $EC2_INSTANCE_ID --health-status Unhealthy
資源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.