使用 AWS CLI 创建和管理暖池的示例 - Amazon EC2 Auto Scaling

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

您可以使用 AWS 管理控制台、AWS Command Line Interface (AWS CLI) 或 SDK 创建和管理暖池。

以下示例向您演示如何使用 AWS 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