2016-02-28 89 views
3

我正在使用AWS上的ECS服務,我遇到了這個問題 - 我需要在ECS上運行的docker容器是webservices,每個容器應該有其內部端口80映射到容器主機上的隨機端口。我不想事先爲80容器端口指定主機端口,我想讓docker守護進程爲容器找到主機端口。使用隨機主機端口註冊ELB到ECS服務

但是,ELB如何適合這裏?對我來說,看起來我必須知道主機端口才能夠爲服務創建ELB。

是這樣嗎?

回答

0

你需要一個服務發現系統,如Hashicorp's Consul,然後你需要將它與AWS基礎設施集成:https://aws.amazon.com/blogs/compute/service-discovery-via-consul-with-amazon-ecs/

+0

服務發現是一回事,但它如何幫助集成ELB和容器? 我只是想知道如何確保一個容器隨機挑選的主機端口與ELB實例端口匹配。 – stibi

+0

https://github.com/sebest/docker-elb-consul – irakli

+0

領事不幫助ELB問題 - ELB不能處理隨機端口。你雖然可以放棄面向內部應用的ELB,而是與Consul集成。 –

1

ELB不允許綁定到隨機端口。

我們最近用ECS和CONSUL實現了服務發現。我們必須在ELB和我們的應用之間引入Zuul作爲中間層。

ELB映射到靜態端口上的zuul,但Zuul動態地發現後端服務並路由流量。

2

這是現在可以使用Application load balancer

但是,如果您需要打開的安全組入站流量,安全組的端口映射不會自動更新。