【问题标题】:Elastic Beanstalk - auto scaling - grace-periodElastic Beanstalk - 自动扩展 - 宽限期
【发布时间】:2013-07-30 22:14:14
【问题描述】:

我有一个 eb 环境设置,并且自动缩放功能很强大。我遇到的问题是,当新闻实例启动时,数据库连接不起作用。我认为这是因为“新”实例还没有完全准备好,但就自动缩放机制而言,它是健康的,因为它可以被 ping 通。

我了解到您可以为实例设置一个宽限期,以便在需要它们之前让它们有更长的启动时间,如下所述: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-add-elb-healthcheck.html

所以我的问题是 - 如果您使用 eb 设置所有内容,“Auto Scaling 组名称”是什么。

这真的是我的问题吗?

我正在使用 wordpress(EB 中的 php 5.4) - 我在新实例上收到“建立数据库连接时出错”错误。

任何帮助表示赞赏

【问题讨论】:

    标签: wordpress amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    正如您在回答中指出的那样,AWS 控制台并未提供对 Auto Scaling 的深入了解。除了Python工具,还可以使用shell工具:

    http://aws.amazon.com/developertools/2535

    Auto Scaling 组创建的每个实例都带有标签,只需在控制台中查看实例标签即可了解组名称。

    听起来您使用的是 EC2 健康检查,而不是 ELB 健康检查? EC2 检查会在实例完成启动后立即报告实例运行状况良好。 ELB 健康检查会一直等到您的 ELB 指定的检查通过。

    您需要创建一个要求应用程序启动并运行的 ELB 运行状况检查。

    宽限期允许您为应用程序提供启动时间,并且还可以防止在实例中断一秒钟并从负载均衡器中退出时发生自动缩放事件。

    如果您走这条路,为了更改 Auto Scaling 组设置,您需要使用 API,因为您无法从控制台执行此操作。

    【讨论】:

    • 我已经尝试过了 - 问题是 elb 在连接到数据库之前就开始使用服务器,所以在这个过程中我得到了 500 个错误,这些错误最终都正常,并且实例变得“健康” '
    • 听起来您需要更改 ELB 上的运行状况检查才能真正访问您网站上的页面,如果服务器未完全启动,该页面将失败。这将阻止服务器加入 ELB,直到可以加载健康检查页面。
    • 出现数据库错误页面并返回500错误,这应该意味着服务器不健康?但它仍然出现。
    【解决方案2】:

    好吧 - 我找到了“Auto Scaling 组名称”。如果您安装 awscli(http://aws.amazon.com/cli/) 并执行以下操作:

    aws ec2 --region 'your-region' describe-instances
    

    您会得到一个包含 Auto Scaling 组名称的 json 负载

    帮助设置 awscli(http://www.dowdandassociates.com/content/howto-install-aws-cli-security-credentials/)

    【讨论】:

      猜你喜欢
      • 2018-01-24
      • 2014-03-14
      • 2015-06-11
      • 2012-01-10
      • 2020-10-23
      • 2017-09-08
      • 2019-07-19
      • 1970-01-01
      • 2017-03-11
      相关资源
      最近更新 更多