Fargate 入门 - AWS Batch

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Fargate 入门

AWS Fargate 启动并扩展计算以紧密匹配您为容器指定的资源需求。有了 Fargate,您无需过度配置或为额外的服务器付费。有关更多信息,请参阅 Fargate

创建计算环境

要为 Fargate 编排创建计算环境,请执行以下操作:

  1. 打开 AWS Batch 控制台首次运行向导

  2. 选择编排类型中,选择 Fargate

  3. 选择下一步

  4. 名称计算环境配置部分,为您的计算环境指定唯一名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。

  5. (可选)标签是为资源分配的标记。要添加标签,请展开标签,然后选择添加标签。输入一个键值对,然后再次选择添加标签

    重要

    如果选择添加标签,则必须输入键值对,然后再次选择添加标签或选择移除标签

  6. (可选)在使用 Fargate Spot 容量实例配置部分,打开使用竞价型实例启用

  7. 对于vCPU 的最大数量,请输入实例可以使用的最大 vCPU 数量。

  8. 网络配置部分:

    1. 对于虚拟私有云(VPC)ID,选择一个 Amazon VPC。

    2. 对于子网,将列出您的 AWS 账户 子网。如果要创建一组自定义子网,请选择清除子网,然后选择所需的子网。

      重要

      计算资源必须通过 VPC 端点或多个公有 IP 地址与 Amazon ECS VPC 端点通信。有关更多信息,请参阅 Amazon ECS 接口 VPC 端点 (AWS PrivateLink)。如果您的实例未配置VPC 端点或公有 IP 地址,则可以使用网络地址转换(NATI)。有关 NAT 的更多信息,请参阅 NAT 网关以及 创建虚拟私有云

    3. 对于安全组,选择要与实例关联的 Amazon EC2 安全组。如果要创建一组自定义的安全组,请选择清除安全组。然后,选择您想要的安全组。

  9. 选择下一步

创建作业队列

任务队列会存储您提交的作业,直到 AWS Batch 调度器在您的计算环境中的资源上运行该作业。若要创建作业队列:

要为 Fargate 编排创建作业队列,请执行以下操作:

  1. 作业队列配置部分的名称中,为您的计算环境指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。

  2. 优先级中,为作业队列输入 0 到 100 之间的整数。

    重要

    AWS Batch 调度器会为较大的整数值分配更高的优先级。

  3. 选择下一步

创建任务定义

创建作业定义:

  1. 常规配置部分:

    1. 名称中,输入自定义作业定义名称。

      名称常规配置部分,为您的计算环境指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。

    2. (可选)在执行超时中,输入终止未完成作业后的持续时间(以秒为单位)。

      重要

      最小超时值为 60 秒。

    3. (可选)标签是为资源分配的标记。要添加标签,请展开标签,然后选择添加标签。输入一个键值对,然后再次选择添加标签

      重要

      如果选择添加标签,则必须输入键值对,然后再次选择添加标签或选择移除标签

    4. (可选)开启传播标签以将标签传播到 Amazon Elastic Container Service 任务。

  2. Fargate 平台配置部分中:

    1. (可选)对于 Fargate 平台版本,请输入所需的特定运行时环境。

    2. 对于运行时平台,请选择 LINUXWindows

    3. (仅限 Windows)对于操作系统系列,请选择一个操作系统。

    4. 对于 CPU 架构,请选择所需的 CPU 架构。

    5. (可选)开启分配公有 IP 以分配公有 IP 地址。

    6. 对于临时存储,请输入所需的临时存储量。

      注意

      默认情况下,使用 20 GiB 的临时存储空间。要使用额外的临时存储空间,请输入介于 21 GiB 和 100 GiB 之间的值。

    7. 对于执行角色,请选择允许亚马逊弹性容器服务 (Amazon ECS) 代理代表 AWS 您拨打电话的任务执行角色。例如,您可以选择 “ecsTaskExecution角色”。

  3. 容器配置部分:

    1. 映像中,输入用于启动容器的映像的名称。默认情况下,Docker Hub 注册表中的所有映像均可用。您也可以使用 repository-url/image:tag 格式指定其他存储库。该参数最长可包含 255 个字符。可以包含大小写字母、数字、连字符(-)、下划线(_)、冒号(:)、句点(.)、正斜杠(/)和数字符号(#)。此参数可映射到 Docker Remote API创建容器部分中的 Imagedocker runIMAGE 参数。

      注意

      Docker 映像架构必须与为它们安排的计算资源的处理器架构相匹配。例如,基于 Arm 的 Docker 映像只能在基于Arm的计算资源上运行。

      • Amazon ECR 公有存储库中的映像使用完整的registry/repository[:tag]registry/repository[@digest]命名惯例(例如,public.ecr.aws/registry_alias/my-web-app:latest)。

      • Amazon ECR 存储库中的映像使用完整的registry/repository:tag命名惯例(例如,aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest)。

      • Docker Hub 上的官方存储库中的映像使用一个名称 (例如,ubuntumongo)。

      • Docker Hub 上其他存储库中的映像通过组织名称 (例如,amazon/amazon-ecs-agent) 进行限定。

      • 其他在线存储库中的映像由域名 (例如,quay.io/assemblyline/ubuntu) 进行进一步限定。

    2. 对于 Command,指定要传递到容器的命令。此参数映射到 Docker Remote API 创建容器部分中的Cmd,以及docker runCOMMAND参数。有关 Docker CMD参数的更多信息,请参阅 https://docs.docker.com/engine/reference/builder/#cmd

      注意

      您可以在命令中使用参数替代默认值和占位符。有关更多信息,请参阅 参数

      提示

      选择信息以查看 Bash 和 JSON 代码示例。

    3. (可选)您可以将参数作为键值映射添加到作业定义中,以覆盖作业定义的默认值。若要添加参数:

      1. 对于参数,选择添加参数。输入键值对,然后再次选择添加参数

        重要

        如果选择添加参数,则必须至少配置一个参数或选择移除参数

    4. (可选)在 Job 角色配置的环境配置部分,选择一个提供使用 AWS API 权限的 IAM 角色。

    5. vCPU环境配置部分中,指定要为容器预留的 vCPU 数量。此参数将映射到 Docker Remote API创建容器部分中的CpuShares以及docker run--cpu-shares选项。每个 vCPU 相当于 1024 个 CPU 份额。

    6. 对于内存,指定要提供给作业容器的内存硬限制 (以 MiB 为单位)。如果您的容器尝试使用超出此处指定的内存,该容器将被终止。此参数将映射到 Docker Remote API创建容器部分中的Memory以及docker run--memory选项。

    7. (可选)对于环境变量,请选择添加环境变量以添加要传递到容器的环境变量。此参数将映射到 Docker Remote API创建容器部分中的Env以及docker run--env选项。

  4. 选择下一步

创建作业

要创建 Fargate 作业,请执行以下操作:

  1. 作业配置部分的名称中,为该作业指定一个唯一的名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符(-)和下划线(_)。

  2. 选择下一步

审核和创建

查看和创建页面上,检查配置步骤。如果需要进行更改,请选择 Edit(编辑)。完成后,选择创建资源