選擇 AWS 容器服務 - 選擇 AWS 容器服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

選擇 AWS 容器服務

採取第一步

用途

判斷哪個 AWS 容器服務最適合您的組織。

上次更新

2025 年 5 月 16 日

涵蓋的服務

簡介

容器是現代應用程式開發的關鍵元件。它們是組織運算資源和管理應用程式部署內容的標準。

容器提供分散的可重複運算環境,用於建置要在雲端部署的軟體。它們也簡化了封裝和相依性管理。您可以將它們用於一切,從協調 Web 應用程式或非常大型的多叢集資產,到測試您的工作,以及在筆記型電腦上執行概念驗證。

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

此 3½ 分鐘摘錄來自 re:Invent 2023 的 11 分鐘簡報,作者為 AWS 資深經理和解決方案架構師 Umar Saeed。他提供 AWS 容器選擇的快速概觀。

了解

容器在封裝、部署和執行應用程式方面提供了許多優勢:

  • 可攜性:受益於可在支援容器執行期的任何平台上執行的一致執行期環境。

  • 可擴展性:根據需求,使用輕量且易於複寫的容器擴展或縮減應用程式。

  • 一致性:確保應用程式在具有一致執行時間環境的所有環境中都以相同的方式執行。

  • 效率:相較於具有輕量型容器的傳統虛擬機器,使用的資源較少。

  • 隔離:使用容器的程序層級隔離來改善安全性和可靠性,在個別容器中執行的應用程式無法互相干擾,進而提升安全性和可靠性。

  • 敏捷性:透過快速封裝和部署應用程式,減少將新功能或應用程式推向市場所需的時間。

顯示可用於在 上執行容器的選項的圖表 AWS

您可以考慮三個不同 layer 中的 AWS 容器服務範圍:

  • 運算容量層是容器實際執行的位置。此層包含:

    • Amazon Elastic Compute Cloud (Amazon EC2) 執行個體:這些執行個體提供執行容器的基礎運算容量。您可以從各種執行個體類型和大小中進行選擇,以符合您的應用程式需求。EC2 執行個體可以用作 Amazon ECS 和 Amazon EKS 的運算層。

    • AWS Fargate:Fargate 是容器的無伺服器運算引擎,您可以使用它來執行容器,而無需管理基礎基礎設施。它不需要佈建和管理 EC2 執行個體。您可以搭配 Amazon ECS 和 Amazon EKS 使用 Fargate。

    • AWS Outposts: AWS Outposts 是一項全受管服務,可將 AWS 基礎設施和服務延伸至您的內部部署或混合環境。使用 AWS Outposts,您可以在部署在自有資料中心的 AWS 基礎設施上執行容器。

  • 協同運作層會排程和擴展您的環境。此層包括:

    • Amazon Elastic Container Service (Amazon ECS):Amazon ECS 是全受管容器協同運作服務,可簡化容器化應用程式的部署、管理和擴展。您可以使用 Amazon ECS 來定義任務和服務、處理服務探索,以及管理容器的生命週期。

    • Amazon Elastic Kubernetes Service (Amazon EKS):Amazon EKS 是一種受管 Kubernetes 服務,您可以使用 Kubernetes 部署、管理和擴展容器化應用程式。它提供高度可用且安全的 Kubernetes 控制平面。

    • Red Hat OpenShift Service on AWS (ROSA):ROSA 是一項全受管服務,可讓您在基礎設施上 AWS 部署和執行 Red Hat OpenShift 叢集。OpenShift 是熱門的企業級 Kubernetes 平台,可透過其他功能和工具來擴展 Kubernetes 的功能,以建置、部署和管理容器化應用程式。

  • 垂直解決方案層是一組垂直整合服務,可提供更高階和綁定的服務,可簡化部署和管理應用程式的程序。此層中的 AWS 服務包括:

    • AWS App Runner: AWS App Runner 是一項全受管服務,旨在簡化容器化 Web 應用程式和 APIs的部署和使用。您提供容器映像,而 App Runner 會自動建置、部署和擴展您的應用程式。它處理基礎運算資源的佈建、負載平衡和根據傳入流量自動擴展。

    • Amazon Lightsail: Amazon Lightsail 是雲端平台,提供預先設定的虛擬私有伺服器 (執行個體) 和其他資源,用於執行應用程式。它提供預先定義的組態,用於快速佈建運算執行個體、資料庫、儲存體和聯網資源。 透過使用預先安裝的 Docker 佈建執行個體來Lightsail支援執行容器化應用程式,旨在簡化容器的部署和管理。

    • AWS Batch: AWS Batch 是一項全受管服務,您可以用來執行批次運算工作負載 AWS。它會根據您提交的批次任務的磁碟區和特定資源需求,動態佈建最佳的運算資源。它會根據工作負載需求自動處理任務排程、資源佈建和擴展。

    • Amazon Elastic Container Registry (Amazon ECR):Amazon ECR 是全受管容器登錄檔,可讓您存放、管理和部署容器映像。它旨在為您的容器映像提供安全且可擴展的儲存空間,並簡化具有所需映像的容器佈建。

