簡介

容器是現代應用程式開發的關鍵元件。容器已成為組織運算資源及管理應用程式部署內容的標準方式。

容器提供獨立可重現的運算環境。它們還提供簡化封裝和相依性管理的方法。從非常大型的多叢集資產的協同運作到 Web 應用程式,甚至是測試任務並在筆記型電腦上進行概念驗證,容器都是開始建立軟體以部署至雲端的絕佳方式。

本決策指南可協助您開始使用,並選擇適合您現代應用程式開發的 AWS 容器服務。

這段四分鐘的摘錄來自 2022 年 AWS Summit DC 一場 57 分鐘的演講,主演者是 Vikram Venkataraman,AWS Principal Technical Account Manager。此摘錄提供可用 AWS 容器服務的概觀。

閱讀時間

20 分鐘

作用

協助確定哪個 AWS 容器服務最適合貴組織。

等級

初階

上次更新日期

2023 年 4 月 26 日

關於以下內容的更多決策指南

了解

容器已成為將應用程式程式碼、組態和相依性封裝到單一成品的實質標準,因為它們可一致部署到多個環境中。

容器是任何現代應用程式開發策略的關鍵一環。為提供一些容器相關 AWS 服務的內容,右邊圖片會逐層顯示可用的 AWS 容器選項 (在此影片中有更完整的說明)。

容量 

容量是指您將部署容器的基礎運算能力,以及中央處理單元 (CPU) 和記憶體需求。容量是容器將要在其上執行的基礎設施。您在 AWS 上的容器有兩種容量選項:

  • Amazon Elastic Compute Cloud (AmazonEC2) 可讓您在您管理的虛擬機器上執行容器。
  • AWS Fargate 是無伺服器的容器運算引擎,可讓您在不管理底層基礎設施的情況下執行容器。使用 Fargate,您可以啟動和擴展容器,而無需擔心底層的 EC2 執行個體。

協同運作

對於組織而言,執行的不止是一個或幾個,執行數千個容器司屬空見慣。在如此複雜的環境中,管理變得具有挑戰性。協同運作服務有助於促進這些應用程式的部署和管理。AWS 提供三種協同運作服務:  

  • Amazon Elastic Container Service (Amazon ECS) 是一項全受管容器協同運作服務,非常適合需要以簡單且經濟高效的方式來部署和管理容器化應用程式的組織。
  • Amazon Elastic Kubernetes Service (Amazon EKS) 是一項全受管 Kubernetes 服務,能讓您在 AWS 上執行和管理 Kubernetes 叢集。
  • Red Hat OpenShift Service on AWS (ROSA) 是一項全受管 OpenShift 服務,能讓您在 AWS 上執行和管理 OpenShift 叢集。對於已在內部部署 OpenShift 的客戶而言,這是很好的選擇。

佈建

佈建提供服務協同運作層的介面。每個協調器都有自己的複雜性。佈建服務會隱藏這種複雜性,並協助您更便捷地使用服務。此類別的 AWS 服務包括:

  • AWS App Runner 是一項全受管服務,可自動從原始程式碼建立容器映像,將容器部署到全受管基礎設施,並根據需求擴展。
  • AWS Elastic Beanstalk 是一項全受管服務,可讓您輕鬆部署、管理和擴展 Web 應用程式。Elastic Beanstalk 也支援容器,並提供用於部署和擴展容器化應用程式的全受管平台。
  • Amazon Lightsail 是一種啟動和管理虛擬私有伺服器簡單且經濟實惠的方法,同時還支援容器,讓您可以使用 Lightsail 執行個體建立和部署容器化應用程式。

考慮

