亚马逊AWS官方博客

AWS Fargate 简介 – 运行容器无需管理基础设施

容器是开发人员用来开发、封装和部署其应用程序的一种强大方法。AWS 每周启动超过十万 ECS 群集和数亿新容器。这相当于从 2016 年以来实现了超过 400% 的客户增长。Amazon ECS 和 Kubernetes 这样的容器编排解决方案让部署、管理和扩展这些容器工作负载变得更简单,从而增强敏捷性。但是,如果使用这些容器管理解决方案中的任何一个,您都仍然要负责底层基础设施的可用性、容量和维护。AWS 从中发现机会,致力于消除部分重复性的繁重工作。我们希望您能充分利用容器提供的速度、敏捷性和不变性,集中精力构建应用程序,而不必管理基础设施。

AWS Fargate

AWS Fargate 是一种在 AWS 上部署容器的简单方法。简单地说,Fargate 像 EC2,只是它提供的是容器而不是虚拟机。通过这种技术,您可将容器用作基础计算基元,而不必管理基础实例。您只需构建容器映像,指定 CPU 和内存要求,定义联网和 IAM 策略,以及启动。Fargate 提供灵活的配置选项,可以极为一致地满足应用程序需求,计费可精确到秒。

最大的好处?您仍然可以使用所有相同的 ECS 基元、API 和 AWS 集成。Fargate 提供与 Amazon Virtual Private CloudAWS Identity and Access Management (IAM)Amazon CloudWatch 和负载均衡器的原生集成。Fargate 任务使用 AWSVPC 联网模式,在 VPC 中配置弹性网络接口 (ENI) 与资源安全通信。通过 AWS 命令行界面 (CLI) 启动 Fargate 任务非常简单。

ecs run-task --launch-type FARGATE --cluster BlogCluster --task-definition blog --network-configuration "awsvpcConfiguration={subnets=[subnet-b563fcd3]}"

使用该控制台来创建任务定义和运行 Fargate 启动类型的任务也很简单。

启动一些任务之后,可以看到它们在群集中运行。

可以看到 ECS 群集是异构的。它们可以包含在 Fargate 中和 EC2 上运行的任务。

如果深入看看其中某个任务,可以看到一些有用的信息,包括 Fargate 在 VPC 中配置的 ENI 以及该任务使用的所有容器。使用记录选项卡也可以方便访问 CloudWatch Logs 以查看该任务的相关信息。

我们介绍一下 Fargate 的配置选项和定价详情。

定价

AWS Fargate 使用按需定价模型。应用程序使用的 vCPU 和内存资源量是按秒计费的。每个 vCPU 的价格是 0.00084333 USD/秒 (0.0506 USD/小时),每 GB 内存的价格是 0.00021167 USD/秒 (0.0127 USD/小时)。使用 Fargate,您可以对 vCPU 和内存使用 50 个配置选项来支持各种工作负载。配置选项如下。

CPU (vCPU) 内存值 (GB)
0.25 0.5、1、2
0.5 1、2、3
1 最小2GB,最大8GB,以 1GB 为增量
2 最小4GB,最大16GB,以 1GB 为增量
4 最小8GB,最大30GB,以 1GB 为增量

需知信息

  • 您可以将 Fargate 配置为高度一致地满足应用程序的资源要求,仅为容器所需的资源付费。您可以在几秒钟内启动数十个到数万个容器。
  • Fargate 任务的运行方式与在 EC2 上运行的任务相似。您可以将它们添加到 VPC、配置负载均衡器和分配 IAM 角色。

关于路线图

我不能透露所有信息,不过对于 AWS Fargate,我们有非常令人激动的路线图。我们计划在 2018 年使用 Amazon EKS 支持在 Fargate 上启动容器。与往常一样,我们期待您提供反馈。请在 Amazon ECS 论坛留言,告诉我们您的想法。

Fargate 今天在美国东部 (弗吉尼亚北部) 区域发布。

Randall