updateAutoScalingGroup

Prev Next

概要

Auto Scaling Group修正

説明

指定されたAuto Scaling Groupを更新します。 指定されたパラメータに該当する属性のみ、その値が変更され、伝達されてないパラメータに該当する属性は既存の値のままに残ります。このアクション(Action)の呼び出しによってminSize、desiredCapacityまたはmaxSizeが変更されても、その大小関係は続けてmaxSize >= desiredCapacity >= minSizeのように維持される必要があります
zoneNoListが変わるとzone rebalancingが発生します。

このアクション(Action)の呼び出しによって新しいLaunch Configurationが指定されると、その後からサーバインスタンスが作成される時に効果が表れます。
Auto Scaling Groupを、現在scaling actionが行われている状態で呼び出すとエラー(コード50160)になります。

i ) minSizeは指定されたが、desiredCapacityが指定されてない時、新しいminSize値がAuto Scaling Groupの現在サイズより大きいと、暗示的にsetDesiredCapacityが呼び出されて、グループサイズが新しいminSizeに設定されます。

ii ) maxSizeは指定されたが、desiredCapacityが指定されてない時、新しいmaxSize値がAuto Scaling Groupの現在サイズより小さいと、暗示的にsetDesiredCapacityが呼び出されて、グループサイズが新しいmaxSizeに設定されます。

iii) リクエストする時に、伝達されなかった選択的なパラメータはすべて既存の値のままに残ります。選択的パラメータがなにも伝達されないと、どの属性値も変更されません。(エラーにはなりません。)

リクエストパラメータ

パラメータ名 必須 タイプ 制約事項 説明
autoScalingGroupName Yes String Min : 1, Max : 255 照会しようとするAuto Scaling Group名を入力します。
launchConfigurationName No String Min : 1, Max : 255 ローンチ設定名です。
該当Auto Scaling Group所属のサーバインスタンスが新しく作成される時に使われるサーバ関連情報を持っています。
desiredCapacity No Integer Min : 0, Max : 30 サービスで期待されるキャパシティであり、該当グループ所属で運営されるサーバインスタンスの数を設定します。
この値はAuto Scalingに、すでに設定されている既存属性であるmin sizeより大きく、max sizeり小さく設定する必要があります。
minSize No Integer Min : 0, Max : 30 最小サイズ (最小0で、maxSizeの値より小さいか同じ)です。
Min: 最小サイズ(minSize), Max: 最大サイズ(maxSize)
Min: 0, Max: 30
maxSize No Integer Min : 0, Max : 30 最大サイズ(最小0, 最大30)です。
defaultCooldown No Integer Min : 0, Max : 2147483647 デフォルトcooldown時間です。
Default: 300秒にセット
healthCheckGracePeriod Conditional Integer Min : 0, Max : 2147483647 health checkの保留期間であり、サーバインスタンスがサービスに投入された以降、health checkを保留する時間を設定します。
healthCheckTypeCodeがロードバランサ(LOADB)である場合は必須です。
healthCheckTypeCode No String Min : 1, Max : 5 Health checkタイプコードです。
現在使えるタイプ(type)コードはサーバ(SVR)とロードバランサ(LOADB)があります。
zoneNoList No String 重複不可 Zone番号リストです。
このグループ所属のサーバインスタンスが存在するzone番号リストを入れます。
例示) zone code:2, zone name: KR-1 / zone code: 3, zone name: KR-2

レスポンスデータタイプ

  • AutoScalingGroupListタイプ
