【问题标题】:How to check auto scale activity in progress prior to auto scale in AWS Java SDK如何在 AWS Java SDK 中自动扩展之前检查正在进行的自动扩展活动
【发布时间】:2019-07-16 08:25:48
【问题描述】:

我使用 AWS Java SDK 来自动扩展 ec2 实例。以下是代码sn-p。

AmazonAutoScaling client = AmazonAutoScalingClientBuilder.standard().build();
SetDesiredCapacityRequest request = new SetDesiredCapacityRequest().withAutoScalingGroupName("my-auto-scaling-group").withDesiredCapacity(2)
        .withHonorCooldown(true);
SetDesiredCapacityResult response = client.setDesiredCapacity(request);

我已将 withHonorCooldown() 设置为 true。这意味着在 AWS 启动 Ec2 实例之前,后续的自动缩放请求会被阻止。所以我的用例是,我同时向 AWS 触发了 100 个自动缩放请求,因为大多数请求都失败了。所以我的要求是检查特定 AWS 自动缩放组中当前是否有正在进行的活动。

if(!client.isAutoscaleInprogress())
    client.setDesiredCapacity(request)

【问题讨论】:

    标签: java amazon-web-services autoscaling


    【解决方案1】:
    boolean isScalingActivityInProgress(){
    AmazonAutoScaling client = AmazonAutoScalingClientBuilder.standard().build();
    DescribeScalingActivitiesRequest request = new DescribeScalingActivitiesRequest().withAutoScalingGroupName("my-auto-scaling-group");
            DescribeScalingActivitiesResult response = client .describeScalingActivities(request);
     Activity activity=response.getActivities().get(0);
     return !ScalingActivityStatusCode.Successful.name().equalsIgnoreCase(activity.getStatusCode()
    }
    

    注意: activity.getStatusCode() 返回自动缩放组的当前活动状态。

    【讨论】:

      猜你喜欢
      • 2018-08-20
      • 2013-02-06
      • 2021-04-22
      • 2019-06-22
      • 2022-12-19
      • 1970-01-01
      • 2014-08-25
      • 2021-09-17
      • 2018-05-01
      相关资源
      最近更新 更多