Amazon ec2 您可以创建自己的EC2自动缩放触发器吗?

Amazon ec2 您可以创建自己的EC2自动缩放触发器吗?,amazon-ec2,amazon-web-services,scalability,infrastructure,Amazon Ec2,Amazon Web Services,Scalability,Infrastructure,当在EC2上使用自动伸缩组时,文档称您可以根据cloudwatch指标触发新服务器。是否可以自己启动新实例 例如,一个应用程序有一个项目的内部队列,一旦该队列达到阈值,它就会向EC2发送通知,向该组添加更多服务器 可能吗 我发现答案是肯定的,相关文档在这里:为了方便用户将来访问此答案,这里有一个更详细的解释: EC2允许您根据计划或需求手动设置/更改自动缩放组的容量,如中所述 但是,术语“手动缩放”可能有点误导,因为与AWS的几乎每个方面一样,您可以手动执行的所有操作都可以通过CLI或SDK编写

当在EC2上使用自动伸缩组时,文档称您可以根据cloudwatch指标触发新服务器。是否可以自己启动新实例

例如,一个应用程序有一个项目的内部队列,一旦该队列达到阈值,它就会向EC2发送通知,向该组添加更多服务器


可能吗

我发现答案是肯定的,相关文档在这里:

为了方便用户将来访问此答案,这里有一个更详细的解释:

EC2允许您根据计划或需求手动设置/更改自动缩放组的容量,如中所述

但是,术语“手动缩放”可能有点误导,因为与AWS的几乎每个方面一样,您可以手动执行的所有操作都可以通过CLI或SDK编写脚本

在EC2自动缩放组的情况下,容量是可配置的,可以在运行时动态更改—容量的更改将导致自动添加或删除实例

因此,在这种情况下,解决方案是在应用程序代码中检测特定于应用程序的生命周期事件,并针对这些事件使用相关的AWS SDK更改自动缩放组的容量

在ruby中,这可以按如下方式完成(示例取自:

autoscaling = Aws::AutoScaling::Client.new(
  region: region_name,
  credentials: credentials
)

resp = autoscaling.set_desired_capacity(
  # required
  auto_scaling_group_name: "ResourceName",
  # required
  desired_capacity: 1,
  honor_cooldown: true,
)