选择 AWS 容器服务 - 选择 AWS 容器服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

选择 AWS 容器服务

迈出第一步

目的

确定哪种 AWS 容器服务最适合您的组织。

上次更新

2025 年 5 月 16 日

承保服务

简介

容器是现代应用程序开发的关键组成部分。它们是组织计算资源和管理应用程序部署内容的标准。

容器提供了一个离散的可重现计算环境,用于构建要在云端部署的软件。它们还简化了打包和依赖关系管理。您可以将它们用于各种用途,从编排 Web 应用程序或非常大的多集群资产,到测试您的工作并在笔记本电脑上进行概念验证。

本决策指南可帮助您入门并为现代应用程序开发选择合适的 AWS 容器服务。

这段 3½ 分钟的摘录摘自高级经理兼解决方案架构师奥马尔·赛义德在 re: Invent 2023 上发表的 11 分钟演讲。 AWS 他简要概述了 AWS 集装箱的选择。

明白

容器为打包、部署和运行应用程序提供了许多优势:

  • 可移植性:受益于一致的运行时环境,该环境可以在支持容器运行时的任何平台上运行。

  • 可扩展性:使用轻量级且易于复制的容器,根据需求向上或向下扩展应用程序。

  • 一致性:确保应用程序在运行时环境一致的所有环境中以相同的方式运行。

  • 效率:与使用轻量级容器的传统虚拟机相比,使用的资源更少。

  • 隔离:通过容器的进程级隔离提高安全性和可靠性,在不同容器中运行的应用程序不会相互干扰,从而提高安全性和可靠性。

  • 敏捷性:通过快速打包和部署应用程序,缩短将新功能或应用程序推向市场所需的时间。

该图显示了可用于在上运行容器的选项 AWS

你可以从三个不同的层面来思考 AWS 容器服务的世界:

  • 计算容量层是您的容器实际运行的地方。该层包括:

    • 亚马逊弹性计算云 (Amazon EC2) 实例:这些实例为运行容器提供底层计算容量。您可以从多种实例类型和大小中进行选择,以满足您的应用程序要求。 EC2实例可用作 Amazon ECS 和 Amazon EKS 的计算层。

    • AWS Fargate: Fargate 是一款适用于容器的无服务器计算引擎,您可以使用它运行容器,而无需管理底层基础架构。它无需预置和管理 EC2 实例。你可以将 Fargate 与 Amazon ECS 和 Amazon EKS 搭配使用。

    • AWS Outposts: AWS Outposts 是一项完全托管的服务,可将 AWS 基础设施和服务扩展到您的本地或混合环境。借 AWS Outposts助,您可以在自己数据中心部署的基础 AWS 架构上运行容器。

  • 编排层可调度和扩展您的环境。此层包括:

    • 亚马逊弹性容器服务 (Amazon ECS):Amazon ECS 是一项完全托管的容器编排服务,可简化容器化应用程序的部署、管理和扩展。您可以使用 Amazon ECS 来定义任务和服务、处理服务发现以及管理容器的生命周期。

    • Amazon Elastic Kubernetes Service(亚马逊 EKS):亚马逊 EKS 是一项托管 Kubernetes 服务,您可以使用它使用 Kubernetes 部署、管理和扩展容器化应用程序。它提供了一个高度可用且安全的 Kubernetes 控制平面。

    • AWS 云端 Red Hat OpenShift 服务 (ROSA):ROSA 是一项完全托管的服务,您可以使用它在 AWS 基础设施上部署和运行红帽 OpenShift 集群。 OpenShift 是一款流行的企业级 Kubernetes 平台,它通过用于构建、部署和管理容器化应用程序的附加功能和工具扩展了 Kubernetes 的功能。

  • 垂直解决方案层是一组垂直集成服务,它们提供更高级别的捆绑服务,可简化应用程序的部署和管理流程。该层中的 AWS 服务是:

    • AWS App Runner: AWS App Runner 是一项完全托管的服务,旨在简化容器化 Web 应用程序的部署和使用,以及. APIs 您提供容器镜像,App Runner 会自动构建、部署和扩展您的应用程序。它处理底层计算资源的配置、负载平衡以及根据传入流量自动扩展。

    • Amazon Lightsail:Amazon Lightsail 是一个云平台,为运行应用程序提供预配置的虚拟专用服务器(实例)和其他资源。它提供预定义的配置,用于快速配置计算实例、数据库、存储和网络资源。Lightsail 通过预先安装了 Docker 的实例来支持运行容器化应用程序,旨在简化容器的部署和管理。

    • AWS Batch: AWS Batch 是一项完全托管的服务,您可以使用它运行批量计算工作负载 AWS。它会根据您提交的批处理任务的数量和特定资源要求动态配置最佳计算资源。它根据工作负载要求自动处理作业调度、资源配置和扩展。

    • Amazon Elastic Container Registry (Amazon ECR):Amazon ECR 是一个完全托管的容器注册表,您可以使用它存储、管理和部署容器映像。它旨在为您的容器映像提供安全且可扩展的存储,并简化容器配置所需映像的过程。

