查看原文
其他

想了解Amazon ECS?这篇文章就够了!

2017-06-06 AWS云计算


大咖专栏

大咖专栏主要刊登AWS诸位大咖亲自撰写的Blog,内容涉猎广泛,话题讨论前沿,且与实战紧密相连。我们非常欢迎小伙伴们在评论区留言,与大咖互动交流!


今天为大家撰文的大咖,是我们的AWS首席布道师——Jeff Barr。今天,他将带大家回顾一下Amazon EC2 Container Service的新功能。

Jeff Barr

AWS首席布道师

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

发布回顾

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

应用程序负载均衡

Amazon ECS新添强大功能

https://amazonaws-china.com/blogs/aws/powerful-aws-platform-features-now-for-containers/

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

任务的 IAM 角色

任务的 IAM 角色

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html

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

服务 Auto Scaling

Amazon ECS新添强大功能

https://amazonaws-china.com/blogs/aws/powerful-aws-platform-features-now-for-containers/

您可以定义扩展策略,以根据需求的变化来扩展和缩减您的服务(任务)。您只需设置所需的最小和最大任务数,并创建一个或多个扩展策略,服务 Auto Scaling 将负责其余的工作。服务 Auto Scaling 的文档可帮助您使用此功能。


Blox – 在基于容器的环境中,调度是将任务分配给实例的过程。ECS 为您提供三个选项:自动(通过内置的服务计划程序)、手动(通过 RunTask 函数)和自定义(通过您提供的计划程序)。Blox 是一个开源计划程序,支持每个主机一个任务模型,并留有适应将来的其他模型的空间。它监控群集的状态,非常适合运行监控代理、日志收集器和其他守护程序风格的任务。

Windows

Amazon ECS现在支持Windows容器了

https://amazonaws-china.com/blogs/aws/amazon-ecs-support-for-windows-containers-beta/

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

容器实例耗尽

如何在 Amazon ECS 中自动实现容器实例耗尽

https://amazonaws-china.com/blogs/compute/how-to-automate-container-instance-draining-in-amazon-ecs/

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

CI/CD 管道与代码

使用 AWS CodePipeline、AWS CodeBuild、Amazon ECR 和 AWS CloudFormation 对 Amazon ECS 进行持续部署

https://amazonaws-china.com/blogs/compute/continuous-deployment-to-amazon-ecs-using-aws-codepipeline-aws-codebuild-amazon-ecr-and-aws-cloudformation/

容器可简化软件部署,是 CI/CD (持续集成/持续部署) 管道的理想目标。这篇文章将指导你如何使用多个 AWS 服务构建和运行 CI/CD 管道。

CloudWatch 日志集成

CloudWatch 日志集成

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html

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

CloudWatch 事件 

使用 Amazon ECS 事件流监控群集状态

https://amazonaws-china.com/blogs/compute/monitor-cluster-state-with-amazon-ecs-event-stream/

当任务或容器实例的状态更改时,ECS 会生成 CloudWatch 事件。这些事件允许您使用 Lambda 函数监控群集的状态。要了解如何捕获事件并将其存储在 Elasticsearch 群集中,您一定不能错过这篇文章!

任务放置策略

Amazon ECS 任务放置策略简介

https://amazonaws-china.com/blogs/compute/introducing-amazon-ecs-task-placement-policies/

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

EC2 Container Service 实际运用

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

Mapbox

我们已切换到 Amazon ECS,接下来发生的事情让人难以置信

https://www.mapbox.com/blog/switch-to-ecs/

Mapbox 是用于设计和发布自定义地图的平台。该公司使用 ECS 为整个批处理架构提供技术支持,以收集和处理他们用来为其地图提供支持的每天超过 1 亿英里的传感器数据。他们还使用竞价型实例在 ECS 上优化其批处理架构。Mapbox 平台为 5,000 多个应用程序提供支持,每个月覆盖超过 2 亿的用户。它的后端运行在 ECS 上,这使它每天能够处理超过 13 亿个请求。要了解有关他们最近迁移到 ECS 的事宜的更多信息,请阅读他们最近的这篇博客文章。

Expedia

Expedia 如何使用 Amazon ECS 在生产环境中运行数以百计的应用程序

https://kuldeep.site/how-expedia-runs-hundreds-of-applications-in-production-using-amazon-ecs-398f88cdad11

旅游公司 Expedia 使用微服务架构设计了他们的后端。随着 Docker 的普及,他们决定采用 Docker 来实现更快的部署和环境可移植性。他们选择使用 ECS 来安排其所有容器,因为它与 AWS 平台完美集成,从 ALB 到 IAM 角色再到 VPC 集成,一应俱全。这使得 ECS 能够非常容易地与他们现有的 AWS 基础设施配合使用。ECS 确实减少了部署和运行容器化应用程序的繁重工作。Expedia 在 ECS 中的 AWS 上运行 75% 的应用程序,这使它每小时能够处理 40 亿个请求。请阅读 Kuldeep Chowhan 的博客文章,以了解更多信息。

Realtor.com

Realtor.com 案例研究

https://amazonaws-china.com/solutions/case-studies/realtor-com/

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

Instacart

Instacart @ AWS re:Invent 2016

https://www.youtube.com/watch?v=CtALTTjy7Qw

在AWS re:Invent 2016上,Instacart 介绍了他们如何使用 ECS 来为他们的当日杂货配送服务提供支持:

Capital One

Capital One @ AWS re:Invent 2016

https://www.youtube.com/watch?v=EbLhfiXVP6Q

同样在AWS re:Invent 2016上,Capital One 介绍了他们如何使用 ECS 实现其运营和基础设施管理自动化:

那就来上课吧!

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


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

Rack 

https://github.com/convox/rack

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

Empire

https://github.com/remind101/empire

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

Cloud Container Cluster Visualizer

https://github.com/ExpediaDotCom/c3vis

马上点击“阅读原文

持续关注更多Amazon ECS新功能!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存