注意

AWS 提供多種方式來部署和執行容器。其中一個首要考量是您對無伺服器操作模型或 Kubernetes 操作模型的偏好。實際上,大多數客戶都使用不同程度。

選擇現代應用程式策略決策指南中深入探索操作模型的選擇,這對任何想要進一步探索此問題的人來說都是有用的資源。此外,Containers and Serverless Recommendation Guide 會逐步引導您選擇操作模型時要做出的選擇。

考慮

請務必選擇符合您應用程式需求和操作偏好設定的容器服務。下節概述選擇容器服務時要考慮的一些關鍵條件,以及支援工具和服務。

Managed service and operation overhead

組織可能會選擇建置受管容器服務,以減少其營運開銷。這種方法可讓開發人員和操作員專注於其增加價值的唯一活動,而不是未區分的任務。

Workload characteristics

了解工作負載模式可協助您做出架構選擇。工作負載模式可能包括 Web 應用程式、API 型微服務、事件驅動應用程式、串流和傳訊、資料管道、IT 自動化等。與另一種類型的工作負載相比,某些工作負載在一個運算環境中的效能更好或更具成本效益。

Application portability

許多客戶想要確保其應用程式可以在不同的環境中執行,以及遷移或移至不同的環境。他們必須能夠保留選擇,或在內部部署和雲端中執行應用程式。

我們建議在軟體架構中建立能力,並建置封裝,讓您可以輕鬆地在運算服務之間移植區別商業邏輯。

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

Organization size and skills

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

有些選擇會增加您需要執行的管理數量。例如,某些組織具有執行和管理 Kubernetes 實作的技能和資源,因為他們投資於強大的 SRE 團隊來管理 Kubernetes 叢集,並在相關聯的技能可攜性中尋找價值。這些團隊會處理頻繁的叢集升級。例如,Kubernetes 每年有三個主要版本,並取代舊版本。

組織規模是關鍵因素,因為較小的組織可能擁有由履行多個角色的人員組成的更有限的 IT 團隊,而較大的企業可以一次支援數百個生產中的工作負載。

Ease of deployment

在部署複雜性方面,不同的 AWS 容器服務符合獨特的需求。以下是針對其角色最佳化每個服務的方式:

  • AWS App Runner 提供最直接的路徑,讓您在網際網路上部署應用程式,而無需管理或自訂基礎基礎設施。

  • 如果您需要進一步控制網路和安全組態,而不犧牲規模或功能,Amazon ECS 是不錯的選擇。

  • Amazon EKS 提供彈性和控制 Kubernetes 技術提供的應用程式部署和協同運作。

選擇

現在您知道評估容器選項的條件,您就可以選擇適合您組織需求的 AWS 容器服務。

下表重點介紹針對哪些情況最佳化哪些服務。使用 資料表來協助判斷哪些容器服務和工具。

容器類別 您會何時使用它? 服務
Capacity Use when you want to run your containers on self-managed or AWS managed compute.

AWS Fargate

Amazon EC2

AWS Outposts

協同運作

當您需要容量來部署和管理多達數千個容器時,請使用 。

Amazon ECS

Amazon EKS

Red Hat OpenShift Service on AWS

Vertical solutions Use when you or your team don't have a lot of experience with containers or infrastructure.

AWS App Runner

AWS Lambda

Amazon Lightsail

AWS Batch