選擇符合您應用程式需求和操作偏好的容器服務很重要。下一節概述了選擇容器服務時要考慮的一些關鍵準則,以及各種支援工具和服務。

  • 組織可以選擇使用雲端,透過標準化受管服務將營運負擔轉移至 AWS,以降低營運成本。較高層次的抽象化讓開發者和操作者得以專注於自己獨特的增值活動,而不用面對許多未加區分的任務。

    在 AWS 上使用容器建置,利用更高層次的抽象化服務,將維護基礎設施的營運開銷轉移至 AWS。

  • 您可以藉由了解工作負載模式,更輕鬆地選擇架構。這可能包括 Web 應用程式、以 API 為基礎的微型服務、事件驅動應用程式、串流與傳訊、資料管道、IT 自動化等。某些工作負載在某種運算環境中的效能會更好,或者成本效益更高。

  • 許多客戶都希望確保其應用程式能在不同環境中執行,且能輕易遷移或移動到不同的環境。能夠保留選擇,或者在內部部署和雲端上都執行應用程式對他們而言很重要。

    我們建議在軟體架構和建立封裝方面建立能力,以便您更容易地在運算服務之間移植差異化的商業邏輯。

    使用某些技術建立的應用程式在某些運算服務上執行起來可能會比在其他運算服務上更有效率。

  • 決定使用哪種容器服務時,您組織的技能是主要因素。無論您採取哪種方法,都需要在 DevOps 和網站可靠性工程師 (SRE) 團隊上進行一些投資。建立自動化管道以部署應用程式是大多數現代應用程式開發的常見做法。

    部分選擇會提高管理量。例如,有些組織因投資強大的 SRE 團隊來管理 Kubernetes 叢集,而具有執行和管理 Kubernetes 實作的技能和資源。這些團隊會處理頻繁的叢集升級 (例如,Kubernetes 每年有三個主要版本,並且舊版本會被棄用)。

    組織規模是關鍵因素,因為較小的新創公司可能只有小型 IT 團隊,而且其中每個人都身兼數職,而較大的企業一次可能支援數百個生產工作負載。 

  • 不同的 AWS 容器服務在部署複雜性方面滿足獨特需求。這是每個容器服務針對其角色進行優化的方法:

    • AWS AppRunner 提供最簡單的途徑,讓您能在公共網際網路上部署應用程式,而無需管理或自訂底層基礎設施。
    • 如果您需要對網路和安全設定有更多的控制,同時不犧牲規模或功能,Amazon ECS 是很好的選擇。
    • Amazon EKS 可讓您利用 Kubernetes 技術提供的應用程式部署和協同運作的靈活性和控制。

選擇

現在您已了解評估容器選項的準則,那麼您可隨時根據組織的需求,選擇最適合的 AWS 容器服務。

以下表格反白顯示了哪些服務會針對哪些情況進行優化。使用此表格來協助判斷最適合貴組織和使用案例的容器服務。

容器
您何時會使用此服務表?
此服務表針對什麼最佳化?
相關容器服務或工具
關閉

容量選項

容量是指您將部署容器的基礎運算能力、CPU,以及記憶體需求。容量是容器將要在其上執行的基礎設施。

當您想在自我管理的 AWS 虛擬機器或 AWS 受管運算上執行容器時使用。
專為在 AWS 運算上執行容器進行優化。
關閉

Amazon EC2

Amazon EC2 是一種 Web 服務,提供可調整的運算容量 (使用 Amazon 資料中心內的伺服器),以用來建置和託管軟體系統。

關閉

AWS Fargate

AWS Fargate 可與 Amazon ECS 搭配使用,以在無需管理伺服器或 Amazon EC2 執行個體叢集的情況下執行容器。有了 Fargate,您再也不需要佈建、設定或擴展執行容器的虛擬機器叢集。

關閉

容器協同運作

容器協同運作服務管理容器執行的時間和地點。

當您需要部署和管理多達數千個容器時使用。
專為在 AWS 上部署、管理和擴展容器化應用程式進行優化。
關閉

Red Hat OpenShift Service on AWS (ROSA)

AWS 上的 Red Hat OpenShift 服務可讓您輕鬆地在 AWS 上建立和操作 Red Hat OpenShift 叢集。針對已在 OpenShift Container Platform 內部部署容器化的應用程式,ROSA 提供熟悉的 API 介面,並維持相同的部署工具鏈,好讓您能專注於重構資料模型,而不是整個應用程式堆疊。

