关于亚马逊网络服务:Elastic Beanstalk负载平衡未继承父实例

Elastic Beanstalk load balanced did not inherit the parent instances

我有一个使用eb init部署到AWS Elastic Beanstalk中的PHP应用程序。

起初我使用单个实例,因为控制台告诉我将来可以更改它。

我让我的应用程序将document_root设置为/ public。

在我将其更改为" Load Balanced"(负载均衡)并通过

自动缩放之前一直运行良好

AWS Elastic Beanstalk控制台页面。

如果我尝试访问环境URL,并且由Elastic Load Balancing定向到父实例(由Single Instance创建的第一个实例),我的应用程序将可用,但是
当它碰到其他实例时,我会收到

Forbidden

You don't have permission to access / on this server.

我认为其他实例未获得document_root = / public的设置。

如何使其他实例克隆包含配置的父实例?

仅供参考,

当前我正在运行2个最小实例,并将自动缩放。

现在,有1个实例正在工作,另外1个实例正在失败。


似乎当您将环境类型从"单个实例"更改为"负载平衡"时,新实例继承了另一个EC2安全组,该组将端口80仅限制为负载平衡器实例。

如《使用AWS Elastic Beanstalk配置Elastic Load Balancing》指南中所述,如果要直接从Web浏览器访问实例,则需要更新EC2安全组。

If you are deploying an application using a nonlegacy container type,
and you want to access your application directly on the EC2 instance
using your web browser, modify your HTTP rule in your EC2 security
group. For instructions, go to Amazon EC2 Security Groups.

希望有帮助。