使用创建和管理温池的示例 Amazon CLI - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用创建和管理温池的示例 Amazon CLI

您可以使用 Amazon Web Services Management Console、 Amazon Command Line Interface (Amazon CLI) 或软件开发工具包创建和管理温池。

以下示例向您演示如何使用 Amazon CLI创建和管理暖池。

示例 1:将实例保持在 Stopped 状态

以下put-warm-pool示例创建了一个使实例保持Stopped状态的温池。

aws autoscaling put-warm-pool --auto-scaling-group-name my-asg / --pool-state Stopped

示例 2:将实例保持在 Running 状态

以下put-warm-pool示例创建了一个使实例保持Running状态而不是Stopped状态的温池。

aws autoscaling put-warm-pool --auto-scaling-group-name my-asg / --pool-state Running

示例 3:将实例保持在 Hibernated 状态

以下put-warm-pool示例创建了一个使实例保持Hibernated状态而不是Stopped状态的温池。这使您可以停止实例,而无需删除其内存内容 (RAM)。

aws autoscaling put-warm-pool --auto-scaling-group-name my-asg / --pool-state Hibernated

示例 4:在横向缩减时将实例返回到暖池

以下put-warm-pool示例创建了一个使实例保持Stopped状态的温池,并包含--instance-reuse-policy选项。实例再使用策略值 '{"ReuseOnScaleIn": true}' 将在 Auto Scaling 组横向缩减时,通知 Amazon EC2 Auto Scaling 将实例返回到暖池。

aws autoscaling put-warm-pool --auto-scaling-group-name my-asg / --pool-state Stopped --instance-reuse-policy '{"ReuseOnScaleIn": true}'

示例 5:指定暖池中的最小实例数

以下put-warm-pool示例创建了一个至少维护 4 个实例的温池,因此至少有 4 个实例可用于处理流量高峰。

aws autoscaling put-warm-pool --auto-scaling-group-name my-asg / --pool-state Stopped --min-size 4

示例 6:单独定义暖池的最大容量

一般来说,您了解需要将最大容量设置为超过所需容量多少。通常无需定义额外的最大容量,因为 Amazon EC2 Auto Scaling 会创建一个将根据该组所需的容量和最大容量动态调整容量的暖池。但您可以在需要时使用 --max-group-prepared-capacity 选项单独定义暖池的最大容量。

以下put-warm-pool示例创建了一个单独定义其最大容量的温池。假定 Auto Scaling 组的所需容量为 800。当您运行此命令并且池正在初始化时,暖池的大小将为 100。

aws autoscaling put-warm-pool --auto-scaling-group-name my-asg / --pool-state Stopped --max-group-prepared-capacity 900

要在暖池中保留最少数量的实例,请使用命令包含 --min-size 选项,如下所示。

aws autoscaling put-warm-pool --auto-scaling-group-name my-asg / --pool-state Stopped --max-group-prepared-capacity 900 --min-size 25

示例 7:定义绝对暖池大小

如果您为 --max-group-prepared-capacity--min-size 选项设置了相同的值,则暖池将具有绝对大小。以下put-warm-pool示例创建了一个保持 10 个实例的恒定温池大小的温池。

aws autoscaling put-warm-pool --auto-scaling-group-name my-asg / --pool-state Stopped --min-size 10 --max-group-prepared-capacity 10

示例 8:删除暖池

使用以下delete-warm-pool命令删除温池。

aws autoscaling delete-warm-pool --auto-scaling-group-name my-asg

如果温池中有实例,或者扩展活动正在进行中,请使用带--force-delete选项的delete-warm-pool命令。此选项还将终止 Amazon EC2 实例和任何未完成的生命周期操作。

aws autoscaling delete-warm-pool --auto-scaling-group-name my-asg --force-delete