

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

# Elastic Beanstalk 環境的 Auto Scaling 運作狀態檢查設定
<a name="environmentconfig-autoscaling-healthchecktype"></a>

Amazon EC2 Auto Scaling 會針對其啟動的每個 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體監控其運作狀態。如果有任何執行個體未預期終止，Auto Scaling 會偵測到終止狀況，並啟動替代執行個體。根據預設，針對您的環境所建立的 Auto Scaling 群組，會使用 [Amazon EC2 狀態檢查](https://docs.aws.amazon.com/autoscaling/latest/userguide/healthcheck.html)功能。如果您環境中的執行個體未通過 Amazon EC2 狀態檢查，Auto Scaling 會將其撤下並進行替換。

Amazon EC2 狀態檢查僅涵蓋執行個體的運作狀態，而未針對您的應用程式、伺服器或執行個體上所執行的任何 Docker 容器，來檢查其運作狀態。如果您的應用程式當機，但其上所執行的執行個體仍然運作狀態良好，則此執行個體可能會被移出負載平衡器，但 Auto Scaling 不會自動替換該項目。預設的處理動作有利於故障排除作業的進行。即使應用程式在啟動後很快地就當機，但如果應用程式一當機，Auto Scaling 就替換了執行個體，則您可能不會知道發生了錯誤。

如果您希望 Auto Scaling 在執行個體的應用程式停止回應時，就取代這些執行個體，可以利用[組態檔案](ebextensions.md)來設定 Auto Scaling 群組使用 Elastic Load Balancing 運作狀態檢查功能。下列範例會設定群組，使用負載平衡器的運作狀態檢查，以及 Amazon EC2 狀態檢查功能，來判斷執行個體的運作狀態。

**Example .ebextensions/autoscaling.config**  

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

如需 `HealthCheckType` 和 `HealthCheckGracePeriod` 屬性的詳細資訊，請參閱《*AWS CloudFormation 使用者指南*》中的 [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html)，以及《*Amazon EC2 Auto Scaling 使用者指南*》中的 [Auto Scaling 執行個體運作狀態檢查](https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html)。

根據預設，Elastic Load Balancing 運作狀態檢查會設為透過連接埠 80，使用 TCP 來嘗試連線到您的執行個體。這樣可確認在執行個體上執行的 web 伺服器正在接受連線。不過，您可能想讓 [ 自訂負載平衡器的運作狀態檢查](using-features.managing.elb.md)，以確保您的應用程式與 web 伺服器都處於良好的狀態。這項寬限期間的設定，指定了執行個體在受到運作狀態檢查時可以失敗的秒數，未超過此秒數就不會遭到終止和替換。執行個體在被移出負載平衡器後可以回復，所以請預留適合您應用程式的轉換時間給執行個體。