注意

AWS 提供了多种部署和运行容器的方法。首先要考虑的因素之一是您偏爱无服务器操作模型或 Kubernetes 操作模型。实际上,大多数客户在不同程度上使用两者。

《选择现代应用策略决策指南》深入探讨了运营模式的选择,对于任何想要进一步探讨这个问题的人来说,这都是一个有用的资源。此外,《容器和无服务器推荐指南》将引导您在选择运营模式时做出哪些选择。

考虑一下

选择符合您的应用程序要求和操作偏好的容器服务非常重要。以下部分概述了选择容器服务时需要考虑的一些关键标准以及支持工具和服务。

Managed service and operation overhead

Organizations 可能会选择在托管容器服务基础上进行构建,以减少运营开销。这种方法使开发人员和运营商能够专注于增加价值的独特活动,而不是无差别的任务。

Workload characteristics

了解您的工作负载模式可以帮助您做出架构选择。工作负载模式可能包括 Web 应用程序、基于 API 的微服务、事件驱动的应用程序、流媒体和消息传递、数据管道、IT 自动化等。与另一种计算环境相比,某些工作负载在一种计算环境中性能更好或更具成本效益。

Application portability

许多客户希望确保他们的应用程序可以在不同的环境中运行、迁移或移动到不同的环境中。对于他们来说,重要的是能够保留选择权,或者在本地和云端运行应用程序。

我们建议您培养软件架构方面的能力,并构建软件包,以便您可以轻松地在计算服务之间移植差异化的业务逻辑。

使用某些技术构建的应用程序在某些计算服务上可能比在其他计算服务上更有效地运行。

Organization size and skills

在决定使用哪些容器服务时,贵组织的技能是一个主要因素。您采取的方法可能需要对站点可靠性工程师 (SRE) 团队进行一些投资。 DevOps 对于大多数现代应用程序开发来说,构建自动化管道来部署应用程序是很常见的。

有些选择可以提高你需要做的管理量。例如,一些组织拥有运行和管理 Kubernetes 实施所需的技能和资源,因为他们投资于强大的 SRE 团队来管理 Kubernetes 集群,并从相关的技能可移植性中发现价值。这些团队负责频繁的集群升级。例如,Kubernetes 每年有三个主要版本,并且会弃用旧版本。

组织规模是一个关键因素,因为较小的组织可能拥有更有限的IT团队,由担任多个角色的人员组成,而大型企业可以同时支持数百个生产工作负载。

Ease of deployment

不同的 AWS 容器服务可以满足部署复杂性方面的独特需求。以下是每项服务如何针对自己的角色进行优化的方法:

  • AWS App Runner为您提供了无需管理或自定义底层基础架构即可在 Internet 上部署应用程序的最直接途径。

  • 如果您需要在不牺牲规模或功能的情况下更好地控制网络和安全配置,Amazon ECS 是一个不错的选择。

  • Amazon EKS 为 Kubernetes 技术提供的应用程序部署和编排提供了灵活性和控制力。

选择

既然您已经知道了评估容器选项所依据的标准,就可以选择哪些 AWS 容器服务可能最适合您的组织要求了。

