2016-07-26 56 views
4

我很難將添加在我的VPC和私有子網(無Internet網關連接到它)上的實例添加到ECS羣集。將EC2實例註冊到未使用公共IP的ECS羣集

現在我設法做到這一點的唯一方法是通過添加一個公共IP並配置一個NAT實例/網關。

如何將ECS羣集與私有子網一起使用?

回答

4

我想我已經找到了答案AWS文檔上,似乎我需要使用NAT實例/網關:(

另一個source,也是official documentaion

」 ...容器實例需要外部網絡訪問才能與Amazon ECS服務端點進行通信,因此,如果您的容器實例正在私有VPC中運行,則需要使用網絡地址轉換(NAT)實例來提供此訪問。有關詳細信息,請參閱Amazon中的NAT實例VPC用戶指南「。

+0

我有完全相同的問題,我完全忽略了它可能是公有IP的事實,因爲在[AWS文檔](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html)中,它指出在步驟8中添加公共IP是可選的...但是卻沒有提出這樣的反應......:嘆:感謝你們在這裏的幫助。 – gsaslis

+0

更新:在向亞馬遜提出問題後,他們很快回復並更新了他們[文檔]的第8步(https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html)以反映這一點:'注意:容器實例需要外部網絡訪問才能與Amazon ECS服務端點進行通信,因此如果您的容器實例沒有公共IP地址,則它們必須使用網絡地址轉換(NAT)或HTTP代理來提供這個訪問。有關更多信息,請參閱本指南中的Amazon VPC用戶指南和HTTP代理配置中的NAT實例 – gsaslis

0

要在ECS上註冊您的實例,您需要來自實例的外部連接。

對於來自私有子網上的實例的傳出連接,需要NAT,但不需要公網IP。

ECS在每臺需要連接到服務以管理狀態的服務器中啓動一個容器,爲此,您的私有子網上的實例需要通過NAT連接到外部世界。

0

這個問題很難回答。 ECS只是將Ec2實例啓動到您的配置中。如果你在沒有公有IP的子網中啓動它們,它們將不會擁有它們。您必須擁有基礎設施才能訪問它們,例如NAT,VPN等。ECS羣集沒有特殊配置。如果您可以訪問您的EC2實例,則應該可以訪問ECS實例。

+0

嗨,我能夠達到EC2實例(即使他們是在一個私人子網,因爲我使用直接連接),但問題是沒有公共IP實例沒有在ECS羣集中註冊... – Ionut

+0

這是不對的,你的配置是錯誤的。我們使用私有ECS實例。 ECS不關心你的實例是公有的還是私有的,只要運行在虛擬機上的docker上的ecs代理可以擊中ECS註冊表 –

0

I was al所以試圖通過將羣集部署到私有子網來阻止對ECS實例的公共請求,並且後來發現我需要一個每天花費大約1美元的NAT服務器/網關。

如果您只是想阻止對ECS實例的惡意嗅探請求,則可以將ECS實例的安全組更新爲公有子網。這將爲您節省30美元/天。

相關問題