實驗室概觀
本實驗室示範如何使用 Amazon Elastic Container Service 來託管簡易的多元件 Web 應用程式,該應用程式包含有兩個支援 API 服務的網站。網站會顯示一份表單,您可以在其中撰寫包含名詞、動詞和形容詞的預留位置的內容。您按下 submit (提交) 按鈕時,系統就會查詢 words API (文字 API),以取得所需文字填入內容文字的所有預留位置。然後您可以按下 save (儲存),利用 save API (儲存 API) 將您建立的內容保存到 Amazon DynamoDB。該應用程式名為 Storyizer
首先,您需要在命令主機為 Web 應用程式的每個元件建置 Docker 容器。接著將前述容器推送到 Amazon Elastic Container Repository (ECR),以便於建置 ECS 叢集時加以擷取。
接下來,您可以為三個元件 (網站、API 和儲存) 建立任務定義,指定 Docker 映像、資源需求和環境變數。然後,您可以使用 AWS ECS 註冊這些任務定義,並為每個元件建立服務。每項服務皆設定維持兩個執行中的任務 (任務是指執行特定 Docker 容器)。這會產生高可用性設計,如果服務任務不良,ECS 會自動將其取代為新啟動的任務。ECS 也會與 Application Load Balancer (ALB) 和每項 ECS 任務協調動態主機連接埠映射。如此一來,您就能在單一主機上執行多個應用程式元件的容器,而不會發生連接埠衝突。
目標
此實驗室結束時,您應該能夠:
- 了解建置 Docker 影像所需的步驟。
- 將容器影像推送至 Amazon ECR 儲存庫。
- 將容器從儲存庫部署到 Amazon ECS 叢集即服務。
技術知識先決條件
要使用本實驗室練習,需要符合以下條件:
- 存取執行 Microsoft Windows、Mac OS X 或 Linux (Ubuntu、SuSE 或 Red Hat) 且配備 Wi-Fi 的筆記型電腦
- 如果是 Microsoft Windows 使用者:需要有此電腦的管理員存取權
- Chrome、Firefox 或 IE9 或更高版本的網際網路瀏覽器 (不支援舊版 Internet Explorer)
圖示圖例
此實驗室使用各種圖示提醒您注意不同類型的指示和注意事項。下列清單說明各圖示的用途:
- 命令:您必須執行的命令。
- 預期輸出:您可使用的範例輸出,以驗證命令的輸出內容或經過編輯的檔案。
- 注意:提示、秘訣或重要指引。
- 提醒:有特殊影響或重要性的資訊 (如果您錯過此資訊,不會對設備或資料造成太大的問題,但可能會導致需要重複特定步驟)。
- 了解詳情:具體指明可取得更多資訊的位置。
- 任務完成:實驗室中的結論或摘要重點。