配置自动扩缩组以使用权重 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

配置自动扩缩组以使用权重

您可以将自动扩缩组配置为使用权重,如以下 Amazon CLI 示例所示。有关如何使用控制台的说明,请参阅通过手动选择实例类型来创建混合实例组

配置新自动扩缩组以使用权重 (Amazon CLI)

使用 create-auto-scaling-group 命令。例如,以下命令创建一个新的自动扩缩组,并通过指定以下内容分配权重:

  • 作为按需实例启动的组的百分比 (0)

  • 每个可用区中竞价型实例的分配策略(capacity-optimized)。

  • 按优先级顺序启动(m4.16xlargem5.24xlarge)的实例类型

  • 与实例类型之间的相对大小差异 (vCPU) 相对应的实例权重(1624

  • 要在其中启动实例的子网(subnet-5ea0c127subnet-6194ea3bsubnet-c934b782),每个子网对应于不同的可用区

  • 启动模板 (my-launch-template) 和启动模板版本 ($Latest)

aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

config.json 文件包含以下代码。

{ "AutoScalingGroupName": "my-asg", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "$Latest" }, "Overrides": [ { "InstanceType": "m4.16xlarge", "WeightedCapacity": "16" }, { "InstanceType": "m5.24xlarge", "WeightedCapacity": "24" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 0, "SpotAllocationStrategy": "capacity-optimized" } }, "MinSize": 160, "MaxSize": 720, "DesiredCapacity": 480, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "Tags": [] }
配置现有自动扩缩组以使用权重 (Amazon CLI)

使用 update-auto-scaling-group 命令。例如,以下命令通过指定以下内容向现有自动扩缩组中的实例类型分配权重:

  • 按优先级顺序启动(c5.18xlargec5.24xlargec5.2xlargec5.4xlarge)的实例类型

  • 与实例类型之间的相对大小差异 (vCPU) 相对应的实例权重(182424

  • 新增加的所需容量,大于最大权重

aws autoscaling update-auto-scaling-group --cli-input-json file://~/config.json

config.json 文件包含以下代码。

{ "AutoScalingGroupName": "my-existing-asg", "MixedInstancesPolicy": { "LaunchTemplate": { "Overrides": [ { "InstanceType": "c5.18xlarge", "WeightedCapacity": "18" }, { "InstanceType": "c5.24xlarge", "WeightedCapacity": "24" }, { "InstanceType": "c5.2xlarge", "WeightedCapacity": "2" }, { "InstanceType": "c5.4xlarge", "WeightedCapacity": "4" } ] } }, "MinSize": 0, "MaxSize": 100, "DesiredCapacity": 100 }
使用命令行验证权重

使用以下命令之一: