2014-01-22 41 views
18

我爲我的elasticbeanstalk應用程序設置了「應用程序運行狀況檢查URL」(aws:elasticbeanstalk:應用程序),並在夜間兩臺服務器啓動失敗此檢查。如何使用elasticbeanstalk設置自動調整組運行狀況檢查類型

似乎由elasticbeanstalk設置的自動調整組具有ec2的運行狀況檢查類型,這意味着服務器不會被終止並被替換,而是將2個停止服務的服務器連接到負載平衡器。

如何使用elasticbeanstalk的配置設置將自動調節組的健康檢查類型更改爲elb?我找不到任何改變這個值的記錄方式,但它必須是一個相當普遍的要求。

謝謝

+4

「我無法找到更改此值的任何記錄方式......」。我沒有明確說明我花了幾個小時搜尋了AWS EB文檔和谷歌,但我並不知道需要花費大量精力。 – user1207727

回答

21

原來,答案在於將配置文件添加到.ebextensions目錄。

AWS文檔看起來不正確,或者至少不是最新的。

這告訴你,你可以使用配置文件來配置EB資源: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-resources.html

但它不會告訴你在哪裏把該配置文件。要找出你需要的鏈接: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html

第一個鏈接有助於告訴你可以配置的各種資源的名稱。在我的情況下,我需要'AWSEBAutoScalingGroup'。但是它並沒有告訴你資源類型標識符(Type)或可用屬性是什麼。它有一個「資源類型標識符」(http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/aws-template-resource-type-ref-aeb.html)的鏈接,但沒有提及自動縮放或彈性beanstalk。

幸運的是在AWS論壇上有種靈魂給我一個鏈接到一些有用的文檔: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html

所以最後我能創造我的配置文件,該文件是這樣的:

Resources: 
    AWSEBAutoScalingGroup: 
     Type: "AWS::AutoScaling::AutoScalingGroup" 
     Properties: 
      HealthCheckType: ELB 
      HealthCheckGracePeriod: 600 

這現在就像一個魅力!

+0

太棒了,就是我在找的東西。經過測試和100%正確。謝謝。 – robertomarin

1

您可以創建自己的AutoScaling組並將其用於啓動配置。

您也可以用彈性青苗配置文件來配置自動縮放:

AWS Elastic Beanstalk: Customizing Environment Resources

UPDATE:

我沒意識到你可以用EB配置文件配置ASG但沒有選項更改健康檢查類型

看看Configure the Health State of An Instance指南,它表示您可以使用AutoScaling使用Elastic Load Balancer運行狀況檢查。

默認情況下,您的Auto Scaling組通過定期檢查Amazon EC2實例狀態檢查的結果來確定每個實例的運行狀況。如果您已將Auto Scaling組與Elastic Load Balancing負載平衡器關聯並選擇使用Elastic Load Balancing運行狀況檢查,則Auto Scaling將通過檢查Amazon EC2實例狀態檢查的結果以及Elastic Load Balancing實例運行狀況檢查。

當您創建自動縮放集團有接ELB健康檢查類型的選項:

enter image description here

或者,如果您使用CreateAutoScalingGroup API調用:

HealthCheckType
服務您需要亞馬遜 EC2或Elastic Load Balancer的運行狀況檢查。有效值是EC2或ELB。

默認情況下,Auto Scaling運行狀況檢查使用Amazon EC2實例狀態檢查的結果來確定實例的運行狀況。有關 的更多信息,請參閱Health Check

+0

謝謝。我會看看使用自定義的ASG。我意識到你可以使用EB配置文件來配置ASG,但是沒有選項可以改變運行狀況檢查類型 – user1207727

+0

用兩個可用選項更新了答案,以更改運行狀況檢查類型。 – kukido

+0

謝謝。雖然這是更新ASG設置的兩種有效方法,但我正在通過Elastic Beanstalk尋求一種方法。我不想在每次部署新版本的應用程序後手動修改ASG或運行其他腳本。 – user1207727

相關問題