關閉

Amazon Elastic Kubernetes Service

Amazon EKS 協助您在 AWS 雲端或內部部署啟動、執行和擴展 Kubernetes 應用程式。

關閉

Amazon ECS

Amazon ECS 是一項全受管容器協同運作服務,可協助部署、管理和擴展容器化應用程式。

關閉

佈建

服務的佈建類別為服務的協同運作層提供了介面。每個協調器都有自己的複雜性。佈建服務會隱藏這種複雜性,使客戶更容易使用服務。

可以在您或您的團隊在容器或基礎設施方面缺乏經驗時使用。
針對易用性最佳化。
關閉

AWS Elastic Beanstalk

Elastic Beanstalk 讓您能夠在 AWS 雲端快速部署和管理應用程式,而不必學習執行那些應用程式的基礎設施。Elastic Beanstalk 可降低管理複雜性而不會限制選擇或控制。

關閉

AWS App Runner

AWS App Runner 讓您無需深入了解基礎設施,即可在全受管服務上建置並執行容器化應用程式。

關閉

Amazon Lightsail

Lightsail 以經濟高效的每月價格,提供易於使用的虛擬私有伺服器 (VPS) 執行個體、容器、儲存、資料庫等。

關閉

工具

提供容器登錄,以及容器化和遷移現有應用程式的工具。

當您需要工具以提供容器登錄及容器化和遷移現有應用程式時使用。
專為支援容器操作進行優化。
關閉

Amazon Elastic Container Registry

Amazon ECR 是全受管容器登錄檔,提供高效能託管,因此您可以隨時隨地可靠地部署應用程式映像和成品。

關閉

內部部署

能讓您執行熟悉的控制平面,以確保無論您的容器型應用程式在何處執行,都能獲得一致的體驗。

當您需要執行熟悉的控制平面時使用,以確保無論您的容器型應用程式在何處執行,都能獲得一致的體驗。
針對在何處執行容器型應用程式的靈活性進行優化。
關閉

Amazon Elastic Container Service (ECS) Anywhere

Amazon ECS Anywhere 是 Amazon ECS 的一項功能,可讓您在基礎架構上執行和管理容器工作負載。

關閉

Amazon EKS Anywhere

Amazon EKS Anywhere 可讓您在自己的基礎設施上建立及操作 Kubernetes 叢集。

關閉

Amazon EKS Distro

Amazon EKS 使用 Amazon EKS Distro,這是由 AWS 建置和維護的 Kubernetes 發行版。Amazon EKS Distro 可讓您更輕鬆地建立可靠且安全的叢集。

使用

現在,您應清楚了解每項 AWS 容器服務 (和支援的 AWS 工具和服務),以及哪一項服務可能最適合您的組織和使用案例。

