Amazon web services 如何使用elasticbeanstalk设置自动缩放组运行状况检查类型

Amazon web services 如何使用elasticbeanstalk设置自动缩放组运行状况检查类型,amazon-web-services,amazon-ec2,amazon-elastic-beanstalk,Amazon Web Services,Amazon Ec2,Amazon Elastic Beanstalk,我已经为我的elasticbeanstalk应用程序设置了“应用程序健康检查URL”(aws:elasticbeanstalk:Application),在晚上,两台服务器开始未能通过此检查 elasticbeanstalk设置的自动缩放组似乎有一个运行状况检查类型ec2,这意味着服务器没有被终止和替换,导致连接到负载平衡器的2台服务器停止服务 如何使用elasticbeanstalk的配置设置将自动缩放组的运行状况检查类型更改为elb?我找不到任何文档化的方法来更改此值,但这必须是一个相当常见

我已经为我的elasticbeanstalk应用程序设置了“应用程序健康检查URL”(aws:elasticbeanstalk:Application),在晚上,两台服务器开始未能通过此检查

elasticbeanstalk设置的自动缩放组似乎有一个运行状况检查类型ec2,这意味着服务器没有被终止和替换,导致连接到负载平衡器的2台服务器停止服务


如何使用elasticbeanstalk的配置设置将自动缩放组的运行状况检查类型更改为elb?我找不到任何文档化的方法来更改此值,但这必须是一个相当常见的要求


谢谢

您可以创建自己的自动缩放组并将其用于启动配置

您还可以使用Elastic Beanstalk配置文件配置自动缩放:

更新:

我确实意识到,您可以使用EB配置文件配置ASG,但没有更改健康检查类型的选项

看看指南,它说你们可以使用弹性负载平衡器健康检查和自动校准

默认情况下,自动缩放组通过定期检查Amazon EC2实例状态检查的结果来确定每个实例的运行状况。如果您已将自动缩放组与弹性负载平衡负载平衡器关联,并选择使用弹性负载平衡运行状况检查,则自动缩放将通过检查Amazon EC2实例状态检查和弹性负载平衡实例运行状况检查的结果来确定实例的运行状况

创建自动缩放组时,可以选择ELB作为健康检查类型:

或者,如果使用API调用:

健康检查类型
您希望从Amazon获得健康检查的服务 EC2或弹性负载平衡器。有效值为EC2或ELB

默认情况下,自动缩放健康检查使用Amazon的结果 EC2实例状态检查以确定实例的运行状况。对于 有关详细信息,请参阅


事实证明,答案在于向.ebextensions目录添加一个配置文件

AWS文档似乎不正确,或者至少不是最新的

在这里,它告诉您可以使用配置文件配置EB资源:

但是它没有告诉你把配置文件放在哪里。要了解这一点,您需要访问以下链接:

第一个链接告诉您可以配置的各种资源的名称。在我的情况下,我需要“AWSEBAutoScalingGroup”。但它不会告诉您资源类型标识符(type)或可用属性是什么。它有一个指向“资源类型标识符”(resource type identifiers)的链接,但没有提到自动缩放或弹性beanstalk

幸运的是,AWS论坛上的一位好心人给我发来了一些有用文档的链接:

最后,我创建了我的配置文件,如下所示:

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

这现在就像一个符咒

谢谢。我将看看如何使用自定义ASG。我确实意识到您可以使用EB配置文件配置ASG,但没有更改健康检查类型的选项更新了答案,提供了两个更改健康检查类型的可用选项。谢谢。虽然这是更新ASG设置的两种有效方法,但我想通过Elastic Beanstalk找到一种方法。我不希望每次部署新版本的应用程序后都必须手动更改ASG或运行另一个脚本。好的,如果您不使用自定义ASG和ELB,当在Elastic Beanstalk中启用自动缩放和负载平衡时,默认情况下ASG将使用ELB运行状况检查。因此,没有必要更新任何设置。根据我的经验,情况并非如此。为了测试这一理论,我刚刚从头创建了一个基本的自动缩放EB测试应用程序,它创建的ASG确实具有健康检查类型EC2。也许他们最近改变了默认行为。“我找不到任何记录在案的方法来改变这个值…”。我没有明确表示我花了数小时浏览AWS EB文档和谷歌,但我不知道需要花费大量精力的细节。太棒了,这正是我想要的。经过测试,100%正确。谢谢