具有容器支援的工具和服務

使用 支援您的容器操作。

Amazon ECR

On-premises Use these services for flexibility in where you run your container-based applications.

Amazon ECS Anywhere

Amazon EKS Anywhere

Amazon EKS 混合節點

使用

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

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

容量

Amazon EC2
  • 什麼是 Amazon EC2?

    取得 Amazon EC2 的概觀。本指南不僅提供 服務的簡介,還涵蓋了如何開始使用它,然後提供關鍵功能的深入描述以及如何使用它們。

    探索指南

  • Amazon EC2 執行個體類型

    當您啟動 EC2 執行個體時,您指定的執行個體類型會決定執行個體所使用的主機電腦硬體。每個執行個體類型均提供不同的運算、記憶體和儲存功能,且會依照這些功能分組為不同的執行個體系列。本指南會逐步解說 EC2 執行個體類型。

    探索指南

  • Amazon EC2 Auto Scaling 搭配 EC2 Spot 執行個體

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

    教學課程入門

AWS Fargate
  • 入門 AWS Fargate

    本指南說明與 Amazon ECS 搭配使用的技術的基本概念 AWS Fargate,無需管理 Amazon EC2 執行個體的伺服器或叢集即可執行容器。

    探索指南

  • 在 上使用 Linux 容器開始使用 主控台 AWS Fargate

    在 Amazon ECS 支援的區域中,針對您的任務使用 Fargate 啟動類型, AWS Fargate 以在 上開始使用 Amazon ECS AWS Fargate。

    探索指南

  • 使用 建立具有 Fargate Linux 任務的叢集 AWS CLI

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

    探索指南

AWS Outposts
  • 入門 AWS Outposts

    存取完整的 AWS Outposts 技術文件集。

    探索指南

  • 什麼是 AWS Outposts?

    取得此全受管服務的簡介,將基礎設施、服務、APIs 和工具延伸 AWS 到客戶內部部署。

    探索指南

  • AWS Outposts 伺服器定價

    取得 AWS Outposts 伺服器定價的詳細資訊。

    取得定價的詳細資訊

協同運作

Amazon ECS
  • Amazon ECS 入門

    取得可存取 Amazon ECS 的工具簡介,以及執行容器step-by-step程序簡介。

    探索指南

  • Amazon ECS 教學課程

    了解如何在使用 Amazon ECS 時執行常見任務,包括建立叢集和 VPCs。

    開始使用教學課程

  • Amazon ECS 沉浸日

    本研討會擴展您對容器的基礎了解,並提供使用 Amazon ECS 和 擴展、監控和管理容器工作流程的實際經驗 AWS Fargate。

    探索研討會

  • 在 Amazon ECS 上部署容器

    了解如何在負載平衡器後方的 Amazon ECS 叢集上執行範例應用程式、測試範例應用程式,以及刪除資源以避免產生費用。

    探索指南

Amazon EKS
  • Amazon EKS 入門

    進一步了解 Amazon EKS,這項受管服務可讓您在 上執行 Kubernetes, AWS 而不需要安裝、操作和維護您自己的 Kubernetes 控制平面或節點。

    探索指南

  • Amazon EKS 部署

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

    探索指南

  • Amazon EKS 研討會

    探索實際練習以了解 Amazon EKS。

    造訪 研討會

Red Hat OpenShift Service on AWS
  • 什麼是 Red Hat OpenShift Service on AWS?

    了解如何使用此受管服務,在 Red Hat OpenShift 企業 Kubernetes 平台上建置、擴展和部署容器化應用程式 AWS。

    探索指南

  • 入門 Red Hat OpenShift Service on AWS

    了解如何開始使用 Red Hat OpenShift Service on AWS (ROSA)。

    探索指南

  • 為什麼要使用 ROSA?

    觀看影片以了解何時在標準 Kubernetes 上使用 Red Hat OpenShift,並深入探索 ROSA。

    觀看影片

垂直解決方案

AWS App Runner
  • 什麼是 AWS App Runner?

    了解何時使用此服務,從原始碼或容器映像直接部署到 中可擴展且安全的 Web 應用程式 AWS 雲端。

    探索指南

  • 入門 AWS App Runner

    使用此教學課程來設定要部署應用程式的原始程式碼和部署、服務建置和服務執行時間 AWS App Runner。

    使用教學課程

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

    請依照這些step-by-step指示,使用 部署容器化 Web 應用程式 AWS App Runner。

    使用教學課程