若要探索如何使用並進一步了解有關每項可用 AWS 容器服務的資訊,我們提供了探索每個服務運作方式的途徑。下一節提供助您開始使用的深入說明文件、實作教學課程和資源的連結。

  • Amazon EC2
  • Amazon Aurora

    開始使用 Amazon EC2

    存取完整的 Amazon EC2 技術文件集,包括 Linux 和 Windows 執行個體的指南。

    探索指南 »

    Amazon Aurora

    VM Import/Export 使用者指南

    了解如何從現有虛擬化環境將虛擬機器映像匯入 Amazon EC2,然後再將其匯出回來。

    探索指南 »

    Amazon Aurora

    搭配 EC2 Spot 執行個體使用 Amazon EC2 Auto Scaling

    了解如何使用 Amazon EC2 Auto Scaling 搭配啟動範本,以請求 Amazon EC2 Spot 執行個體,藉此建立無狀態、容錯的工作負載。

    立即開始本教學 »

    Amazon Aurora

    在 Amazon EC2 上部署 Web 應用程式

    我們將引導您使用 AWS CDK 建立 Amazon EC2 執行個體,並在其上部署 Web 應用程式。

    探索指南 »

  • Amazon ECR
  • Amazon DynamoDB

    什麼是 Amazon Elastic Container Registry (ECR)?

     
    開始使用及使用 ECR 的指南。
     
     
    Amazon DynamoDB

    多帳戶和多區域架構中的 Amazon ECR
     

    探索橫跨 AWS 帳戶和 AWS 區域的之 Amazon ECR 架構的關鍵考慮,以及與假設性客戶使用案例相關的架構。

    閱讀部落格文章 »

    Amazon DynamoDB

    開始使用 Amazon ECR
     

    透過在 Amazon ECR 主控台中建立第一個公共儲存庫並設定公共登錄設定,開始使用 Amazon ECR 公共儲存庫。

    探索指南 »

    Amazon DynamoDB

    使用 Amazon ECR 來源和 ECS 至 CodeDeploy 部署建立管道
     

    在 AWS CodePipeline 中設定管道,以使用支援 Docker 映像檔的藍/綠部署來部署容器應用程式。

    立即開始本教學 »

  • Amazon ECS
  • AWS Database Migration Service

    開始使用 Amazon ECS

    本指南介紹可用於存取 Amazon ECS 的工具,以及執行容器的入門分步驟操作程序。

    探索指南 »

    AWS Database Migration Service

    Amazon ECS 教學

    有十多個教學可讓您了解如何使用 Amazon ECS 執行常見任務:包括建立叢集和 VPC。

    立即開始本教學 »

    AWS Database Migration Service

    Amazon ECS 的新功能與未來發展

    了解自 Amazon ECS Anywhere 推出以來的新功能、AWS Fargate 的新功能,並展望 Amazon ECS 令人振奮的增強功能。

    在此影片中了解完整報導 »

    AWS Database Migration Service

    Amazon Elastic Container Service (ECS) 部署

    本指南概述了在 AWS 上的 Amazon ECS 部署選項,並展示如何使用它來管理簡單的容器化應用程式。


    探索指南 »

    AWS Database Migration Service

    Amazon ECS 研討會

    本研討會是專為教育可能不熟悉 AWS Fargate、Amazon ECS,甚至可能是 Docker 容器工作流程的人而設計。

    探索研討會 »

    AWS Database Migration Service

    在 Amazon ECS 上部署 Docker 容器

    學習如何在負載平衡器後方的 Amazon ECS 叢集上執行已啟用 Docker 的範例應用程式、測試範例應用程式,以及刪除資源以避免付費。

    使用教學 »

  • Amazon EKS
  • AWS Database Migration Service

    開始使用 Amazon EKS
     

    進一步了解 Amazon Elastic Kubernetes Service (Amazon EKS)。您可以使用此受管服務在 AWS 上執行 Kubernetes,不必安裝、操作及維護您自己的 Kubernetes 控制平面或節點。

    探索指南 »

    AWS Database Migration Service

    Amazon Elastic Kubernetes Service (EKS) 部署
     

    探索 AWS 上的 Amazon EKS 部署選項,了解如何使用它來管理一般容器化應用程式。

    探索指南 »

    AWS Database Migration Service

    Amazon EKS 快速入門參考部署

    使用快速入門參考部署指南,我們提供了部署 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集的逐步說明。


    探索指南 »

    AWS Database Migration Service

    部署 Kubernetes 應用程式
     

    本教學展示如何使用將容器化應用程式部署到由 Amazon Elastic Container Service for Kubernetes (Amazon EKS) 管理的 Kubernetes 叢集上。

    使用教學 »

    AWS Database Migration Service

    Amazon EKS 研討會
     

    了解有關 Amazon Elastic Kubernetes 服務的實用練習。


    造訪研討會 »

  • Amazon Lightsail
  • AWS Database Migration Service

    建立、推送和部署容器映像
    使用 Amazon Lightsail

    本教學展示如何使用 Dockerfile 在本機電腦上建立容器映像。在建立映像之後,您接著可將其推送至 Lightsail 容器服務以進行部署。

    立即開始本教學 »

    AWS Database Migration Service

    Amazon Lightsail 資源中心


    探索 Lightsail 教學、影片及核心概念文件的連結。



    瀏覽資源中心 »

    AWS Database Migration Service

    使用 Amazon Lightsail 啟動 Linux 虛擬機器

    在本教學中,您會在 Amazon Lightsail 中建立 Amazon Linux 執行個體。執行個體啟動並正常執行後,您在 Lightsail 主控台內使用瀏覽器 SSH 終端透過 SSH 連接它。

    立即開始本教學 »

  • AWS App Runner
  • AWS Database Migration Service

    開始使用 AWS App Runner


    本教學將逐步引導您設定原始程式碼和部署、服務建置和服務執行期,以將應用程式部署至 App Runner 服務。本教學也會示範如何部署程式碼版本、進行設定變更,以及檢視日誌。

    使用教學 »

    AWS Database Migration Service

    AWS App Runner:幾分鐘內即可從程式碼轉換為可擴展且安全的 Web 應用程式

    探索 AWS App Runner 的設計如何讓您更輕鬆地將 Web 應用程式和 API 部署到雲端,無論它們使用的是哪種語言,即使是缺乏部署和管理容器或基礎設施經驗的團隊也適用。

    閱讀部落格 »

    AWS Database Migration Service

    使用 AWS App Runner 部署 Web 應用程式


    按照這些逐步指示,使用 AWS App Runner 部署容器化 Web 應用程式。從原始程式碼或容器映像開始。App Runner 會自動建置和部署 Web 應用程式,並透過加密來負載平衡流量。

    部署 Web 應用程式 »

  • AWS Elastic Beanstalk
  • AWS Database Migration Service

    開始使用 Elastic Beanstalk


    本指南將逐步引導您建立、探索、更新和刪除 Elastic Beanstalk 應用程式。

    探索指南 »

    AWS Database Migration Service

    AWS Elastic Beanstalk 上的部署選項


    本指南說明您如何使用 AWS Elastic Beanstalk 來部署、管理和擴展應用程式,而無需承擔管理基礎設施的營運負擔。

    探索指南 »

    AWS Database Migration Service

    中級 AWS Elastic Beanstalk 教學和範例

    這些教學主要針對中級使用者,可能不包含如註冊 AWS 等基本步驟的說明。

    立即開始本教學 »

  • AWS Fargate
  • Amazon Aurora

    開始使用 AWS Fargate

    本指南說明 AWS Fargate 的基礎知識,這項技術可與 Amazon ECS 搭配使用,以在無需管理伺服器或 Amazon EC2 執行個體叢集的情況下執行容器。

    探索指南 »

    Amazon Aurora

    開始使用 AWS Fargate 上的 Linux 容器進行主控台操作

    在 Amazon ECS 支援 AWS Fargate 的區域為任務使用 Fargate 啟動類型,開始使用 AWS Fargate 上的 Amazon ECS。

    探索指南 »

    Amazon Aurora

    使用 AWS CLI 以 Fargate Linux 任務建立叢集

    透過 AWS CLI 在 Amazon ECS 中設定叢集、註冊任務定義、執行 Linux 任務,以及執行其他常見案例。 

    探索指南 »

  • ROSA
  • AWS Database Migration Service

    開始使用 AWS 上的 Red Hat OpenShift 服務

    本指南將協助您開始使用 AWS 上的 Red Hat OpenShift 服務。

    探索指南 »

    AWS Database Migration Service

    為何要使用 ROSA?

    本影片探討您何時可能選擇使用 Red Hat OpenShift 而非標準 Kubernetes,並深入探討 AWS 上的 ROSA。

    觀賞影片 »

探索

架構圖

探索 AWS 上容器的參考架構圖。


建置架構圖 »

白皮書

探索白皮書以協助您開始使用並學習最佳實務。

探索白皮書 »

AWS 解決方案

探索經審核的解決方案和常見容器使用案例的架構指南。

探索解決方案 »

本頁對您是否有幫助?