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

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

您可以使用 Amazon Web Services Management Console、Amazon Command Line Interface (Amazon CLI) 或 SDK 创建和管理暖池。

以下示例向您演示如何使用 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 选项。此选项还将终止 Amazon EC2 实例和任何未完成的生命周期操作。

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