使用 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-namemy-asg/ --pool-state Stopped
示例 2:将实例保持在 Running 状态
以下 put-warm-pool 示例创建一个暖池,它使实例保持在 Running 状态而非 Stopped 状态。
aws autoscaling put-warm-pool --auto-scaling-group-namemy-asg/ --pool-state Running
示例 3:将实例保持在 Hibernated 状态
以下 put-warm-pool 示例创建一个暖池,它使实例保持在 Hibernated 状态而非 Stopped 状态。这使您可以停止实例,而无需删除其内存内容 (RAM)。
aws autoscaling put-warm-pool --auto-scaling-group-namemy-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-namemy-asg/ --pool-stateStopped--instance-reuse-policy '{"ReuseOnScaleIn": true}'
示例 5:指定暖池中的最小实例数
以下 put-warm-pool 示例会创建一个暖池,它维护至少 4 个实例,以便至少有 4 个实例可用于处理流量峰值。
aws autoscaling put-warm-pool --auto-scaling-group-namemy-asg/ --pool-stateStopped--min-size4
示例 6:单独定义暖池的最大容量
一般来说,您了解需要将最大容量设置为超过所需容量多少。通常无需定义额外的最大容量,因为 Amazon EC2 Auto Scaling 会创建一个将根据该组所需的容量和最大容量动态调整容量的暖池。但您可以在需要时使用 --max-group-prepared-capacity 选项单独定义暖池的最大容量。
以下 put-warm-pool 示例创建了一个单独定义最大容量的个暖池。假定 Auto Scaling 组的所需容量为 800。当您运行此命令并且池正在初始化时,暖池的大小将为 100。
aws autoscaling put-warm-pool --auto-scaling-group-namemy-asg/ --pool-stateStopped--max-group-prepared-capacity900
要在暖池中保留最少数量的实例,请使用命令包含 --min-size 选项,如下所示。
aws autoscaling put-warm-pool --auto-scaling-group-namemy-asg/ --pool-stateStopped--max-group-prepared-capacity900--min-size25
示例 7:定义绝对暖池大小
如果您为 --max-group-prepared-capacity 和 --min-size 选项设置了相同的值,则暖池将具有绝对大小。以下 put-warm-pool 示例创建一个暖池,它将保持 10 个实例的恒定暖池大小。
aws autoscaling put-warm-pool --auto-scaling-group-namemy-asg/ --pool-stateStopped--min-size10--max-group-prepared-capacity10
示例 8:删除暖池
使用以下 delete-warm-pool 命令删除暖池。
aws autoscaling delete-warm-pool --auto-scaling-group-namemy-asg
如果暖池中存在实例,或者正在进行扩展活动,请使用删除暖池命令与 --force-delete 选项。此选项还将终止 Amazon EC2 实例和任何未完成的生命周期操作。
aws autoscaling delete-warm-pool --auto-scaling-group-namemy-asg--force-delete