我使用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