在 Amazon ECS 上部署容器 Web 應用程式

入門指南

單元 1:了解 Amazon ECS

在本單元中,我們將了解 Amazon Elastic Container Service (ECS) 和服務元件

簡介

本單元旨在為您介紹 Amazon ECS 的概念。我們會涵蓋 ECS 的元件 (叢集、任務定義、服務)、什麼是協同運作,及如何選擇執行容器所用的運算類型。如您已熟悉 ECS,可直接跳到單元 2

您將學到的內容

  • 什麼是 Amazon ECS
  • ECS 有哪些元件
  • 使用 Amazon EC2 執行個體或 Amazon Fargate 以執行容器的差別

 完成時間

5 分鐘

 單元先決條件

  • 有管理員等級存取權限的 AWS 帳戶**
  • 建議的瀏覽器:最新版的 Chrome 或 Firefox

[**]過去 24 小時內建立的帳戶可能尚未有權存取本教學課程所需的服務。

實作

什麼是 Amazon ECS

Amazon Elastic Container Service (簡稱 ECS) 是全受管容器協同運作服務,協助您輕鬆地部署、管理和擴展容器化應用程式。它與 AWS 平台的其餘部分深度整合,以提供安全且易於使用的解決方案,用於在雲端中執行容器工作負載,現在使用 Amazon ECS Anywhere 在您的基礎設施上執行。協調器能管理容器的生命週期,從部署、確保其運作狀態良好、更換運作狀態不佳的節點,及處理新部署,皆包括在內。

ECS 有哪些元件

ECS 叢集是一種邏輯建構,將部署至叢集內的所有容器分組。叢集無需成本,僅在於運算和執行容器所用的其他基礎設施。為了啟動容器,您需要提供任務定義,其包含例如容器映像位置、CPU 和記憶體數量、日誌組態及其他許多內容。這不會啟動容器,僅提供執行所需的所有組態;若要啟動,您需定義服務。在服務中,您需定義想要的容器份數 (或者如果需要容器在每個執行個體上執行,需定義常駐程式,其需在每個主機上執行,ECS 就能處理其協同運作。若要將服務對網際網路公開,您需要設定 Application Load Balancer 以轉送請求至您的服務。最後,可將 ECS 設定為跨多重可用區域 (AZ) 部署,即可遍及可用數量的 AZ 自動將部署達到平衡,並以各部署的詳細資訊更新負載平衡器,以允許流量路由至該部署。 

以下圖表描述基礎設施的形式:

gsg-build-ecs-1

運算容量規劃,及選項

ECS 能將服務排程在 EC2 主機 (虛擬機器) 上執行,或使用 Amazon Fargate 這種容器的無伺服器運算引擎。您在執行容器時,需要考慮到容量規劃。例如,假設您的叢集中有 2 個主機可用,其各有 512MB 記憶體,叢集會顯示共有 1024MB 可用記憶體,但您無法啟動需要超過 512MB 記憶體的新容器,因為並無一個主機有足夠的記憶體。此情形可使用容量提供者以自動擴展叢集,而得到緩解。 

或者,您可以使用 Fargate,其允許您為各容器指定 CPU 和記憶體需求,接著就能啟動所需運算,為您執行容器。Fargate 與 EC2 主機之間的差別主要在於若使用 Fargate,您無需設定、管理或維護主機上的作業系統,加上因為能確實啟動您需要的容量,所以也不必進行容量規劃。

結語

在此單元中,我們涵蓋什麼是 Amazon ECS、所用的元件,以及使用 Amazon EC2 或 Amazon Fargate 提供執行容器的容量,兩者有何差別。在下一個單元中,我們將建立第一個 ECS 叢集。

下一個單元:建立基礎設施

讓我們知道我們表現如何。

感謝您的意見回饋
我們很高興此頁面對您有所幫助。您願意分享更多詳細資訊以協助我們繼續改進嗎?
關閉
感謝您的意見回饋
很抱歉此頁面沒有幫助到您。您願意分享更多詳細資訊以協助我們繼續改進嗎?
關閉