AutoScalingGroupList extends CommonResponse
private Integer totalRows;
private List autoScalingGroupList = new ArrayList();
AutoScalingGroup extends BaseObject
private String autoScalingGroupName;
private String launchConfigurationName;
private Integer desiredCapacity;
private Integer minSize;
private Integer maxSize;
private Integer defaultCooldown;
private List loadBalancerInstanceSummaryList;
private Integer healthCheckGracePeriod;
private CommonCode healthCheckType;
private Date createDate;
private List inAutoScalingGroupServerInstanceList;
private List suspendedProcessList;
private List zoneList;
LoadBalancerInstanceSummary extends BaseObject
private String loadBalancerInstanceNo;
private String loadBalancerName;
InAutoScalingGroupServerInstance extends BaseObject
private CommonCode healthStatus;
private CommonCode lifecycleState;
private LaunchConfiguration launchConfiguration;
private String serverInstanceNo;
private String serverInstanceName;
SuspendedProcess
private CommonCode process;
private String suspensionReason;
Zone
private String zoneNo;
private String zoneName;
private String zoneCode;
private String zoneDescription;
private String regionNo;
private long totalMemorySize;
private long totalUsedMemorySize;
private long totalUsePossibleMemorySize;
CommonCode
private String codeKind;
private String detailCategorizeCode;
private String code;
private String codeName;
private Integer codeOrder;
private String javaConstantCode;
LaunchConfiguration
private String launchConfigurationName;
private String serverImageProductCode;
private String serverProductCode;
private String memberServerImageNo;
private String loginKeyName;
private Date createDate;
private String userData;
private List accessControlGroupList;
AccessControlGroup extends BaseObject
private String accessControlGroupConfigurationNo;
private String accessControlGroupName;
private String accessControlGroupDescription;
private boolean isDefault;
private Date createDate;

例示

呼び出し

ncloud autoscaling updateAutoScalingGroup --autoScalingGroupName soso02 --launchConfigurationName test-autoscaling

レスポンス

{
  "updateAutoScalingGroupResponse": {
    "requestId": "1669d3e8-0c5a-4521-ab50-3008bfced00d",
    "returnCode": "0",
    "returnMessage": "success",
    "totalRows": 1,
    "autoScalingGroupList": [
      {
        "autoScalingGroupName": "soso02",
        "launchConfigurationName": "test-autoscaling",
        "desiredCapacity": 0,
        "minSize": 0,
        "maxSize": 0,
        "defaultCooldown": 12,
        "loadBalancerInstanceSummaryList": [],
        "healthCheckGracePeriod": 42,
        "healthCheckType": {
          "code": "SVR",
          "codeName": "Server"
        },
        "createDate": "2017-08-18T14:11:49+0900",
        "inAutoScalingGroupServerInstanceList": [],
        "suspendedProcessList": [],
        "zoneList": [
          {
            "zoneNo": "2",
            "zoneName": "KR-1",
            "zoneCode": "KR-1",
            "zoneDescription": "KR-1 zone",
            "regionNo": "1"
          }
        ]
      }
    ]
  }
}
<?xml version="1.0" encoding="UTF-8" ?>
<updateAutoScalingGroupResponse>
  <requestId>1669d3e8-0c5a-4521-ab50-3008bfced00d</requestId>
  <returnCode>0</returnCode>
  <returnMessage>success</returnMessage>
  <totalRows>1</totalRows>
  <autoScalingGroupList>
    <autoScalingGroupName>soso02</autoScalingGroupName>
    <launchConfigurationName>test-autoscaling</launchConfigurationName>
    <desiredCapacity>0</desiredCapacity>
    <minSize>0</minSize>
    <maxSize>0</maxSize>
    <defaultCooldown>12</defaultCooldown>
    <loadBalancerInstanceSummaryList/>
    <healthCheckGracePeriod>42</healthCheckGracePeriod>
    <healthCheckType>
      <code>SVR</code>
      <codeName>Server</codeName>
    </healthCheckType>
    <createDate>2017-08-18T14:11:49+0900</createDate>
    <inAutoScalingGroupServerInstanceList/>
    <suspendedProcessList/>
    <zoneList>
      <zoneNo>2</zoneNo>
      <zoneName>KR-1</zoneName>
      <zoneCode>KR-1</zoneCode>
      <zoneDescription>KR-1 zone</zoneDescription>
      <regionNo>1</regionNo>
    </zoneList>
  </autoScalingGroupList>
</updateAutoScalingGroupResponse>