我使用eb init将PHP应用程序部署到AWS Elastic Beanstalk。Elastic Beanstalk负载均衡没有继承父实例
起初我使用单个实例导致控制台告诉我将来可以更改它。
我有我的应用程序将document_root设置为/ public。
它的工作很好,直到我把它变成负载平衡,自动缩放通过
AWS弹性魔豆控制台页。
如果我尝试访问我的环境url,如果我通过Elastic Load Balancing将其指向父实例(由单实例创建的第一个实例),我的应用程序将可用,但当它碰到其他实例时,我的应用程序将可用,但是 将收到
故宫
您没有权限访问/在此服务器上。
我认为其他实例没有得到document_root =/public的设置。
如何让其他实例克隆父实例,包括配置?
只是为了信息,
目前我有运行2个最小实例,并会自动规模。
现在,1个实例正在工作,另外1个正在失败。
嗨,感谢您的帮助, 但在我的情况下,我能够击中其他实例,这意味着ELB连接到其他实例,Forbidden的错误也发生在之前,因为我没有指定我的document_root当我使用单个实例时,在改变配置以将document_root指向/ public之前,框架需要运行它的工作。 从我的安全组中,只有ELB和RDS安全组才可用。 如果ELB是原因,我想我甚至无法访问EC,因为它未在ELB中配置。 – bluehyppo23
@ bluehyppo23我有点困惑,当你说“击中其他实例”时,它是指直接(SSH,HTTP)还是通过ELB(HTTP)?关于“父”实例:当您将环境从单实例更改为负载平衡时,所谓的“父”实例不复存在,“父”中所做的所有更改都将消失。新的EC2实例被实例化,并且你的应用程序被部署在它们中的每一个上。它们将是相同的,除了'is_leader'标志值。除非你使用你没有提到的快照,所以我认为你没有。 – kukido
它通过ELB,因为我使用Beanstalk给出的URL访问它们。也许正确的术语是领导者实例,根据我的理解,在负载平衡中,必须有1个领导者实例正确吗?如果我访问Beanstalk给出的URL,有时应用程序会运行,如果我打开新的浏览器(隐身模式),如果它立即(而不是第一个)转到其他浏览器,它会给予禁止访问。 有没有一种方法可以在负载均衡中测试2分钟的实例,并测试两个实例是否正在工作,因为我现在无法知道该页面是在哪些实例上提供的。 – bluehyppo23