本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用 Amazon Batch 以及使用向导的 Amazon ECS 托管实例
亚马逊 ECS 托管实例提供完全托管的 Amazon EC2 容量,与 Fargate 相比具有更高的计算灵活性,包括 GPU 实例、裸机和任意 vCPU/memory组合。Amazon ECS 代表您处理实例配置、扩展和终止。有关更多信息,请参阅 Amazon ECS 托管实例计算环境。
概述
本教程演示如何使用向导 Amazon Batch 进行设置以配置 Amazon ECS 托管实例并运行Hello World。
- 目标受众
-
如果您设置、测试或部署 Amazon Batch 工作负载,则本教程适合您。
- 使用的功能
-
本教程向您展示如何使用 Amazon Batch 控制台向导来:
-
创建和配置 Amazon ECS 托管实例计算环境
-
创建作业队列
-
创建任务定义
-
创建并提交要运行的作业
-
在中查看作业的输出 CloudWatch
-
- 所需时间
-
完成本教程大约需要 10—15 分钟。
- 区域限制
-
使用此解决方案没有任何国家/地区或区域限制。
- 资源使用成本
-
创建 Amazon 账户不收取任何费用。但是,通过实施此解决方案,您可能会产生下表中列出的部分或全部费用。
说明 费用(美元) 定价基于亚马逊 ECS 托管实例启动的亚马逊 EC2 实例类型。对于预置的实例,您需要按标准 Amazon EC2 On-Demand 或现货定价向您收费。 有关定价的更多信息,请参阅 Amazon EC2 定价 。
先决条件
开始前的准备工作:
-
Amazon Web Services 账户 如果你没有,请创建一个。
-
创建 Amazon ECS 基础设施角色——一个具有信任策略的 IAM 角色
ecs.amazonaws.com。有关更多信息,请参阅《亚马逊弹性容器服务开发人员指南》中的 A mazon ECS 基础设施 IAM 角色。 -
创建一个 Amazon EC2 实例配置文件,该配置文件使用托
AmazonECSInstanceRolePolicyForManagedInstances管策略和的信任策略ec2.amazonaws.com。 -
您的 IAM 委托人必须具有基础设施角色的
iam:PassRole权限,条件为iam:PassedToService: ecs.amazonaws.com。 -
一个 VPC,其子网具有出站互联网访问权限(公有 IP 分配或 NAT 网关)。
-
创建 Amazon ECS 任务执行角色——具有
AmazonECSTaskExecutionRolePolicy托管策略和信任策略的 IAM 角色ecs-tasks.amazonaws.com。此角色允许亚马逊 ECS 代理代表您 Amazon 拨打电话,例如从 Amazon ECR 提取容器镜像。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 Amazon ECS 任务执行 IAM 角色。
第 1 步:创建计算环境
重要
本教程包含的步骤均使用默认设置,以助您尽可能简单快速地入门。在创建用于生产用途之前,我们建议您熟悉所有设置。使用符合您要求的设置进行部署。
要为 Amazon ECS 托管实例创建计算环境,请执行以下操作:
-
对于配置任务和编排类型,选择 ECS 托管实例。
-
选择下一步。
-
在名称的计算环境配置部分,为您的计算环境指定唯一名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。
-
对于基础设施角色,选择您在先决条件中创建的 Amazon ECS 基础设施角色。
-
对于实例配置文件,选择您在先决条件中创建的 Amazon EC2 实例配置文件。
-
对于最大 vCPU,输入计算环境可以扩展到的最大 vCPU 数量。默认值为 256。
-
对于子网,选择 Amazon ECS 启动托管实例的一个或多个子网。子网必须具有出站互联网访问权限(公有 IP 分配或 NAT 网关)。
-
对于安全组,选择一个或多个与托管实例关联的安全组。
-
注意
对于所有其他配置选项,您可以保留默认值。
选择下一步。
第 2 步:创建作业队列
作业队列会存储您提交的作业,直到 Amazon Batch 调度器在计算环境中的资源上运行作业为止。若要创建作业队列:
-
在 “名称” 的 “作业队列配置” 部分中,为您的任务队列指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。
-
在优先级中,为作业队列输入 900。
-
注意
对于所有其他配置选项,您可以保留默认值。
选择下一步。
步骤 3:创建任务定义
创建作业定义:
-
在常规配置部分:
-
在 “名称” 中,为您的作业定义指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。
-
-
在容器配置部分:
-
对于图像,保留默认
public.ecr.aws/amazonlinux/amazonlinux:2023图像或指定自己的容器镜像。 -
对于命令,您可以将
hello world更改为某个自定义消息,也可保留原样。 -
对于 vCPU,指定容器的 vCPU 数量。默认为 1。
-
对于内存,指定容器的内存量(以 MiB 为单位)。默认值为 2048。
-
-
对于执行角色,选择一个任务执行角色,允许 Amazon ECS 代理代表您 Amazon 拨打电话,例如从 Amazon ECR 提取容器镜像。
-
注意
对于所有其他配置选项,您可以保留默认值。
选择下一步。
第 4 步:创建作业
要创建作业,请执行以下操作:
-
在作业配置部分的名称中,为该作业指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。
-
注意
对于所有其他配置选项,您可以保留默认值。
选择下一步。
第 5 步:审核并创建
在查看和创建页面上,检查配置步骤。如果需要进行更改,请选择 Edit(编辑)。完成后,选择创建资源。
第 6 步:查看作业的输出
要查看作业的输出,请执行以下操作:
-
在导航窗格中,选择作业。
-
在作业队列下拉列表中,选择您为本教程创建的任务队列。
-
任务表列出了您的所有任务及其当前状态。在任务的状态为成功后,选择任务名称以查看其详细信息。
-
在详细信息窗格中,选择日志流名称。任务 CloudWatch 控制台将打开,并且应该有一个包含消息
hello world或您的自定义消息的事件。
注意
首次启动实例时,Amazon ECS 托管实例可能需要几分钟才能预置容量。这是预期的行为——当实例已经可用时,后续任务通常会更快地启动。
第 7 步:清理教程资源
在 Amazon EC2 实例运行期间,您需要为其付费。您可以删除资源以停止产生费用。
要删除您创建的资源,请执行以下操作:
-
在导航窗格中,选择作业队列。
-
在作业队列表中,选择您为本教程创建的作业队列。
-
选择禁用。在 “任务队列状态” 变为 “禁用” 后,您可以选择删除。
-
删除任务队列后,在导航窗格中选择计算环境。
-
选择您为本教程创建的计算环境,然后选择禁用。计算环境可能需要 1—2 分钟才能完全禁用。
-
计算环境的 “状态” 变为 “禁用” 后,选择删除。删除计算环境可能需要 1—2 分钟。
其他资源
完成本教程后,您可以探索以下主题:
-
了解有关 Amazon ECS 托管实例计算环境 的更多信息。
-
详细了解最佳实践。
-
探索 Amazon Batch 核心组件。有关更多信息,请参阅 的组件 Amazon Batch。
-
详细了解 Amazon Batch支持的各种计算环境。
-
详细了解作业队列及其各种调度选项。
-
详细了解作业定义以及各种配置选项。