AWS Lambda
  • 什麼是 AWS Lambda?

    了解如何使用 Lambda 在高可用性運算基礎設施上執行程式碼,並執行運算資源的所有管理,包括伺服器和作業系統維護、容量佈建和自動擴展,以及記錄。

    探索指南

  • AWS Lambda 文件

    使用 AWS Lambda 文件以了解如何使用此服務執行程式碼,而無需佈建或管理伺服器,而且只需支付您使用的運算時間。

    探索指南

  • 在本機使用 Lambda 容器映像

    了解如何使用部署套件將函數程式碼部署至 Lambda。Lambda 支援兩種類型的部署套件:容器映像和.zip檔案封存。

    探索指南

Amazon Lightsail
  • 什麼是 Amazon Lightsail?

    在 上取得完整案例Amazon Lightsail,包括其功能,以及如何從中受益。本指南也包含step-by-step指引,協助您開始使用 ,Lightsail然後將其設定為滿足您的需求。

    探索指南

  • 建立Lightsail容器服務映像

    了解如何使用 Dockerfile 在本機電腦上建立容器映像。然後,您可以將它推送到您的Lightsail容器服務來部署它。

    探索指南

  • Amazon Lightsail 資源中心

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

    造訪資源中心

AWS Batch
  • 什麼是 AWS Batch?

    了解如何 AWS Batch 使用 在 中執行批次運算工作負載 AWS 雲端。

    探索指南

  • 的最佳實務 AWS Batch

    考慮本指南,了解如何在使用 時執行和最佳化工作負載 AWS Batch。

    探索指南

  • AWS Batch 研討會中心

    使用這些從初學者到進階以漸進方式組織的研討會來探索和學習 AWS Batch。

    探索研討會

具有容器支援的工具和服務

Amazon ECR
  • Amazon ECR 文件

    使用 Amazon ECR 文件來探索使用此完全受管容器登錄的最佳方式。

    探索指南

  • 什麼是 Amazon Elastic Container Registry (Amazon ECR)?

    Amazon ECR 入門和使用指南。

    探索指南

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

    探索跨 AWS 帳戶 和 的 Amazon ECR 架構 AWS 區域以及與假設性客戶使用案例相關的架構的重要考量。

    閱讀部落格文章

現場部署

Amazon ECS Anywhere
  • 什麼是 Amazon ECS Anywhere?

    了解 Amazon ECS Anywhere 如何為您的 Amazon ECS 叢集提供註冊外部執行個體的支援,例如現場部署伺服器或虛擬機器 (VM)。

    探索指南

  • Amazon ECS Anywhere 定價

    使用此定價指南來了解 Amazon ECS Anywhere 定價,該定價是根據您已向 Amazon ECS 叢集註冊的執行個體連線到 ECS 控制平面的時間向您收費的模型,四捨五入至最接近的秒數。

    探索 定價指南

  • Amazon ECS Anywhere FAQs

    取得有關 Amazon ECS Anywhere 常見問題的解答。

    探索FAQs

Amazon EKS Anywhere
  • Amazon EKS Anywhere 文件說明

    使用 文件來了解 Amazon EKS Anywhere 的使用和最佳實務。

    閱讀文件

  • Amazon EKS Anywhere 定價

    使用此定價指南來了解 Amazon EKS Anywhere 定價。

    探索 定價指南

  • Amazon EKS Anywhere 常見問答集

    取得有關 Amazon EKS Anywhere 常見問題的解答。

    探索FAQs

Amazon EKS Hybrid Nodes
  • Amazon EKS 混合節點概觀

    使用 文件了解 Amazon EKS 混合節點的使用和最佳實務。

    閱讀文件

  • Amazon EKS 混合節點定價

    使用 定價指南來了解 Amazon EKS 混合節點定價。

    探索 定價指南

  • 深入了解 Amazon EKS 混合節點

    探索如何使用現有的內部部署和邊緣基礎設施做為 Amazon EKS 叢集中的節點。

    閱讀部落格文章

探索