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

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

您可以使用 Amazon Web Services 管理控制台、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 示例创建一个暖池,并设置在暖池和自动扩缩组中可以同时存在的最大实例数。如果组的所需容量为 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