AWS::ECS::CapacityProvider - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::ECS::CapacityProvider

AWS::ECS::CapacityProvider 资源创建 Amazon Elastic Container Service (Amazon ECS) 容量提供程序。容量提供程序与 Amazon ECS 集群关联,在容量提供程序策略中用于协助集群的自动扩展。

只能创建使用 Auto Scaling 组的容量提供程序。AWS Fargate 上的 Amazon ECS 任务使用 FARGATEFARGATE_SPOT 容量提供程序,这些提供程序已在 AWS Fargate 所支持区域的所有账户中创建且可供使用。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::ECS::CapacityProvider", "Properties" : { "AutoScalingGroupProvider" : AutoScalingGroupProvider, "Name" : String, "Tags" : [ Tag, ... ] } }

YAML

Type: AWS::ECS::CapacityProvider Properties: AutoScalingGroupProvider: AutoScalingGroupProvider Name: String Tags: - Tag

属性

AutoScalingGroupProvider

容量提供程序的 Auto Scaling 组设置。

必需:是

类型AutoScalingGroupProvider

Update requires: Replacement

Name

容量提供程序的名称。

必需:否

类型:字符串

Update requires: Replacement

Tags

应用到容量提供程序以帮助您对其进行分类和组织的元数据。每个标签都包含您定义的一个键和一个可选值。

下面是适用于标签的基本限制:

  • 每个资源的最大标签数 - 50

  • 对于每个资源,每个标签键都必须是唯一的,每个标签键只能有一个值。

  • 最大键长度 - 128 个 Unicode 字符(采用 UTF-8 格式)

  • 最大值长度 - 256 个 Unicode 字符(采用 UTF-8 格式)

  • 如果您的标记方案针对多个服务和资源使用,请记得其他服务可能对允许使用的字符有限制。通常允许使用的字符包括:可用 UTF-8 格式表示的字母、数字和空格,以及以下字符:+ - = . _ : / @。

  • 标签键和值区分大小写。

  • 请不要使用 aws:AWS: 或任何大写或小写组合(例如,键或值的前缀),因为它将保留以供 AWS 使用。您无法编辑或删除带此前缀的标签键或值。具有此前缀的标签不计入每个资源的标签数限制。

必需:否

类型Tag 的列表

最高50

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 资源名称。

在以下示例中,Ref 函数将返回容量提供程序的名称,例如 MyStack-MyCapacityProvider-JrwYBzxovGfr

{ "Ref": "MyCapacityProvider" }

For more information about using the Ref function, see Ref.

示例

创建 Amazon ECS 容量提供程序

以下示例创建一个使用 Auto Scaling 组的容量提供程序 MyAutoScalingGroup,并启用了托管扩展和托管终止保护。此配置用于 Amazon ECS 集群自动扩展。

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "ECSCapacityProvider": { "Type": "AWS::ECS::CapacityProvider", "Properties": { "AutoScalingGroupProvider": { "AutoScalingGroupArn": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup", "ManagedScaling": { "MaximumScalingStepSize": 10, "MinimumScalingStepSize": 1, "Status": "ENABLED", "TargetCapacity": 100 }, "ManagedTerminationProtection": "ENABLED" }, "Tags": [ { "Key": "environment", "Value": "production" } ] } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Resources: ECSCapacityProvider: Type: AWS::ECS::CapacityProvider Properties: AutoScalingGroupProvider: AutoScalingGroupArn: arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup ManagedScaling: MaximumScalingStepSize: 10 MinimumScalingStepSize: 1 Status: ENABLED TargetCapacity: 100 ManagedTerminationProtection: ENABLED Tags: - Key: environment Value: production