下表突出显示了哪些服务针对哪些情况进行了优化。使用该表来帮助确定哪些容器服务和工具是哪些。

容器类别 你什么时候会用它? 服务
容量 当您想在自我管理或托 AWS 管计算上运行容器时使用。

AWS Fargate

Amazon EC2

AWS Outposts

编排

当您需要部署和管理多达数千个容器的容量时使用。

Amazon ECS

Amazon EKS

AWS 云端 Red Hat OpenShift 服务

垂直解决方案 当您或您的团队在容器或基础设施方面没有太多经验时使用。

AWS App Runner

AWS Lambda

Amazon Lightsail

AWS Batch

支持容器的工具和服务

用于支持您的容器操作。

Amazon ECR

本地 使用这些服务可以灵活地运行基于容器的应用程序。

亚马逊 ECS Anywhere

Amazon EKS Anywhere

Amazon EKS 混合节点功能

使用

现在,您应该清楚地了解每种 AWS 容器服务(以及支持 AWS 工具和服务),以及哪一种最适合您的组织和用例。

为了探索如何使用和进一步了解每种可用的 AWS 集装箱服务,我们提供了探索每种服务如何运作的途径。以下部分提供了指向深入文档、动手教程和资源的链接,以帮助您入门。

容量

Amazon EC2
  • 什么是亚马逊 EC2?

    获取亚马逊概览 EC2。本指南不仅介绍了该服务,还介绍了如何开始使用该服务,然后对关键功能以及如何使用它们进行了深入的描述。

    浏览指南

  • Amazon EC2 实例类型

    启动 EC2 实例时,您指定的实例类型决定了用于您的实例的主机的硬件。每个实例类型提供不同的计算、内存和存储功能,并按照这些功能分组到实例系列。本指南将引导您 EC2 了解实例类型。

    浏览指南

  • 使用 EC2 竞价型实例的 Amazon A EC2 uto Scaling

    了解如何使用 Amazon A EC2 uto Scaling 创建无状态的容错工作负载,并附带启动模板请求亚马逊 EC2 竞价型实例。

    开始阅读本教程

AWS Fargate
  • 入门 AWS Fargate

    本指南解释了这项技术的基础知识 AWS Fargate,您可以在 Amazon ECS 中使用该技术来运行容器,而无需管理服务器或 Amazon EC2 实例集群。

    浏览指南

  • 开始使用控制台使用 Linux 容器 AWS Fargate

    在 Amazon ECS AWS Fargate 支持的区域使用 Fargate 启动类型执行任务,开始开启 Amazon ECS。 AWS Fargate

    浏览指南

  • 使用 Fargate Linux 任务创建集群 AWS CLI

    使用在 Amazon ECS 中设置集群、注册任务定义、运行 Linux 任务以及执行其他常见场景 AWS CLI。

    浏览指南

AWS Outposts
  • 入门 AWS Outposts

    访问全套 AWS Outposts 技术文档。

    浏览指南

  • 什么是 AWS Outposts?

    了解这项完全托管的服务,该服务可将 AWS 基础架构 APIs、服务和工具扩展到客户驻地。

    浏览指南

  • AWS Outposts 服务器定价

    获取有关 AWS Outposts 服务器定价的详细信息。

    获取有关定价的详细信息

编排

Amazon ECS
  • Amazon ECS 入门

    了解可用于访问 Amazon ECS 的工具以及运行容器的入门 step-by-step程序。

    浏览指南

  • 亚马逊 ECS 教程

    了解在使用 Amazon ECS VPCs 时如何执行常见任务,包括创建集群和执行这些任务。

    开始使用教程

  • 亚马逊 ECS 沉浸日

    本次研讨会扩展了您对容器的基础了解,并提供了使用 Amazon ECS 和 AWS Fargate扩展、监控和管理容器工作流程的实践经验。

    探索工作坊

  • 在 Amazon ECS 上部署容器

    了解如何在负载均衡器后面的 Amazon ECS 集群上运行示例应用程序、测试示例应用程序以及删除资源以避免收费。

    浏览指南

