使用新控制台创建任务定义 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用新控制台创建任务定义

使用新的 Amazon ECS 控制台体验创建任务定义。为了使任务定义创建过程尽可能简单,控制台对许多选项进行了原定设置选择,我们将在下面介绍这些选项。控制台中的大多数部分还提供了帮助面板,以提供进一步的上下文。

要创建新的任务定义(新的 Amazon ECS 控制台)

  1. https://console.aws.amazon.com/ecs/v2 中打开新控制台。

  2. 在导航窗格中,依次选择 Task definitions(任务定义)和 Create new task definition(创建新任务定义)。

  3. 对于Task definition family(任务定义系列)中,为任务定义指定唯一名称。

  4. 对于在您的任务定义中定义的每个容器,请完成以下步骤。

    1. 对于 Name(名称),指定容器的名称。

    2. 对于 Image URI(映像 URI),指定用于启动容器的映像。Amazon ECR Amazon ECR Public Gallery 注册表中的映像只能使用 Amazon ECR 公有注册表名称来指定。例如,如果 public.ecr.aws/ecs/amazon-ecs-agent:latest 已指定,则使用 Amazon ECR Public Gallery 上托管的 Amazon Linux 容器。对于所有其他存储库,请使用 repository-url/image:tagrepository-url/image@digest 格式指定存储库。

    3. 对于Essential container(关键容器),如果您的任务定义中定义了两个或更多容器,则可以指定是否应将该容器视为关键容器。如果容器被标记为essential(关键),如果该容器停止,那么任务将停止。每个任务定义都必须至少包含一个关键容器。

    4. 端口映射可让容器访问主机容器上的端口以发送或接收流量。在 Port mappings(端口映射)下,请执行以下操作之一:

      • 当您使用 awsvpc 网络模式时,对于 Container port(容器端口)和 Protocol(协议),指定要用于容器的端口映射。

      • 当您使用 bridge 网络模式时,对于 Container port(容器端口)和 Protocol(协议),指定要用于容器的端口映射。您选择下一页上的 bridge 网络模式。选择它之后,选择 Previous(上一个),然后为 Host port(主机端口),指定要为容器预留的容器实例上的端口号。

      选择 Add more port mappings(添加更多端口映射)以指定其他容器端口映射。

    5. 展开 Environment variables(环境变量)部分来指定要注入到容器中的环境变量。您可以使用键值对单独指定环境变量,也可以通过指定 Amazon S3 存储桶中托管的环境变量文件来批量指定环境变量。有关如何设置环境变量文件的格式的信息,请参阅 将环境变量传递给容器

    6. (可选)选择 Add more containers(添加更多容器)将其他容器添加到任务定义。一旦定义了所有容器,即选择 Next(下一步)。

  5. 对于应用程序环境,选择 Amazon Fargate(无服务器)Amazon EC2 实例,或此两者。Amazon ECS 使用此值执行验证,以确保任务定义参数对基础设施类型有效。

  6. 对于操作系统/架构,为任务选择操作系统和 CPU 架构。

    要在 64 位 ARM 架构上运行任务,请选择 Linux/ARM64。有关更多信息,请参阅运行时平台

    要在 Windows 容器上运行您的 Amazon Fargate(无服务器)任务,请选择受支持的 Windows 操作系统。有关更多信息,请参阅任务操作系统

  7. 对于Task size(任务大小),指定要为任务预留的 CPU 和内存值。CPU 值指定为 vCPU,内存指定为 GB。

    对于 Fargate 上托管的任务,下表显示了有效的 CPU 和内存组合。

    CPU 值

    内存值

    Amazon Fargate 支持的操作系统

    256 (.25 vCPU)

    512MiB、1GB、2GB

    Linux

    512 (.5 vCPU)

    1GB、2GB、3GB、4GB

    Linux

    1024 (1 vCPU)

    2GB、3GB、4GB、5GB、6GB、7GB、8GB

    Linux、Windows

    2048 (2 vCPU)

    4GB 到 16GB 之间 (以 1GB 为增量)

    Linux、Windows

    4096 (4 vCPU)

    8GB 到 30GB 之间 (以 1GB 为增量)

    Linux、Windows

    8192 (8 vCPU)

    注意

    此选项需要 Linux 平台 1.4.0 或更高版本。

    16 GB 到 60 GB 之间(以 4 GB 为增量)

    Linux

    16384 (16vCPU)

    注意

    此选项需要 Linux 平台 1.4.0 或更高版本。

    32 GB 到 120 GB 之间(以 8 GB 为增量)

    Linux

    对于 Amazon EC2 上托管的任务,受支持的任务 CPU 值介于 128 个 CPU 单元(0.125 个 vCPU)和 10240 个 CPU 单元(10 个 vCPU)之间。

    注意

    Windows 容器将忽略任务级 CPU 和内存参数。

  8. 展开 Container size(容器大小)部分,以指定要向容器显示的内存量(以 GB 为单位)以及 Amazon ECS 容器代理将为该容器预留的 CPU 单位的数量。

    如果您的容器尝试使用超出指定的内存,该容器将被终止。为任务中的所有容器预留的内存总量必须低于任务 Memory(内存)值(如果指定了一个)。

    为任务中的所有容器预留的 CPU 总量必须低于任务级的 CPU 值。

    您可以将指定值乘以 1024,以确定每个 Amazon EC2 实例类型可用的 CPU 单元数。例如,t3 nano 实例的值为 2048。有关更多信息,请参阅 Amazon EC2 实例

  9. (可选)展开 Task roles, network mode(任务角色、网络模式)部分指定以下内容:

    1. 对于Task role(任务角色),选择要分配到任务的 IAM 角色。任务 IAM 角色为要调用 Amazon 的任务中的容器提供权限。

    2. 对于 Network mode(网络模式),选择要使用的网络模式。默认值为 awsvpc 模式。有关更多信息,请参阅 Amazon ECS 任务联网

      如果您为网络模式选择 bridge,请选择 Previous(上一个),然后在 Port mappings(端口映射),对于主机端口,指定要为容器预留的容器实例上的端口号。

  10. (可选)Storage(存储)部分用于扩展 Fargate 上托管的任务的短暂存储量,以及为该任务添加数据卷配置。

    1. 对于 Amount(量),将可用的短暂存储扩展到超出您的 Fargate 任务的默认值 20 GiB,请指定一个最高为 200 GiB 的值。

  11. (可选)选择 Add volume(添加卷)为任务添加数据卷配置。对于每个数据卷,请完成以下步骤。

    1. 对于 Volume type(卷类型),选择 Bind mount(绑定挂载)。

    2. 对于 Volume name(卷名称),指定数据卷的名称。在后面的步骤中创建容器挂载点时,将使用数据卷名称。

    3. 展开 Container mount points(容器挂载点)部分并选择 Add(添加)。

    4. 对于 Container(容器),选择挂载点的容器。

    5. 对于 Source volume(源卷),选择要挂载到容器的数据卷。

    6. 对于 Container path(容器路径),输入挂载卷的容器上的路径。

    7. 对于 Read only(只读),指定是否使卷只读。

    8. 选择 Add(添加)以添加额外的挂载点,直到任务定义中定义的每个数据卷都定义了一个挂载点。

  12. (可选)选择 Use log collection(使用日志收集)选项来指定日志配置。对于每个可用的日志驱动程序,都有日志驱动程序选项要指定。默认选项将容器日志发送到 CloudWatch Logs。其他日志驱动程序选项都使用 Amazon FireLens 进行配置。有关更多信息,请参阅自定义日志路由

    下面更详细地介绍了每个容器日志目标。

    • Amazon CloudWatch — 将任务配置为将容器日志发送到 CloudWatch Logs。提供了默认的日志驱动程序选项,用于代表您创建 CloudWatch 日志组。要指定其他日志组名称,请更改驱动程序选项值。

    • Amazon Kinesis Data Firehose — 将任务配置为将容器日志发送到 Kinesis Data Firehose。提供了默认的日志驱动程序选项,该选项将日志发送到 Kinesis Data Firehose 传输流。要指定其他传输流名称,请更改驱动程序选项值。

    • Amazon Kinesis Data Streams — 将任务配置为将容器日志发送到 Kinesis Data Streams。提供了默认的日志驱动程序选项,该选项将日志发送到 Kinesis Data Streams 流。要指定其他传输流名称,请更改驱动程序选项值。

    • Amazon OpenSearch Service — 将任务配置为将容器日志发送到 OpenSearch Service 域。必须提供日志驱动程序选项。有关更多信息,请参阅将日志转发到 Amazon OpenSearch Service 域

    • Amazon S3 — 将任务配置为将容器日志发送到 Amazon S3 存储桶。提供了默认的日志驱动程序选项,但您必须指定有效的 Amazon S3 存储桶名称。

  13. (可选)选择 Use trace collection(使用跟踪收集)选项,用于配置任务以将跟踪数据从应用程序路由到 Amazon X-Ray。选择此选项后,Amazon ECS 会创建 Amazon Distro for OpenTelemetry 容器附加,该附加已预先配置为发送跟踪数据。有关更多信息,请参阅收集应用程序跟踪数据

    重要

    当启用跟踪收集时,您的任务定义需要具有所需权限的任务 IAM 角色。有关更多信息,请参阅Amazon Distro for OpenTelemetry 与 Amazon X-Ray 集成所需的 IAM 权限

  14. (可选)选择 Use metric collection(使用指标收集)选项可收集任务的指标并将其发送到 Amazon CloudWatch 或 Amazon Managed Service for Prometheus。选择此选项后,Amazon ECS 会创建 Amazon Distro for OpenTelemetry 容器附加,该附加已预先配置为发送应用程序指标。有关更多信息,请参阅收集应用程序指标

    1. 选中 Amazon CloudWatch 后,您的自定义应用程序指标将作为自定义指标路由到 CloudWatch。有关更多信息,请参阅将应用程序指标导出到 Amazon CloudWatch

      重要

      将应用程序指标导出到 Amazon CloudWatch 时,您的任务定义需要具有所需权限的任务 IAM 角色。有关更多信息,请参阅Amazon Distro for OpenTelemetry 与 Amazon CloudWatch 集成所需的 IAM 权限

    2. 当选中 Amazon Managed Service for Prometheus(Prometheus 库分析)时,您的任务级 CPU、内存、网络和存储指标以及自定义应用程序指标都将路由到 Amazon Managed Service for Prometheus。对于 Workspace remote write endpoint(工作空间远程写入终端节点),为 Prometheus 工作空间指定远程写入终端节点 URL。对于 Scraping target(抓取目标),指定 Amazon Distro for OpenTelemetry collector 可用来抓取指标数据的主机和端口。有关更多信息,请参阅将应用程序指标导出到 Amazon Managed Service for Prometheus

      重要

      将应用程序指标导出到 Amazon Managed Service for Prometheus 时,您的任务定义需要具有所需权限的任务 IAM 角色。有关更多信息,请参阅Amazon Distro for OpenTelemetry 与 Amazon Managed Service for Prometheus 集成所需的 IAM 权限

    3. 当选中 Amazon Managed Service for Prometheus(OpenTelemetry 库分析)时,您的任务级 CPU、内存、网络和存储指标以及自定义应用程序指标都将路由到 Amazon Managed Service for Prometheus。对于 Workspace remote write endpoint(工作空间远程写入终端节点),为 Prometheus 工作空间指定远程写入终端节点 URL。有关更多信息,请参阅将应用程序指标导出到 Amazon Managed Service for Prometheus

      重要

      将应用程序指标导出到 Amazon Managed Service for Prometheus 时,您的任务定义需要具有所需权限的任务 IAM 角色。有关更多信息,请参阅Amazon Distro for OpenTelemetry 与 Amazon Managed Service for Prometheus 集成所需的 IAM 权限

  15. (可选)展开 Tags(标签)部分将标签(作为键值对)添加到任务定义中。

  16. 选择 Next(下一步)以查看任务定义。

  17. Review and create(审核和创建)页面上,查看每个任务定义部分。选择 Edit (编辑) 以进行更改。任务定义完成后,选择 Create(创建)以注册任务定义。