我試圖在彈性負載均衡器下設置兩個實例,但無法弄清楚我應該如何通過負載均衡器訪問實例。通過ELB訪問AWS EC2實例
我已經設置了一個安全組實例來允許從任何地方訪問某些端口。
的http:// [publicdns]:PORT/
負載均衡包含了兩個實例,他們是我可以直接使用他們的 「公共DNS」(publicdns)主機名和端口端口訪問實例都是「In Service」並且它將端口(PORT)轉發到實例上的同一個端口上。
然而,如果我請求
HTTP:// [DNSNAME]:PORT(其中DNSNAME是用於ELB列出的A記錄)
它不連接到該實例(連接超時)。
這不是使用負載均衡器的正確方式,還是我需要做任何事情才能訪問負載均衡器?與負載平衡器相關的唯一提到的安全組是限制只能訪問負載平衡器的實例,但我不想那樣做。我希望能夠單獨訪問它們。
我敢肯定有一些簡單和愚蠢的我忘了,沒有意識到或冤屈:P
乾杯, 斯文。
額外的信息說:
端口配置爲負載平衡器看起來是這樣的(實際上是3個):
10060(HTTP)轉發到10060(HTTP) 粘性:禁用(編輯)
10061(HTTP)轉發到10061(HTTP) 粘性:禁用(編輯)
1 0062(HTTP)轉發到10062(HTTP) 粘滯性:已禁用(編輯)
它使用標準/默認elb安全組(amazon-elb-sg)。
實例有兩個安全組。一個外部看起來像這樣:
22(SSH) 0.0.0.0/0
10060 - 10061 0.0.0.0/0
0.0.0。0/0
和一個內部,內部組內允許任何對所有端口進行通信:
0 - 65535 SG-XXXXXXXX(安全組ID)
不知道這有什麼差別,但實例是m1.small類型的圖像ami-31814f58。
東西可能有相關性:以前是HTTP
我的健康檢查:PORT /但負載平衡器口口聲聲說情況是「不在服務區」,即使我似乎得到200對該端口上的請求作出響應。
然後,我將其更改爲TCP:PORT,然後更改爲「正在服務」。
是否有一些非常具體的應該返回HTTP的,或者它只是一個HTTP 200響應是必需的? ...並且確實沒有提示爲什麼負載均衡本身無法正常工作?
我想這是好,使用Web控制檯: 1)創建一個安全組,允許所有來自所有來源的訪問。 2)使用新的安全組創建新的t1.micro實例。 3)將SSH連接到組80上的「Hello」。 4)檢查我是否可以直接獲取「Hello」HTTP 200響應(是) 5)創建負載平衡器並分配此實例。 6)將健康檢查設置爲TCP:80(HTTP:80 /不起作用)。 7)嘗試訪問負載平衡器。不工作。 8)感覺很傷心: – 2012-02-24 17:45:50
你是如何訪問loadbalancer的?當我向loadbalancer發送請求時,我正在請求一個index.html文件,它可能loadbalancer不喜歡發送一個空文件嗎? – bwight 2012-02-24 18:31:11
I我一直在試驗一下,看起來問題出在我的負載平衡器健康檢查上,只是得到一個200響應代碼似乎不夠,我之前通過使用netcat實現了這一點(echo「Hello」| nc -l PORT),但沒有起作用,改爲使用TCP使其顯示爲「服務中」,但可能沒有奏效,我只創建了一個小實例,並且一旦我安裝了httpd並且回覆了它一個合適的html文件(http回覆),它工作!:)謝謝大家。在星期一我會驗證它是問題(bwight,你想寫在答案的形式,所以我可以勾選它,如果是這樣:)) – 2012-02-25 09:06:17