3

所以我試圖讓我的AWS設置與DNS一起工作。AWS ECS處理跨多個實例的DNS子域

我有2個實例(當前)。 我有4個任務定義。其中3個需要在端口80/443上運行,但都在不同的子域中運行。

ECS container diagram

目前,如果我停止/啓動任務,它可以在任何情況下,我的結束。這會導致子域DNS潛在地被指向錯誤的地方。

我想我需要設置某種類型的負載均衡器來指向DNS,但不確定如何獲取該路由到正確的任務。

Load balancer diagram

所以我的問題:

  1. 我需要一個負載均衡器,或者每一個 '任務/子'?
  2. 我該如何處理從設置的源端口到任意數量的目標端口之一的端口(如果我最終有多個容器運行相同的任務)
  3. 我是否在大量複雜化或有一個更簡單的方法來實現這一點?

回答

3
  1. 我需要一個負載均衡器,或者每一個「任務/子」?

對於Api,站點和Web應用程序,您可以擁有單個應用程序負載均衡器和三個目標組。然後,您可以在負載均衡器偵聽器中執行規則庫路由,如以下屏幕截圖所示。

enter image description here

價:http://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html

然後可以網域www.domain.com和app.domain.com映射到負載平衡器

  • 我如何處理從設置的源端口到任意數量的目標端口之一的端口(如果我最終有多個容器運行相同的任務)
  • 當您在ECS中爲任務定義創建服務時,可以使用您創建的目標組配置負載平衡。

    編號:http://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service.html(檢查「配置您的服務以使用負載平衡器」)

    +0

    謝謝!另外需要注意的是,將容器源端口設置爲'0'將隨機化它,允許多個這些類型的容器同時運行 – Horse

    +0

    感謝您的信息。其實我並不知道那個細節 – Asanka