亚马逊AWS官方博客

Amazon EC2 Container Service – 发布回顾、客户案例和代码

今天似乎是回顾在过去一年左右的时间里我们添加到 [madison] 的一些功能,以及与您分享一些客户成功案例和代码的大好时机!该服务使您可以轻松地在托管的 EC2 实例群集上运行任意数量的 Docker 容器,并获得完整的控制台APICloudFormationCLIPowerShell 支持。您可以将您的 Linux 和 Windows Docker 镜像存储在 EC2 容器注册表中以方便访问。

发布回顾

我们先来看一些最新的 ECS 功能和一些演示如何使用这些功能的有用的操作方法博客文章:

应用程序负载均衡 – 去年我们添加了对应用程序负载均衡器的支持。这一高性能的负载均衡选项在应用程序级别运行,允许您定义基于内容的路由规则。它支持动态端口,并且可以跨多个服务共享,使您更容易在容器中运行微服务器。要了解更多信息,请阅读有关服务负载均衡的信息。

任务的 IAM 角色 – 您可以通过向 ECS 任务分配 IAM 角色来保护您的基础设施。这允许您基于每个任务精细地授予权限,从而可根据每个任务的需要自定义权限。阅读任务的 IAM 角色,了解更多信息。

服务 Auto Scaling – 您可以定义扩展策略,以根据需求的变化来扩展和缩减您的服务 (任务)。您只需设置所需的最小和最大任务数,并创建一个或多个扩展策略,服务 Auto Scaling 将负责其余的工作。服务 Auto Scaling 的文档可帮助您使用此功能。Blox – 在基于容器的环境中,调度是将任务分配给实例的过程。ECS 为您提供三个选项:自动 (通过内置的服务计划程序)、手动 (通过RunTask 函数) 和自定义 (通过您提供的计划程序)。Blox 是一个开源计划程序,支持每个主机一个任务模型,并留有适应将来的其他模型的空间。它监控群集的状态,非常适合运行监控代理、日志收集器和其他守护程序风格的任务。

Windows – 我们推出了支持 Linux 容器的 ECS,随后又增加了支持范围以支持运行 Windows Server 2016 Base with Containers

容器实例耗尽 – 有时您可能需要从正在运行的群集中删除一个实例,以便缩减群集规模或执行系统更新。今年早些时候,我们添加了一组生命周期挂钩,以便您可以更好地管理实例的状态。请阅读博客文章如何在 Amazon ECS 中自动实现容器实例耗尽,以了解如何使用生命周期挂钩和 Lambda 函数来自动执行耗尽实例的现有工作,同时防止为其安排新工作的过程。

CI/CD 管道与代码* – 容器可简化软件部署,是 CI/CD (持续集成/持续部署) 管道的理想目标。使用 AWS CodePipeline、AWS CodeBuild、Amazon ECR 和 AWS CloudFormation 对 Amazon ECS 进行持续部署一文显示了如何使用多个 AWS 服务构建和运行 CI/CD 管道。

CloudWatch 日志集成 – 此次发布使您能够配置运行任务的容器,以将日志信息发送到 CloudWatch 日志进行集中存储和分析。您只需安装 Amazon ECS 容器代理并启用 awslogs 日志驱动程序即可。

CloudWatch 事件 – 当任务或容器实例的状态更改时,ECS 会生成 CloudWatch 事件。这些事件允许您使用 Lambda 函数监控群集的状态。要了解如何捕获事件并将其存储在 Elasticsearch 群集中,请阅读使用 Amazon ECS 事件流监控群集状态

任务放置策略 – 此次发布使您能够精细控制群集中容器实例上的任务放置。它允许您构建包括群集约束、自定义约束 (位置、实例类型、AMI 和属性)、放置策略 (分散或装填) 的策略,并在无需编写任何代码的情况下使用它们。请阅读 Amazon ECS 任务放置策略简介,了解如何做到这一点!

EC2 Container Service 实际运用

我们的许多客户都使用 Amazon ECS 在生产环境中运行他们的微服务应用程序,这些客户既包括大型企业,也包括炙手可热的初创公司,并且身处各行各业,例如金融服务、酒店和消费电子等行业。Capital One、Expedia、Okta、Riot Games 和 Viacom 等公司都依靠 Amazon ECS。

Mapbox 是用于设计和发布自定义地图的平台。该公司使用 ECS 为整个批处理架构提供技术支持,以收集和处理他们用来为其地图提供支持的每天超过 1 亿英里的传感器数据。他们还使用竞价型实例在 ECS 上优化其批处理架构。Mapbox 平台为 5,000 多个应用程序提供支持,每个月覆盖超过 2 亿的用户。它的后端运行在 ECS 上,这使它每天能够处理超过 13 亿个请求。要了解有关他们最近迁移到 ECS 的事宜的更多信息,请阅读他们最近的博客文章,我们已切换到 Amazon ECS,接下来发生的事情让人难以置信旅游公司 Expedia 使用微服务架构设计了他们的后端。随着 Docker 的普及,他们决定采用 Docker 来实现更快的部署和环境可移植性。他们选择使用 ECS 来安排其所有容器,因为它与 AWS 平台完美集成,从 ALB 到 IAM 角色再到 VPC 集成,一应俱全。这使得 ECS 能够非常容易地与他们现有的 AWS 基础设施配合使用。ECS 确实减少了部署和运行容器化应用程序的繁重工作。Expedia 在 ECS 中的 AWS 上运行 75% 的应用程序,这使它每小时能够处理 40 亿个请求。请阅读 Kuldeep Chowhan 的博客文章,Expedia 如何使用 Amazon ECS 在生产环境中运行数以百计的应用程序,以了解更多信息。

Realtor.com 为购房者和卖房者提供当前待售物业的综合数据库。通过迁移到 AWS 和 ECS,他们的业务得以迅速增长,现在每个月的唯一用户数高达 5000 万个,高峰时段每秒可处理 25 万个请求。ECS 帮助他们更快地部署代码,同时提高其云基础设施的利用率。请阅读 Realtor.com 案例研究,以了解有关他们如何使用 ECS、Kinesis 和其他 AWS 服务的更多信息。

Instacart 介绍了他们如何使用 ECS 来为他们的当日杂货配送服务提供支持:Capital One 介绍了他们如何使用 ECS 实现其运营和基础设施管理自动化:Code

Clever 开发人员使用 ECS 作为他们自己工作的基础。例如:

Rack 是一个开源 PaaS (平台即服务)。它专注于基础设施自动化,在隔离的 VPC 中运行,并使用单租户构建服务来实现安全性。

Empire 也是一个开源 PaaS。它提供一个类似 Heroku 的工作流程,针对的是中小型初创公司,重点是微服务。

Cloud Container Cluster Visualizer (c3vis) 有助于直观地显示 ECS 群集中的资源利用率:

请保持关注

ECS 还有许多新功能正在准备阶段,敬请保持关注!

-Jeff

(原文链接:https://aws-blogs-prod.amazon.com/aws/amazon-ec2-container-service-launch-recap-customer-stories-and-code/