为 Amazon ECS 托管实例创建容量提供程序 - Amazon Elastic Container Service

为 Amazon ECS 托管实例创建容量提供程序

Amazon ECS 托管实例使用容量提供程序来管理工作负载的计算容量。默认情况下,Amazon ECS 会提供一个默认容量提供程序,其自动选择成本最优化的通用实例类型。但是,您可以创建自定义容量提供程序来指定实例属性(例如,实例类型、CPU 制造商、加速器类型和其他要求)。

自定义容量提供程序使用基于属性的实例类型选择,允许您将实例要求表示为一组属性。这些要求会自动转换为所有匹配的 Amazon EC2 实例类型,从而简化实例类型配置的创建和维护。要了解有关实例要求和基于属性的选择的更多信息,请参阅《Amazon EC2 用户指南》中的 Amazon EC2 Fleet 基于属性的实例类型选择文档。

先决条件

开始之前,请确保您已完成以下操作:

了解如何选择实例。有关更多信息,请参阅 Amazon ECS 托管实例的实例选择最佳实践

控制台过程

为 Amazon ECS 托管实例创建容量提供程序(Amazon ECS 控制台)
  1. https://console.aws.amazon.com/ecs/v2 打开控制台。

  2. 从导航栏中,选择要使用的区域。

  3. 在导航窗格中,选择集群

  4. 集群页面上,选择您的集群名称。

  5. 在集群页面上,选择基础设施选项卡。

  6. 容量提供程序部分中,选择创建容量提供程序

  7. 容量提供程序配置下,配置以下各项:

    • 对于容量提供程序名称,输入您的容量提供程序的唯一名称。

    • 对于容量提供程序类型,选择 Amazon ECS 托管实例

  8. 实例配置下,配置以下各项:

    • 对于实例配置文件,选择为 Amazon ECS 托管实例创建的实例配置文件角色。

    • 对于基础设施角色,选择为 Amazon ECS 托管实例创建的基础设施角色。

  9. 实例要求下,为您的实例指定属性。您可以配置以下各项的任意组合:

    • vCPU 计数 - 指定 vCPU 的数量(例如,48-16 表示范围)。

    • 内存 (MiB) - 以 MiB 为单位指定内存量(例如,819216384-32768 表示范围)。

    • 实例类型 - 指定特定实例类型(例如 m5.large,m5.xlarge,c5.large)。

    • CPU 制造商 - 从 intelamdamazon-web-services 中选择。

    • 加速器类型 - 指定加速器类型,例如 gpufpgainference

    • 加速器计数 - 指定加速器的数量(例如,12-4 表示范围)。

  10. 高级配置下,选择以下监视选项之一:

    • 要让 CloudWatch 发送状态检查指标,请选择基本

    • 要让 CloudWatch 发送所有指标,请选择详细

  11. (可选)为了帮助识别您的容量提供程序,请展开标签,然后配置您的标签。

    要将标签从容量提供程序传播到托管资源(例如从容量提供程序启动的实例),对于传播以下来源的标签,请选择容量提供程序

    [添加标签] 选择 Add tag(添加标签),然后执行以下操作:

    • 对于 Key(键),输入键名称。

    • 对于,输入键值。

  12. 选择创建

AWS CLI 过程

您可以使用 AWS CLI 为 Amazon ECS 托管实例创建容量提供程序。使用最新版本的 AWS CLI。有关如何升级到最新版本的更多信息,请参阅 Installing or updating to the latest version of the AWS CLI

为 Amazon ECS 托管实例创建容量提供程序 (AWS CLI)
  1. 运行以下命令:

    aws ecs create-capacity-provider --cli-input-json file://capacity-provider-definition.json

    以下 capacity-provider-definition.json 可用于指定基本实例要求、实例存储大小并启用标签传播:

    { "name": "my-managed-instances-provider", "cluster": "my-cluster", "tags": [ { "key": "version", "value": "test" } ], "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole", "instanceRequirements": { "vCpuCount": { "min": 4, "max": 8 }, "memoryMiB": { "min": 8192, "max": 16384 } }, "networkConfiguration": { "subnets": [ "subnet-abcdef01234567", "subnet-bcdefa98765432" ], "securityGroups": [ "sg-0123456789abcdef" ] }, "storageConfiguration": { "storageSizeGiB": 100 }, "monitoring": "basic" }, "propagateTags": "CAPACITY_PROVIDER" } }
  2. 验证是否已成功创建容量提供程序:

    aws ecs describe-capacity-providers \ --capacity-providers my-managed-instances-provider

后续步骤

创建容量提供程序后,您可以在创建服务或运行任务时使用该容量提供程序: