Amazon ECS 入门

概览

Amazon Elastic Container Service(ECS)是一项完全托管的容器编排服务,可以简化容器化应用程序的部署、管理和扩缩。无论您是刚刚接触 Amazon ECS 还是已经在计划用例,都可以选择自己的路径并按照精心策划的学习步骤来开始学习。

一个男人拿着灯泡的照片

路径 1:Amazon ECS 基础知识入门

从这段短视频开始,了解如何将整体 node.js 应用程序部署到 Docker 容器,然后在不停机的情况下将应用程序分解成微服务。

在本次讲习会中,我们将在 Amazon ECS 上启动一个前端和多个后端服务,您将学习如何将此工作流程应用到自身环境。

接下来,了解 Amazon ECS 和 Amazon Container Registry(Amazon ECR)的核心概念,以及它们如何帮助在 AWS 上部署、管理和扩展支持 Docker 的应用程序。 

Amazon ECS 让您能够轻松地在 AWS 上运行和扩展容器化工作负载。了解如何创建任务定义以使用 Amazon ECS 运行容器。

白皮书提供针对 AWS 上基于容器的应用程序的应用程序生命周期管理、安全性和架构软件设计模式指南。 

最后一个模块是为以 Terraform 为中心的开发人员设计的。在本次讲习会中,您将学习如何利用 Amazon ECS 蓝图在 Amazon ECS 之上构建和部署各种功能。

路径 2:使用 Amazon ECS 和 AWS Fargate 运行带有无服务器容器的微服务

从这段短视频开始,了解如何将整体 node.js 应用程序部署到 Docker 容器,然后在不停机的情况下将应用程序分解成微服务。

接下来,我们将展示如何在 Docker 容器中运行简单的整体式应用程序,将相同的应用程序部署为微服务,然后将流量切换到微服务而不造成任何停机。

课程将快速回顾有关容器的内容,然后深入介绍 Amazon ECS 的功能、优势、使用案例和演示。

在本次讲习会中,我们将在 Amazon Elastic Container Service 上启动一个前端和多个后端服务,您将学习如何将此工作流程应用到自身环境。

使用 Amazon ECS 和 AWS Fargate 时,用户无需管理任何中间件、任何 Amazon EC2 实例或主机操作系统。Amazon ECS 解决方案蓝图为您提供快速入门并支持您边做边学。它编纂了最佳实践、精心设计的架构模式,并提供了针对 CI/CD、可观测性、安全性和成本效率的端到端解决方案。

最后,参加本课程,学习如何获得对在 Amazon ECS 上运行的应用程序的可观测性。您将了解如何在系统和应用程序级别收集指标、日志和记录。最后,学习如何应用它来识别和纠正问题。

路径 3:扩展和运行 Web 应用程序

首先,请观看此视频,其中详细介绍了使用 Amazon ECS 进行扩展的最佳实践和技巧。

接下来,详细了解 ECS 集群自动扩缩(CAS),它使 Amazon ECS 能够管理 Amazon EC2 自动扩缩组(ASG)的扩展。使用 CAS,您可以配置 Amazon ECS 以自动扩展您的 ASG,并且只需专注于运行自己的任务即可。 

详细了解如何托管和公开基于容器的 API,以及在某些情况下如何构建支持 HTTP 请求路由、自动扩展、高可用性和用户授权的解决方案。

了解如何选择基础设施来支持在 Amazon ECS 上运行的容器化企业应用程序。在本课程中,您将了解如何根据您的应用程序确定需求的范围,选择最佳架构来支持您的应用程序,并设计安全、高性能且有弹性的可重复使用基础设施模式。

在本课程中,您将学习如何管理在 Amazon ECS 上大规模运行的企业应用程序,以构建可以快速安全地横向扩展或缩减的环境。您还将学习如何区分应用程序扩展和基础设施扩展,并执行测试以确定扩展应用程序的最佳指标。

详细了解 Amazon ECS 内部工作原理,以及查看最佳实践以确保您的应用程序安全、高效且具有弹性,请使用官方《Amazon ECS 用户指南和最佳实践》快速扩展。

路径 4:在 Amazon EC2 上使用 Amazon ECS 部署高级应用程序

