updateAutoScalingGroup

Prev Next

개요

오토 스케일링 그룹 수정

설명

지정된 오토스케일링 그룹을 갱신합니다. 지정된 파라미터에 해당하는 속성만 그 값이 변경되고, 전달되지 않은 파라미터에
해당하는 속성은 기존 값 그대로 남게 됩니다. 이 액션(action) 호출에 의해 minSize, desiredCapacity 또는 maxSize가
변경되어도 그 대소 관계는 계속 maxSize >= desiredCapacity >= minSize가 유지되어여야 합니다.
zoneNoList가 변하면 zone rebalancing이 발생합니다.

이 액션(action) 호출로 새로운 Launch Configuration이 지정되면, 그 이후 서버 인스턴스가 생성될 때 효과가 나타납니다.
오토 스케일링 그룹이 현재 scaling action이 이루어지고 있는 상태에서 호출하면 에러(코드 50160)가 납니다.

i ) minSize는 지정되었으나 desiredCapacity가 지정되어 있지 않을 때, 새로운 minSize 값이 오토 스케일링 그룹의
현재 사이즈보다 크다면, 암시적으로 setDesiredCapacity가 호출되어서 그룹 사이즈가 새로운 minSize로 세팅됩니다.

ii ) maxSize는 지정되었으나 desiredCapacity가 지정되어 있지 않을 때, 새로운 maxSize 값이 오토 스케일링 그룹의
현재 사이즈보다 작다면, 암시적으로 setDesiredCapacity가 호출되어서 그룹 사이즈가 새로운 maxSize로 세팅됩니다.

iii) 요청할 때 전달되지 않은 선택적 파라미터 모두 기존 값으로 남게 됩니다. 아무런 선택적 파라미터가 전달되지 않으면
아무 속성 값이 바뀌지 않습니다. (에러는 나지 않습니다.)

요청 파라미터

파라미터 명 필수 여부 타입 제약사항 설명
autoScalingGroupName Yes String Min : 1, Max : 255 조회하고자 하는 오토 스케일링 그룹명 입력
launchConfigurationName No String Min : 1, Max : 255 - 론치 설정명
해당 오토 스케일링 그룹 소속의 서버 인스턴스가 새로 생성될 때 사용되는 서버 관련 정보를 담고 있음
desiredCapacity No Integer Min : 0, Max : 30 - 기대 서비스 능력
해당 그룹 소속으로 운영될 서버 인스턴스들의 수를 설정함
이 값이 오토 스케일링에 이미 세팅되어 있는 기존 속성인 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 autoScalingGroupNo;
private String launchConfigurationName;
private String launchConfigurationNo;
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 launchConfigurationNo;
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",
        "autoScalingGroupNo": "***517",
        "launchConfigurationName": "test-autoscaling",
        "launchConfigurationNo": "***013",
        "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>
    <autoScalingGroupNo>***517</autoScalingGroupNo>
    <launchConfigurationName>test-autoscaling</launchConfigurationName>
    <launchConfigurationNo>***013</launchConfigurationNo>
    <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>