Amazon EKS
  • 开始使用 Amazon EKS

    详细了解 Amazon EKS,这是一项托管服务,您 AWS 无需安装、操作和维护自己的 Kubernetes 控制平面或节点,即可使用它来运行 Kubernetes。

    浏览指南

  • 亚马逊 EKS 部署

    浏览上的 Amazon EKS 部署选项, AWS 并学习如何使用它来管理常规容器化应用程序。

    浏览指南

  • Amazon EKS 讲习会

    探索实践练习,了解 Amazon EKS。

    参观工作坊

AWS 云端 Red Hat OpenShift 服务
  • 什么是 AWS 云端 Red Hat OpenShift 服务?

    了解如何在红帽 OpenShift 企业 Kubernetes 平台上使用此托管服务构建、扩展和部署容器化应用程序。 AWS

    浏览指南

  • 入门 AWS 云端 Red Hat OpenShift 服务

    了解如何开始使用 AWS 云端 Red Hat OpenShift 服务 (ROSA)。

    浏览指南

  • 你为什么要使用 ROSA?

    观看视频,了解何时使用红帽 OpenShift 而不是标准 Kubernetes,并深入探索 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 容器服务进行部署。

    浏览指南

  • 亚马逊 Lightsail 资源中心

    浏览 Lightsail 教程、视频和核心概念文档链接。

    访问资源中心

AWS Batch
  • 什么是 AWS Batch?

    在中学习如何使用 AWS Batch 来运行批量计算工作负载 AWS 云。

    浏览指南

  • 以下方面的最佳实践 AWS Batch

    使用时请考虑本指南,了解如何运行和优化工作负载 AWS Batch。

    浏览指南

  • AWS Batch 车间中心

    使用这些以从初学者到高级的渐进方式组织的研讨会来探索和学习 AWS Batch。

    探索工作坊

支持容器的工具和服务

Amazon ECR
  • Amazon ECR 文档

    使用 Amazon ECR 文档来探索使用这个完全托管的容器注册表的最佳方法。

    浏览指南

  • 什么是亚马逊弹性容器注册表 (Amazon ECR) Container Registry?

    Amazon ECR 入门和使用指南。

    浏览指南

  • 多账户和多区域架构中的 Amazon ECR

    探索跨 AWS 账户 和的 Amazon ECR 架构的关键注意事项 AWS 区域,以及与假设的客户用例相关的架构。

    阅读博客文章

本地

Amazon ECS Anywhere
  • 什么是 Amazon ECS Anywhere?

    了解 Amazon ECS Anywhere 如何支持将外部实例(例如本地服务器或虚拟机 (VM))注册到您的 Amazon ECS 集群。

    浏览指南

  • 亚马逊 ECS Anywhere 定价

    使用本定价指南来了解 Amazon ECS Anywhere 的定价,该定价基于一种模型,即根据您注册到 Amazon ECS 集群的实例连接到 ECS 控制平面的时间向上舍入到最接近的秒数向您收费。

    浏览定价指南

  • 亚马逊 ECS Anywhere FAQs

    获取有关 Amazon ECS Anywhere 的常见问题的答案。

    探索 FAQs

Amazon EKS Anywhere
  • Amazon EKS Anywhere 文档

    使用文档来了解 Amazon EKS Anywhere 的用法和最佳实践。

    阅读文档

  • 亚马逊 EKS Anywhere 定价

    使用本定价指南了解亚马逊 EKS Anywhere 的定价。

    浏览定价指南

  • Amazon EKS Anywhere FAQs

    获取有关亚马逊 EKS Anywhere 的常见问题的答案。

    探索 FAQs

Amazon EKS Hybrid Nodes
  • 亚马逊 EKS 混合节点概述

    使用文档了解 Amazon EKS 混合节点的用法和最佳实践。

    阅读文档

  • 亚马逊 EKS 混合节点定价

    使用定价指南了解 Amazon EKS 混合节点的定价。

    浏览定价指南

  • 深入了解 Amazon EKS 混合节点

    探索如何使用现有的本地和边缘基础设施作为 Amazon EKS 集群中的节点。

    阅读博客文章

Explore