模式展示了如何设置 Amazon ECS 集群,该集群使用 Amazon ECS 容量提供程序自动启动自己的 Amazon EC2 实例。这种方法允许 Amazon ECS 集群从完全清空的状态开始,根据需要添加 Amazon EC2 容量,然后在您停止集群中的所有容器任务时“缩减到零”。

在 Amazon EC2 上运行容器可以优化这些容器在 Amazon EC2 主机上的分布方式,或优化它们组合到共享主机上的方式,从而节省成本。在本模块中,我们将深入研究放置策略和约束条件,这些策略和约束条件让您可以定位特定类型的主机,并控制如何将容器任务放置到主机上。

竞价型实例集允许您为集群设置所需的目标容量,也可以设置您愿意为实例集每小时支付的最高金额。竞价型实例集尝试通过从可用的竞价型实例类型中启动混合实例类型来优化您的支出,以最低的成本满足您的总容量需求。了解如何将此策略与 Amazon ECS 和容器放置策略相结合以节省资金。

在 Amazon EC2 上运行容器时,您可以选择三种主要网络方法:AWS VPC、桥接模式和主机模式。哪种方法适用于您的应用程序? 单击下面的链接,了解每种方法的利弊,以做出最佳选择。

主机模式
桥接模式
awsvpc 模式

在此模式中,您将了解如何部署具有 GPU 的 Amazon EC2 实例,并使用 Amazon GPU 优化型 AMI,让您的容器可以访问连接的 GPU,从而对计算进行硬件加速。

GPU 专为通用任务而设计,因此并不一定是加速机器学习任务最具成本效益的技术。在此模式中,了解如何设置 AWS Inferentia 硬件,并使用 AWS Deep Learning Container 运行 AWS Neuron 支持的环境,该环境利用专用硬件来加速模型训练和推理,其成本/性能比在许多情况下都优于 GPU。

当您的容器在 Amazon EC2 实例的实例集中运行时,如何管理对 Amazon EC2 主机的更新和修补? 此模式演示了如何对您的底层容量进行修补和滚动升级,同时避免应用程序停机。

使用 Amazon ECS 进行更多数字化学习

刚接触 AWS,或者是第一次使用 Amazon ECS? 参加本课程以了解该服务的基础知识及其功能。

现在您已经了解了基础知识,接下来,本课程将向您详细介绍有关 Amazon ECS 的基础知识以及最适合它的应用程序模式种类。

已准备好在 AWS 上使用容器,但不想自己管理计算实例? 本课程将向您介绍 AWS Fargate,即 Amazon ECS 的无服务器计算。

有效使用容器和微服务通常意味着有一个用于部署的映像注册表。本课程将向您介绍 Amazon Elastic Container Registry(ECR),并举例说明如何将其与 Amazon ECS 结合使用。

详细了解如何对基于 Amazon ECS 的服务的部署和性能进行问题排查,以及如何深入获取所需的日志和数据,以使您的应用程序按预期运行。

准备好超越用户界面,开始以更具编程方式使用 Amazon ECS 了吗? 本课程还将向您介绍 AWS Copilot,这是一种能以更可重复、协调和协调的方式部署应用程序和服务的工具。

企业应用程序对设计、可用性和可扩展性有自己的特殊要求。本课程将介绍如何为您的环境选择合适的技术,以及网络、任务间通信和安全性的最佳实践。

大规模部署和管理应用程序需要在能力、工具、文化和纪律之间寻求微妙的平衡。本课程将向您介绍在 CI/CD 环境中使用 Amazon ECS 的基础知识,重点介绍最适合推动高速应用程序环境的 Amazon 工具、模式、最佳实践和场景。

Amazon ECS 的可扩展性是独一无二的。本课程将介绍增长和扩展的主题,并介绍可以支持客户完成从初始部署到每秒处理数百万个请求等一系列操作的最佳实践、应用程序模式和工具。

当出现问题时,平台帮助客户了解发生了什么以及如何解决问题的能力将变得至关重要。本课程将深入探讨如何监控和记录 Amazon ECS 内部的性能,以及如何优化正在运行的工作负载的性能。