- 인쇄
- PDF
updateAutoScalingGroup
- 인쇄
- PDF
개요
오토 스케일링 그룹 수정
설명
지정된 오토스케일링 그룹을 갱신합니다. 지정된 파라미터에 해당하는 속성만 그 값이 변경되고, 전달되지 않은 파라미터에
해당하는 속성은 기존 값 그대로 남게 됩니다. 이 액션(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 |
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 |
private Integer healthCheckGracePeriod; |
private CommonCode healthCheckType; |
private Date createDate; |
private List |
private List |
private List |
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 |
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>