Auto Scaling API 개요
Auto Scaling 서비스 API로 RESTful API를 제공합니다. Auto scaling은 서비스 부하에 따라 자동으로 서버 인스턴스의 수를 늘이고 줄여서 자동 scaling을 하는 서비스입니다. 여기서 scaling이란 서비스 부하가 커지면 이를 감당하기 위해 서비스 능력(capacity)을 늘리는 행위를 뜻합니다.
공통설정
- {AUTOSCALILNG_API_URL}
https://ncloud.apigw.ntruss.com/autoscaling/v1
- request header
Header | Description |
---|---|
x-ncp-apigw-timestamp | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(millisecond)로 나타낸 것이다. APIGW 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주 |
x-ncp-apigw-api-key | API Gateway에서 발급받은 키 |
x-ncp-iam-access-key | NCP에서 발급받은 API Key 또는 IAM에서 발급받은 AccessKey |
x-ncp-apigw-signature-v1 | 위 예제의 Body를 AccessKey와 맵핑되는 SecretKey로 암호화한 서명 HMAC 암호화 알고리즘은 HmacSHA256 사용 |
API References
오토스케일링
getLaunchConfigurationList
API명
론치설정리스트조회
action
getLaunchConfigurationList
설명
Launch Configuration 들에 대한 설명을 리스트 형태로 전달. Launch Configuration 이름이 지정되어 있지 않으면 사용자가 보유한 모든 Launch Configuration들의 설명을 리스트로 받고, 지정되어 있으면 지정된 Launch Configuration만의 설명을 리스트로 받습니다. 또한 페이지로 나누어 볼 수 있습니다. 사용자가 각 페이지 사이즈(항목 수)와 페이지 번호를 지정할 수 있습니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
launchConfigurationNameList | 론치설정명리스트 | List |
Min : 1, Max : 255 | No |
pageNo | 페이지 번호 | Integer | Min:0, Max:2147483647 | No |
pageSize | 페이지 사이즈 | Integer | Min:0, Max:2147483647 | No |
sortedBy | 소팅대상 | String | No | |
sortingOrder | 소팅순서 | String | No | |
regionNo | 리전번호 | String | No |
launchConfigurationNameList.N
- Launch Configuration의 이름 리스트
pageNo
- 페이지 번호
pageSize
- 페이지 사이즈
sortedBy
- 리스트 정렬 기준
- 유효한 값으로 론치설정명(launchConfigurationName)과 생성일시(createDate)가 있습니다.
- 대소문자 구분은 없습니다.
- Default 값은 론치설정명(launchConfigurationName)입니다.
sortingOrder
- 리스트 정렬 순서
- 유효한 값으로 오름차순(ascending)과 내림차순(descending)이 있습니다.
- 대소문자 구분은 없습니다.
- 디폴트(Default) 값은 오름차순(ascending)입니다.
regionNo
- 리전번호
- 입력가능한 상태는 getRegionList 액션을 통해서 획득할 수 있습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/getLaunchConfigurationList ?launchConfigurationNameList.1=lc-1
- 응답
<getLaunchConfigurationListResponse> <requestId>a58e727a-b259-481c-b530-d62ea512ec51</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <launchConfigurationList> <launchConfiguration> <launchConfigurationName>lc-1</launchConfigurationName> <serverImageProductCode>SPSW0LINUX000009</serverImageProductCode> <serverProductCode>SPSVRSTAND000043</serverProductCode> <memberServerImageNo/> <loginKeyName>yh-nang-test</loginKeyName> <createDate>2014-02-13T13:45:57+0900</createDate> <userData/> </launchConfiguration> </launchConfigurationList> </getLaunchConfigurationListResponse>
- 요청
createLaunchConfiguration
API명
론치설정생성
action
createLaunchConfiguration
설명
Launch Configuration은 Auto Scaling이 클라우드 서버 인스턴스를 생성하여 서비스에 투입하기 위해 사용되는 템플릿(template)입니다. 그 템플릿은 Auto Scaling이 서버 인스턴스를 생성하기 위한 모든 정보를 포함하고 있습니다. Launch Configuration 속성은 한 번 생성되면 이후 변경이 안됩니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
launchConfigurationName | 론치설정명 | String | Min : 1, Max : 255 | No |
serverImageProductCode | 소프트웨어상품코드 | String | Min : 1, Max : 20 | Conditional |
serverProductCode | 서버상품코드 | String | Min : 1, Max : 20 | No |
memberServerImageNo | 회원서버이미지번호 | String | - | Conditional |
accessControlGroupConfigurationNoList | ACG설정번호리스트 | List |
중복불가 | No |
loginKeyName | 로그인키명 | String | Min : 3, Max : 30 | No |
userData | 사용자데이터 | String | Min : 1, Max : 21847 | No |
regionNo | 리전번호 | String | No |
launchConfigurationName
- 론치설정의 이름으로 식별자 역할을 합니다.
- default : Ncloud에서 알아서 배정
serverImageProductCode
- 서버 이미지에 설치된 SW(OS 포함)의 상품 코드입니다.
- 소프트웨어상품코드(serverImageProductCode) 또는 회원서버이미지번호(memberServerImageNo와) 둘중 하나는 필수값으로 둘 중 하나는 지정되어 있어야 합니다. 그러나 둘 다 지정되어서는 안됩니다.
serverProductCode
- 서버 HW spec과 관련된 서버 상품 코드입니다.
- default : 최소사양으로 만들어집니다.
memberServerImageNo
- 회원이 직접 만든 내 서버 이미지 번호입니다.
- 소프트웨어상품코드(serverImageProductCode) 또는 회원서버이미지번호(memberServerImageNo와) 둘중 하나는 필수값으로 지정되어 있어야 합니다. 그러나 둘 다 지정되어서는 안됩니다.
accessControlGroupConfigurationNoList.N
- Access Control Group(ACG) 설정 번호로, 지정하지 않으면, 기본 Access Control Group(ACG)가 지정됩니다.
loginKeyName
- 로그인 키 이름입니다.
- 지정되어 있지 않으면 사용자가 최근에 만든 로그인 키 이름이 지정됩니다.
- default : 가장최근에 만든 로그인키명 사용
userData
- 사용자데이터로 BASE64 encoding 문자열만 허용합니다.
- 서버 인스턴스가 첫 부팅을 할 때, BASE64 encoding된 문자열을 decoding하여 평문이 된 문자열로 구성된 스크립트 파일이 실행됩니다.
regionNo
- 입력가능한 상태는 getRegionList 액션을 통해서 획득할 수 있습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/createLaunchConfiguration ?launchConfigurationName=lc-0228 &serverImageProductCode=SPSW0LINUX000009
- 응답
<createLaunchConfigurationResponse> <requestId>19fff23d-d5cd-49fd-8a0a-986ae02bf660</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <launchConfigurationList> <launchConfiguration> <launchConfigurationName>lc-0228</launchConfigurationName> <serverImageProductCode>SPSW0LINUX000009</serverImageProductCode> <serverProductCode>SPSVRSTAND000043</serverProductCode> <memberServerImageNo/> <loginKeyName>hkey-0217</loginKeyName> <createDate>2014-02-28T17:11:36+0900</createDate> <userData/> </launchConfiguration> </launchConfigurationList> </createLaunchConfigurationResponse>
- 요청
deleteAutoScalingLaunchConfiguration
API명
오토스케일링론치설정삭제
action
deleteAutoScalingLaunchConfiguration
설명
Launch Configuration은 삭제될 때 어떠한 Auto Scaling Group에서도 사용되고 있는 상태여서는 안됩니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
launchConfigurationName | 론치설정명 | String | Min : 1, Max : 255 | Yes |
launchConfigurationName
- 삭제할 론치설정명을 입력합니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/deleteAutoScalingLaunchConfiguration ?launchConfigurationName=lc-0228
- 응답
<deleteAutoScalingLaunchConfigurationResponse> <requestId>81e1f723-550c-444b-bc39-467f61a2911a</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </deleteAutoScalingLaunchConfigurationResponse>
- 요청
getAutoScalingGroupList
API명
오토스케일링그룹리스트조회
action
getAutoScalingGroupList
설명
scaling group들에 대한 설명을 리스트 형태로 전달. Auto Scaling Group 이름이 지정되어 있지 않으면 사용자가 보유한 모든 Auto Scaling Group에 대한 설명을 리스트로 받고, 지정되어 있으면 지정된 Auto Scaling Group만의 설명을 리스트로 받습니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupNameList | 오토스케일링그룹명리스트 | List |
Min : 1, Max : 255 | No |
pageNo | 페이지 번호 | Integer | Min:0, Max:2147483647 | No |
pageSize | 페이지 사이즈 | Integer | Min:0, Max:2147483647 | No |
sortedBy | 소팅대상 | String | - | No |
sortingOrder | 소팅순서 | String | - | No |
regionNo | 리전번호 | String | No |
autoScalingGroupNameList.N
- 조회할 오토스케일링그룹명리스트를 입력합니다.
- 오토스케일링그룹명을 입력하지 않을 경우 계정 내 생성된 모든 리스트가 보입니다.
- 오토스케일링그룹명리스트를 입력하면 요청한 오토스케일링에 해당되는 리스트만 보입니다.
pageNo
- 리스트조회시 Pagination의 페이지 정보를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 리스트를 조회합니다.
pageSize
- 리스트 조회시 Pagination의 보여질 정보의 개수를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 목록을 조회합니다.
sortedBy
- 오토스케일링그룹명(autoScalingGroupName) | 생성일시(createDate) [대소문자 구분 없음]
- default : 오토스케일링그룹명(autoScalingGroupName)
sortingOrder
- 오름차순(asceding) | 내림차순(descending) [대소문자 구분 없음]
- default : 오름차순(asceding)
regionNo
- 입력가능한 상태는 getRegionList 액션을 통해서 획득할 수 있습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/getAutoScalingGroupList ?autoScalingGroupNameList.1=asg-1
- 응답
<getAutoScalingGroupListResponse> <requestId>be42c6e2-9c59-4bbc-b9d4-42194a68077d</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <autoScalingGroupList> <autoScalingGroup> <autoScalingGroupName>asg-1</autoScalingGroupName> <launchConfigurationName>lc-1</launchConfigurationName> <desiredCapacity>0</desiredCapacity> <minSize>0</minSize> <maxSize>0</maxSize> <loadBalancerInstanceSummeryList> <loadBalancerInstanceSummery> <loadBalancerName>slb-1</loadBalancerName> </loadBalancerInstanceSummery> <loadBalancerInstanceSummery> <loadBalancerName>slb-2</loadBalancerName> </loadBalancerInstanceSummery> </loadBalancerInstanceSummeryList> <healthCheckGracePeriod>600</healthCheckGracePeriod> <healthCheckType> <code>SVR</code> <codeName>Server</codeName> </healthCheckType> <createDate>2014-02-13T17:24:19+0900</createDate> <inAutoScalingGroupServerInstanceList/> <suspendedProcessList/> <zoneList> <zone> <zoneNo>2</zoneNo> <zoneName>zone2</zoneName> <zoneDescription>nang zone</zoneDescription> </zone> <zone> <zoneNo>3</zoneNo> <zoneName>zone3</zoneName> <zoneDescription>nang zone2</zoneDescription> </zone> </zoneList> </autoScalingGroup> </autoScalingGroupList> </getAutoScalingGroupListResponse>
- 요청
createAutoScalingGroup
API명
오토스케일링그룹생성
action
createAutoScalingGroup
설명
식별자 역할을 하는 이름과 여타 속성을 지정해서 새로운 Auto Scaling Group을 생성합니다. 생성 요청이 완료되면, Auto Scaling Group은 다른 호출에서 사용될 완성된 상태가 되어 있습니다. 단, 생성 요청이 완료되었다고, 그룹 소속의 서버 인스턴스들이 생성이 완료되어 서비스에 투입이 완료됨을 보장하지는 않습니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | No |
launchConfigurationName | 론치설정명 | String | Min : 1, Max : 255 | Yes |
desiredCapacity | 기대용량치 | Integer | Min : 0, Max : 30 | No |
minSize | 최소사이즈 | Integer | Min : 0, Max : 30 | Yes |
maxSize | 최대사이즈 | Integer | Min : 0, Max : 30 | Yes |
defaultCooldown | 디폴트쿨다운타임 | Integer | Min : 0, Max : 2147483647 | No |
loadBalancerNameList | 로드밸런서명리스트 | List |
Min : 3, Max : 30(중복불가) | No |
healthCheckGracePeriod | 헬스체크보류기간 | Integer | Min : 0, Max : 2147483647 | Conditional |
healthCheckTypeCode | 헬스체크유형코드 | String | Min : 1, Max : 5 | No |
zoneNoList | ZONE번호리스트 | String | 중복불가 | Yes |
autoScalingGroupName
- 오토스케일링그룹명은 그룹 식별자 역할을 합니다. 한 번 정해지면 그 뒤로는 불변입니다.
launchConfigurationName
- 론치설정명입니다.
- 해당 오토스케일링 그룹 소속의 서버 인스턴스가 새로 생성될 때 사용되는 서버 관련 정보를 담고 있습니다
desiredCapacity
- 기대 서비스 능력으로, 해당 그룹 소속으로 운영될 서버 인스턴스들의 수를 설정합니다.
- 이 값이 오토스케일링에 이미 설정되어 있는 기존 속성인 min size보다 작아서는 안되고, max size보다 커서는 안됩니다.
minSize
- 최소 사이즈 (최소 0이고 maxSize 값보다 작거나 같아야 함)입니다.
- Min : 최소사이즈(minSize), Max : 최대사이즈(maxSize)
- Min : 0, Max : 30
maxSize
- 최대 사이즈 (최소 0, 최대 30)입니다.
defaultCooldown
- 디폴트 cooldown 시간입니다.
- default : 300초로 설정됨
loadBalancerNameList.N
- 해당 그룹 소속 서버가 생성되어 서비스에 투입될 때 등록될 로드밸런서 이름 리스트입니다.
healthCheckGracePeriod
- health check 보류 기간으로 서버 인스턴스가 서비스에 투입된 이후 health check를 보류할 시간을 설정합니다.
- healthCheckTypeCode 값이 로드밸런서(LOADB)이면 필수입니다.
healthCheckTypeCode
- Health check 유형 코드입니다.
- 현재 사용 가능한 유형(type) 코드로는 서버(SVR)과 로드밸런서(LOADB)가 있습니다.
zoneNoList
- Zone 번호 리스트입니다.
- 이 그룹 소속 서버 인스턴스들이 존재할 zone 번호 리스트를 넣습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/createAutoScalingGroup ?autoScalingGroupName=asg-0224 &desiredCapacity=0 &launchConfigurationName=lc-1 &maxSize=0&minSize=0 &zoneNoList.1=2 &zoneNoList.2=3
- 응답
<createAutoScalingGroupResponse> <requestId>015a4c61-c887-43f7-89ba-997ccdd75732</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <autoScalingGroupList> <autoScalingGroup> <autoScalingGroupName>asg-0224</autoScalingGroupName> <launchConfigurationName>lc-1</launchConfigurationName> <desiredCapacity>0</desiredCapacity> <minSize>0</minSize> <maxSize>0</maxSize> <loadBalancerInstanceSummeryList/> <healthCheckGracePeriod>0</healthCheckGracePeriod> <healthCheckType> <code>SVR</code> <codeName>Server</codeName> </healthCheckType> <createDate>2014-02-24T15:11:11+0900</createDate> <inAutoScalingGroupServerInstanceList/> <suspendedProcessList/> <zoneList> <zone> <zoneNo>2</zoneNo> <zoneName>zone2</zoneName> <zoneDescription>nang zone</zoneDescription> </zone> <zone> <zoneNo>3</zoneNo> <zoneName>zone3</zoneName> <zoneDescription>nang zone2</zoneDescription> </zone> </zoneList> </autoScalingGroup> </autoScalingGroupList> </createAutoScalingGroupResponse>
- 요청
updateAutoScalingGroup
API명
오토스케일링그룹수정
action
updateAutoScalingGroup
설명
지정된 Auto Scaling Group을 갱신합니다. 지정된 파라미터에 해당하는 속성만 그 값이 변경되고, 전달되지 않은 파라미터에 해당하는 속성은 기존 값 그대로 남게 됩니다. 이 액션(action) 호출에 의해 minSize, desiredCapacity또는 maxSize가 변경되어도 그 대소 관계는 계속 maxSize >= desiredCapacity >= minSize가 유지되어여야 합니다. zoneNoList가 변하면 zone rebalancing이 발생합니다.
이 액션(action) 호출로 새로운 Launch Configuration이 지정되면, 그 이후 서버 인스턴스가 생성될 때 효과가 나타납니다. Auto Scaling Group이 현재 scaling action이 이루어지고 있는 상태에서 호출하면 에러(코드 50160)가 납니다.
- minSize는 지정되었으나 desiredCapacity가 지정되어 있지 않을 때, 새로운 minSize 값이 Auto Scaling Group의 현재 사이즈보다 크다면, 암시적으로 setDesiredCapacity가 호출되어서, 그룹 사이즈가 새로운 minSize로 설정됩니다
- maxSize는 지정되었으나 desiredCapacity가 지정되어 있지 않을 때, 새로운 maxSize 값이 Auto Scaling Group의 현재 사이즈보다 작다면, 암시적으로 setDesiredCapacity가 호출되어서, 그룹 사이즈가 새로운 maxSize로 설정됩니다
- 요청할 때 전달되지 않은 선택적 파라미터 모두 기존 값으로 남게 됩니다. 아무런 선택적 파라미터가 전달되지 않으면 아무 속성 값이 바뀌지 않습니다. (에러는 나지 않습니다.)
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
launchConfigurationName | 론치설정명 | String | Min : 1, Max : 255 | No |
desiredCapacity | 기대용량치 | Integer | Min : 0, Max : 30 | No |
minSize | 최소사이즈 | Integer | Min : 0, Max : 30 | No |
maxSize | 최대사이즈 | Integer | Min : 0, Max : 30 | No |
defaultCooldown | 디폴트쿨다운타임 | Integer | Min : 0, Max : 2147483647 | No |
healthCheckGracePeriod | 헬스체크보류기간 | Integer | Min : 0, Max : 2147483647 | Conditional |
healthCheckTypeCode | 헬스체크유형코드 | String | Min : 1, Max : 5 | No |
zoneNoList | ZONE번호리스트 | String |
중복불가 | No |
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
launchConfigurationName
- 론치설정명입니다.
- 해당 오토스케일링 그룹 소속의 서버 인스턴스가 새로 생성될 때 사용되는 서버 관련 정보를 담고 있습니다
desiredCapacity
- 기대 서비스 능력으로, 해당 그룹 소속으로 운영될 서버 인스턴스들의 수를 설정합니다.
- 이 값이 오토스케일링에 이미 설정되어 있는 기존 속성인 min size보다 작아서는 안되고, max size보다 커서는 안됩니다.
minSize
- 최소 사이즈 (최소 0이고 maxSize 값보다 작거나 같아야 함)입니다.
- Min : 최소사이즈(minSize), Max : 최대사이즈(maxSize)
- Min : 0, Max : 30
maxSize
- 최대 사이즈 (최소 0, 최대 30)입니다.
defaultCooldown
- 디폴트 cooldown 시간입니다.
- default : 300초로 설정됨
healthCheckGracePeriod
- health check 보류 기간으로 서버 인스턴스가 서비스에 투입된 이후 health check를 보류할 시간을 설정합니다.
- healthCheckTypeCode 값이 로드밸런서(LOADB)이면 필수입니다.
healthCheckTypeCode
- Health check 유형 코드입니다.
- 현재 사용 가능한 유형(type) 코드로는 서버(SVR)과 로드밸런서(LOADB)가 있습니다.
zoneNoList
- Zone 번호 리스트입니다.
- 이 그룹 소속 서버 인스턴스들이 존재할 zone 번호 리스트를 넣습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/updateAutoScalingGroup ?autoScalingGroupName=asg-1 &desiredCapacity=0 &maxSize=0 &minSize=0
- 응답
<updateAutoScalingGroupResponse> <requestId>5e40dcb6-56cc-46cd-ae08-98ec6e611cd9</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <autoScalingGroupList> <autoScalingGroup> <autoScalingGroupName>asg-1</autoScalingGroupName> <launchConfigurationName>lc-1</launchConfigurationName> <desiredCapacity>0</desiredCapacity> <minSize>0</minSize> <maxSize>0</maxSize> <loadBalancerInstanceSummeryList> <loadBalancerInstanceSummery> <loadBalancerName>slb-1</loadBalancerName> </loadBalancerInstanceSummery> <loadBalancerInstanceSummery> <loadBalancerName>slb-2</loadBalancerName> </loadBalancerInstanceSummery> </loadBalancerInstanceSummeryList> <healthCheckGracePeriod>600</healthCheckGracePeriod> <healthCheckType> <code>SVR</code> <codeName>Server</codeName> </healthCheckType> <createDate>2014-02-13T17:24:19+0900</createDate> <inAutoScalingGroupServerInstanceList> <InAutoScalingGroupServerInstance> <healthStatus> <code>HLTHY</code> <codeName>Healthy (normal)</codeName> </healthStatus> <lifecycleState> <code>INSVC</code> <codeName>In service</codeName> </lifecycleState> <launchConfiguration> <launchConfigurationName>lc-1</launchConfigurationName> <serverImageProductCode>SPSW0LINUX000009</serverImageProductCode> <serverProductCode>SPSVRSTAND000043</serverProductCode> <memberServerImageNo/> <loginKeyName>yh-nang-test</loginKeyName> <createDate>2014-02-13T13:45:57+0900</createDate> <userData/> </launchConfiguration> <serverInstanceNo>68084</serverInstanceNo> <serverInstanceName>svr-7f8879ae0826836</serverInstanceName> </InAutoScalingGroupServerInstance> </inAutoScalingGroupServerInstanceList> <suspendedProcessList/> <zoneList> <zone> <zoneNo>2</zoneNo> <zoneName>zone2</zoneName> <zoneDescription>nang zone</zoneDescription> </zone> <zone> <zoneNo>3</zoneNo>
- 요청
deleteAutoScalingGroup
API명
오토스케일링그룹삭제
action
deleteAutoScalingGroup
설명
지정된 Auto Scaling Group을 삭제합니다. 그룹 소속 서버 인스턴스가 없을 때 그리고 아무런 scaling action이 진행중이지 않을 때만 가능합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
autoScalingGroupName
- 삭제할 오토스케일링 그룹명을 입력합니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/deleteAutoScalingGroup &autoScalingGroupName=asg-0228
- 응답
<deleteAutoScalingGroupResponse> <requestId>1027b8ed-1b5d-44ae-a25e-90c1244ca43b</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </deleteAutoScalingGroupResponse>
- 요청
setDesiredCapacity
API명
기대용량치갱신
action
setDesiredCapacity
설명
지정된 Auto Scaling Group에 대한 desired capacity 설정
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
desiredCapacity | 기대용량치 | Integer | Min: 0, Max : 30 | Yes |
autoScalingGroupName 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
desiredCapacity
- 기대 서비스 능력으로, 해당 그룹 소속으로 운영될 서버 인스턴스들의 수를 설정합니다.
- 이 값이 오토스케일링에 이미 설정되어 있는 기존 속성인 min size보다 작아서는 안되고, max size보다 커서는 안됩니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/setDesiredCapacity ?autoScalingGroupName=asg-1 &desiredCapacity=0
- 응답
<setDesiredCapacityResponse> <requestId>9b414c18-0b78-4e8f-a20d-4f95a16628be</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <autoScalingGroupList> <autoScalingGroup> <autoScalingGroupName>asg-1</autoScalingGroupName> <launchConfigurationName>lc-1</launchConfigurationName> <desiredCapacity>0</desiredCapacity> <minSize>0</minSize> <maxSize>0</maxSize> <loadBalancerInstanceSummeryList> <loadBalancerInstanceSummery> <loadBalancerName>slb-1</loadBalancerName> </loadBalancerInstanceSummery> <loadBalancerInstanceSummery> <loadBalancerName>slb-2</loadBalancerName> </loadBalancerInstanceSummery> </loadBalancerInstanceSummeryList> <healthCheckGracePeriod>600</healthCheckGracePeriod> <healthCheckType> <code>SVR</code> <codeName>Server</codeName> </healthCheckType> <createDate>2014-02-13T17:24:19+0900</createDate> <inAutoScalingGroupServerInstanceList/> <suspendedProcessList/> <zoneList> <zone> <zoneNo>2</zoneNo> <zoneName>zone2</zoneName> <zoneDescription>nang zone</zoneDescription> </zone> <zone> <zoneNo>3</zoneNo> <zoneName>zone3</zoneName> <zoneDescription>nang zone2</zoneDescription> </zone> </zoneList> </autoScalingGroup> </autoScalingGroupList> </setDesiredCapacityResponse>
- 요청
terminateServerInstanceInAutoScalingGroup
API명
오토스케일링그룹에속한서버인스턴스삭제
action
terminateServerInstanceInAutoScalingGroup
설명
지정된 서버 인스턴스 반납. 서버 인스턴스 삭제와 동시에 그룹 사이즈를 하나(one) 감소하게 선택할 수 있습니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
serverInstanceNo | 서버인스턴스번호 | String | - | Yes |
shouldDecrementDesiredCapacity | 기대용량치감소여부 | Boolean | - | Yes |
serverInstanceNo
- 삭제할 서버 인스턴스의 식별 번호입니다.
- 서버 인스턴스가 오토스케일링 그룹에 속하지 않다면 유효하지 않습니다.
shouldDecrementDesiredCapacity
- 서버 인스턴스 삭제와 동시에 소속 오토스케일링 그룹의 size를 하나(one) 감소시킬지 여부입니다.
- 감소시키려면 true이고, 아니면 false를 입력합니다.
- 이 값이 true이면 그룹 사이즈가 (기존 그룹 사이즈 - 1)이 됩니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/terminateServerInstanceInAutoScalingGroup ?serverInstanceNo=68124 &shouldDecrementDesiredCapacity=false
- 응답
<terminateServerInstanceInAutoScalingGroupResponse> <requestId>1d7573fd-d321-400b-82bd-8a3a9692b5b6</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </terminateServerInstanceInAutoScalingGroupResponse>
- 요청
setServerInstanceHealth
API명
서버인스턴스헬스상태갱신
action
setServerInstanceHealth
설명
사용자가 보유하는 Auto Scaling Group 소속의 서버 인스턴스의 헬스 상태를 설정
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
serverInstanceNo | 서버인스턴스번호 | String | - | Yes |
healthStatusCode | 헬스상태코드 | String | Min : 1, Max : 5 | Yes |
shouldRespectGracePeriod | health-check grace-period 존중여부 | Boolean | - | No |
serverInstanceNo
- 서버 인스턴스의 식별 번호로 회원의 오토스케일링 그룹 소속 서버 인스턴스가 아니면 유효하지 않습니다.
healthStatusCode
- 헬스 상태 코드로 유효 값으로 HEALTHY(HLTHY)와 UNHEALTHY(UNHTH)가 있습니다. 전술한 괄호 안의 코드 값을 사용할 것
- 서버 인스턴스가 생성되고 나서 서비스에 투입된 이후에만 가능합니다.
shouldRespectGracePeriod
- 헬스 체크 보류 기간(healthCheckGracePeriod) 준수 여부를 true/false로 입력합니다.
- 서버 인스턴스가 생성되고 나서 서비스에 투입된 시각에서 healthCheckGracePeriod 기간이 지나지 않으면 unhealthy 상태로 변경하려 해도 적용되지 않습니다. 디폴트로 그 보류 기간을 준수합니다.
- 값이 False이면, 그 보류 기간을 준수하지 않습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/setServerInstanceHealth ?healthStatusCode=UNHTH &serverInstanceNo=68128
- 응답
<setServerInstanceHealthResponse> <requestId>2785401a-14e4-42b2-9e65-0f59b29424d4</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </setServerInstanceHealthResponse>
- 요청
getScheduledActionList
API명
스케줄액션리스트조회
action
getScheduledActionList
설명
아직 실행되지 않은 사용자의 모든 Scaling action 스케줄을 나열합니다. 이미 실행된 action 기록은 getAutoScalingActivityLogList을 호출해서 볼 수 있습니다.
또한 페이지로 나누어 볼 수 있습니다. 사용자가 각 페이지 사이즈(항목 수)와 페이지 번호를 지정할 수 있습니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | No |
scheduledActionNameList | 스케줄액션명리스트 | List |
Min : 1, Max : 255 | No |
startTime | 스케줄시작일시 | Date | yyyy-MM-dd'T'HH:mm:ssZ | No |
endTime | 스케줄종료일시 | Date | yyyy-MM-dd'T'HH:mm:ssZ | No |
pageNo | 페이지 번호 | Integer | Min:0, Max:2147483647 | No |
pageSize | 페이지 사이즈 | Integer | Min:0, Max:2147483647 | No |
sortedBy | 소팅대상 | String | - | No |
sortingOrder | 소팅순서 | String | - | No |
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
scheduledActionNameList.N
- 결과로 받을 스케일링 액션 스케줄명이 리스트로 보입니다.
startTime
- 스케줄 시작일시보다 작거나 같은 시간 (datetime)
- scheduledActionNameList 이 명시되어 있다면 이 필드 무시
- format : yyyy-MM-dd'T'HH:mm:ssZ
- 예시)2013-07-25T17:50:00+0900, 2013-07-25T17:50:00+09:00
endTime
- 스케줄 종료일시보다 작거나 같은 시간 (datetime)
- scheduledActionNameList 이 명시되어 있다면 이 필드 무시
- format : yyyy-MM-dd'T'HH:mm:ssZ
- 예시)2013-07-25T17:50:00+0900, 2013-07-25T17:50:00+09:00
pageNo
- 리스트조회시 Pagination의 페이지 정보를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 리스트를 조회합니다.
pageSize
- 리스트 조회시 Pagination의 보여질 정보의 개수를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 목록을 조회합니다.
sortedBy
- 스케줄액션명(scheduledActionName) | 생성일시(createDate) [대소문자 구분 없음]
- default : 스케줄액션명(scheduledActionName)
sortingOrder
- 오름차순(asceding) | 내림차순(descending) [대소문자 구분 없음]
- default : 오름차순(asceding)
Example
- 요청
{AUTOSCALILNG_API_URL}/getScheduledActionList ?autoScalingGroupName=asg-1 &startTime=2014-03-01T20%3A00%3A00%2B0900
- 응답
<getScheduledActionListResponse> <requestId>4cea4b3c-1c15-4598-8188-37a413c74b2c</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>2</totalRows> <scheduledUpdateGroupActionList> <scheduledUpdateGroupAction> <autoScalingGroupName>asg-1</autoScalingGroupName> <scheduledActionName>sa-0228-4</scheduledActionName> <minSize>0</minSize> <startTime>2014-03-10T00:00:00+0900</startTime> <endTime>2014-03-10T00:00:00+0900</endTime> <recurrenceInKST>0 0 10 * *</recurrenceInKST> </scheduledUpdateGroupAction> <scheduledUpdateGroupAction> <autoScalingGroupName>asg-1</autoScalingGroupName> <scheduledActionName>sa-0228-5</scheduledActionName> <minSize>0</minSize> <startTime>2014-03-10T05:00:00+0900</startTime> <endTime>2014-03-10T05:00:00+0900</endTime> <recurrenceInKST>0 5 10 * *</recurrenceInKST> </scheduledUpdateGroupAction> </scheduledUpdateGroupActionList> </getScheduledActionListResponse>
- 요청
putScheduledUpdateGroupAction
API명
스케줄액션생성|수정
action
putScheduledUpdateGroupAction
설명
지정된 Auto Scaling Group을 위한 scaling action 스케줄을 생성 또는 갱신합니다. 이 액션(action)을 호출할 때, 동일한 이름의 스케줄 이름이 이미 있으면 그 스케줄을 변경하고, 아니면 스케줄을 생성합니다. 스케줄의 종류는 일회성 스케줄과 반복 스케줄로 나뉩니다. 일회성 스케줄을 생성하고 싶으면 start time은 지정하고 반복(recurrence) 설정은 하지 않으면 됩니다. 반복 스케줄을 설정하고 싶으면 반복 설정을 하면 됩니다.
호출할 때 파라미터 중 Min size, Desired Capacity와 max size 이 셋은 적어도 하나는 지정되어 있어야 합니다. 스케줄이 실행될 때 전술한 세 파라미터 중 지정 된 파라미터의 Auto Scaling Group의 해당 속성을 변경합니다. 스케줄에 의해 변경된 Auto Scaling Group의 Min size, Desired Capacity와 max size는 변경 이후에도 Min size <= Desired Capacity <= max size의 대소 관계를 유지해야 합니다. 그렇지 않으면 스케줄 적용이 실패해서 효과가 발생하지 않습니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
scheduledActionName | 스케일링 액션 스케줄명 | String | Min : 1, Max : 255 | Yes |
desiredCapacity | 기대용량치 | String | Min : 1, Max : 30 | Conditional |
minSize | 최소사이즈 | String | Min : 1, Max : 30 | Conditional |
maxSize | 최대사이즈 | String | Min : 1, Max : 30 | Conditional |
startTime | 스케줄시작일시 | Date | yyyy-MM-dd'T'HH:mm:ssZ | Conditional |
endTime | 반복스케줄종료시간 | Date | yyyy-MM-dd'T'HH:mm:ssZ | No |
recurrenceInKST | 반복스케줄설정(KST형식) | String | 예시)50 23 Sun | No |
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
scheduledActionName
- 스케일링 액션 스케줄 이름이며, 스케줄 식별자 역할을 합니다
- 지정된 Auto Scaling Group 내에서는 유일한 이름이어야 합니다.
- 이 액션(action)을 호출할 때, 동일한 이름의 스케줄 이름이 이미 있으면 그 스케줄을 변경하고, 아니면 스케줄을 생성합니다.
desiredCapacity
- 기대 서비스 능력으로, 해당 그룹 소속으로 운영될 서버 인스턴스들의 수를 설정합니다.
- 이 값이 오토스케일링에 이미 설정되어 있는 기존 속성인 min size보다 작아서는 안되고, max size보다 커서는 안됩니다.
minSize
- 최소 사이즈 (최소 0이고 maxSize 값보다 작거나 같아야 함)입니다.
- Min : 최소사이즈(minSize), Max : 최대사이즈(maxSize)
- Min : 0, Max : 30
maxSize
- 최대 사이즈 (최소 0, 최대 30)입니다.
startTime
- 반복스케줄설정(recurrenceInKST)이 없는 경우 필수
- 반복스케줄설정(recurrenceInKST)이 있는 경우 : 반복스케줄시작시간
- format : yyyy-MM-dd'T'HH:mm:ssZ
- 예시)2013-07-25T17:50:00+0900, 2013-07-25T17:50:00+09:00
endTime
- 반복스케줄설정(recurrenceInKST)가 있는 경우만 지정이 가능.
- 반복스케줄설정(recurrenceInKST)가 있는 경우 : 반복스케줄설정종료시간
- format : yyyy-MM-dd'T'HH:mm:ssZ
- 예시)2013-07-25T17:50:00+0900, 2013-07-25T17:50:00+09:00
recurrenceInKST
- 반복 스케줄 설정
- 설정 형식은 crontab 설정 방식입니다. 분(minute)과 시(hour)와 날짜(day of month), 달(month) 및 요일(day of week) 필드를 공백문자를 분리자로 해서 기재하면 됩니다.
- 분(minute)과 시(hour)와 날짜(day of month), 달(month) 및 요일(day of week) 필드로 입력될 수 있는 유효한 값은 각각 0-59, 0-23, 1-31, 1-12(또는 달 영어 이름), 0-7(0 또는 7이 일요일, 또는 요일 영어 이름)입니다
- 필드 값으로 asterisk('*')를 넣을 수 있는데 있는 처음 값부터 마지막 값 모두를 의미합니다 아래는 그 예시입니다. (예시에 있는 대괄호([])는 빼고 하나의 라인으로 입력할 것)
- 예시 1: 매시 정각: [0 ]
- 예시 2: 매주 토요일 16시 30분: [30 16 6]
- 예시 3: 매월 첫날 자정: [0 0 1 ]
- 예시 4: 매해 1월 1일 자정: [0 0 1 Jan *]
Example
- 요청
{AUTOSCALILNG_API_URL}/putScheduledUpdateGroupAction ?autoScalingGroupName=asg-0212 &desiredCapacity=3 &scheduledActionName=sa-0303 &startTime=2014-03-05T10%3A00%3A00%2B0900
- 응답
<putScheduledUpdateGroupActionResponse> <requestId>948b7bc1-47e6-4d5c-a71d-e85622ab16ef</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>1</totalRows> <scheduledUpdateGroupActionList> <scheduledUpdateGroupAction> <autoScalingGroupName>asg-0212</autoScalingGroupName> <scheduledActionName>sa-0303</scheduledActionName> <desiredCapacity>3</desiredCapacity> <startTime>2014-03-05T10:00:00+0900</startTime> <recurrenceInKST/> </scheduledUpdateGroupAction> </scheduledUpdateGroupActionList> </putScheduledUpdateGroupActionResponse>
- 요청
deleteScheduledAction
API명
스케줄액션삭제
action
deleteScheduledAction
설명
이전에 PutScheduledUpdateGroupAction에 의해 생성된 scaling action 스케줄을 삭제합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | No |
scheduledActionName | 스케일링 액션 스케줄명 | String | Min : 1, Max : 255 | Yes |
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
- 스케줄액션명은 오토스케일링그룹명에 유니크한 값이므로, 해당 값이 없으면 그룹에 상관없이 스케줄액션명이 동일한 스케줄액션을 삭제한다.
scheduledActionName
- 스케일링 액션 스케줄 이름이며, 스케줄 식별자 역할을 합니다
- 지정된 오토스케일링 그룹내에서는 유일한 이름이어야 하며, 요청한 스케줄명이 있으면 해당 스케줄을 삭제합니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/deleteScheduledAction &scheduledActionName=sa-1
- 응답
<deleteScheduledActionResponse> <requestId>1651a986-1de3-4a03-98ad-ae8c24fa25b7</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </deleteScheduledActionResponse>
- 요청
suspendProcesses
API명
프로세스보류
action
suspendProcesses
설명
지정된 Auto Scaling Group에 대한 scaling 프로세스를 보류(suspend)합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
scalingProcessCodeList | 분류프로세스코드리스트 | List |
Min : 1, Max : 5 | No |
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
scalingProcessCodeList.N
보류할 process 코드의 리스트. 아래 항목이 유효한 값(괄호 안)입니다.
- LAUNCH (LANCH)
- TERMINATE (TERMT)
- HEALTH_CHECK (HTHCK)
- RELACE_UNHEALTHY (RPUNH)
- ZONE_REBALANCE (ZNRBL)
- SCHEDULED_ACTIONS (SCACT)
- ADD_TO_LOAD_BALANCER (ADTLB)
- ALARM_NOTIFICATION (ALMNO)
각 값에 대한 설명은 [지원 API - Auto Scaling] 문서에 기재되어 있습니다. 만약 이 파라미터를 생략하면 상술한 모든 프로세스가 보류됩니다. 리스트에 동일 항목(프로세스)이 중복 지정될 수 없습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/suspendProcesses ?autoScalingGroupName=asg-1
- 응답
<suspendProcessesResponse> <requestId>61964cd5-e29d-4d38-b0c8-5e5009c66b7b</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </suspendProcessesResponse>
- 요청
resumeProcesses
API명
프로세스재개
action
resumeProcesses
설명
지정된 Auto Scaling Group에 대한 scaling 프로세스를 재개(resume)합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
scalingProcessCodeList | 분류프로세스코드리스트 | List |
Min : 1, Max : 5 | No |
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
scalingProcessCodeList.N
재개해야 할 process 코드의 리스트. 아래 항목이 유효한 값(괄호 안)입니다.
- LAUNCH (LANCH)
- TERMINATE (TERMT)
- HEALTH_CHECK (HTHCK)
- RELACE_UNHEALTHY (RPUNH)
- ZONE_REBALANCE (ZNRBL)
- SCHEDULED_ACTIONS (SCACT)
- ADD_TO_LOAD_BALANCER (ADTLB)
- ALARM_NOTIFICATION (ALMNO)
각 값에 대한 설명은 [지원 API - Auto Scaling] 문서에 기재되어 있습니다. 만약 이 파라미터를 생략하면 상술한 모든 프로세스가 보류됩니다. 리스트에 동일 항목(프로세스)이 중복 지정될 수 없습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/resumeProcesses ?autoScalingGroupName=asg-1
- 응답
<resumeProcessesResponse> <requestId>c9c75402-73f6-4980-8131-f6b866de5477</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </resumeProcessesResponse>
- 요청
getScalingProcessTypeList
API명
프로세스구분리스트조회
action
getScalingProcessTypeList
설명
resumeProcesses와 suspendProcesses 액션(action)에서 사용되는 Scaling 처리 유형을 결과로 받습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/getScalingProcessTypeList
- 응답
<getScalingProcessTypeListResponse> <requestId>95f0a458-f3de-4094-99ea-15317b30657b</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>0</totalRows> <processList> <process> <process> <code>LANCH</code> <codeName>서버 인스턴스 생성</codeName> </process> </process> <process> <process> <code>TERMT</code> <codeName>서버 인스턴스 반납</codeName> </process> </process> <process> <process> <code>HTHCK</code> <codeName>Health check</codeName> </process> </process> <process> <process> <code>RPUNH</code> <codeName>헬스에 문제 있는 서버 인스턴스 교체</codeName> </process> </process> <process> <process> <code>ZNRBL</code> <codeName>zone별 서버 인스턴스 수 리밸런싱</codeName> </process> </process> <process> <process> <code>SCACT</code> <codeName>Scheduled action</codeName> </process> </process> <process> <process> <code>ADTLB</code> <codeName>서버 인스턴스를 로드밸런서에 추가</codeName> </process> </process> <process> <process> <code>ALMNO</code> <codeName>알람 통보</codeName> </process> </process> </processList> </getScalingProcessTypeListResponse>
- 요청
getAutoScalingActivityLogList
API명
액티비티로그리스트조회
action
getAutoScalingActivityLogList
설명
과거 6주 동안의 모든 scaling action 로그를 결과로 받습니다. 진행 중인 action은 리스트 앞에 나타납니다.
또한 페이지로 나누어 볼 수 있습니다. 사용자가 각 페이지 사이즈(항목 수)와 페이지 번호를 지정할 수 있습니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
activityNoList | 스케일링 액션(activity) 식별 번호 | List |
- | No |
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | No |
pageNo | 페이지 번호 | Integer | Min:0, Max:2147483647 | No |
pageSize | 페이지 사이즈 | Integer | Min:0, Max:2147483647 | No |
activityNoList.N
- 스케일링 액션(activity) 식별 번호입니다.
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
pageNo
- 리스트조회시 Pagination의 페이지 정보를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 리스트를 조회합니다.
pageSize
- 리스트 조회시 Pagination의 보여질 정보의 개수를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 목록을 조회합니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/getAutoScalingActivityLogList ?activityNoList.1=1939 &activityNoList.2=1943
- 응답
<getAutoScalingActivityLogListResponse> <requestId>c9df714e-29b7-42dd-9a38-7ac2be68f191</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>2</totalRows> <activityLogList> <activityLog> <activityNo>1939</activityNo> <autoScalingGroupName>psw26-auto</autoScalingGroupName> <status> <code>INPRG</code> <codeName>IN_PROGRESS</codeName> </status> <statusMessage/> <actionCause>MAINTAIN_INSTANCE_LEVEL psw26-auto</actionCause> <description>MAINTAIN_INSTANCE_LEVEL psw26-auto</description> <details>{}</details> <startTime>2014-02-17T13:28:47+0900</startTime> </activityLog> <activityLog> <activityNo>1943</activityNo> <autoScalingGroupName>asg-1</autoScalingGroupName> <status> <code>SUCCS</code> <codeName>SUCCESSFUL</codeName> </status> <statusMessage/> <actionCause>updateAutoScalingGroup asg-1</actionCause> <description>updateAutoScalingGroup asg-1</description> <details> updateAutoScalingGroup {autoScalingGroupNo=273, autoScalingGroupName=asg-1, requestTypeCode=API, zoneNoList=null, launchConfigurationName=null, desiredCapacity=0, oldDesiredCapacity=1, healthCheckTypeCode=SVR, minSize=0, healthCheckGracePeriod=null, clientIp=10.64.49.152, launchConfigurationNo=293, maxSize=0, memberNo=212} </details> <startTime>2014-02-24T13:47:52+0900</startTime> <endTime>2014-02-24T13:52:55+0900</endTime> </activityLog> </activityLogList> </getAutoScalingActivityLogListResponse>
- 요청
getAutoScalingConfigurationLogList
API명
오토스케일링설정로그리스트조회
action
getAutoScalingConfigurationLogList
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
configurationNoList | 설정번호리스트 | List |
Min : 1, Max : 255 | No |
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | No |
pageNo | 페이지 번호 | Integer | Min:0, Max:2147483647 | No |
pageSize | 페이지 사이즈 | Integer | Min:0, Max:2147483647 | No |
configurationNoList.N
- 론치 설정 번호를 입력하지 않을 경우 계정 내 생성된 모든 론치목록 정보가 보입니다.
- 론치 설정 번호 목록을 입력하면 요청한 론치에 해당되는 목록정보만 보입니다.
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
pageNo
- 리스트조회시 Pagination의 페이지 정보를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 리스트를 조회합니다.
pageSize
- 리스트 조회시 Pagination의 보여질 정보의 개수를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 목록을 조회합니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/getAutoScalingConfigurationLogList ?configurationNoList.1= 6798
- 응답
<getAutoScalingConfigurationLogListResponse> <requestId>b41fdd2c-539f-4792-9fa9-96b08550e2d6</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>4</totalRows> <configurationLogList> <configurationNo>6798</configurationNo> <configurationActionName>executePolicy</configurationActionName> <parameters /> <launchConfigurationName>test-autoscaling</launchConfigurationName> <autoScalingGroupName>soso02</autoScalingGroupName> <scheduledActionName /> <settingTime>2018-04-05T16:57:06+0900</settingTime> </configurationLogList> </getAutoScalingConfigurationLogListResponse>
- 요청
getAutoScalingPolicyList
API명
오토스케일링정책리스트조회
action
getAutoScalingPolicyList
설명
Auto Scaling 정책(policy) 들에 대한 설명을 리스트 형태로 받습니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
policyNameList | 정책명리스트 | List |
Min : 1, Max : 255 | No |
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | No |
pageNo | 페이지 번호 | Integer | Min:0, Max:2147483647 | No |
pageSize | 페이지 사이즈 | Integer | Min:0, Max:2147483647 | No |
policyNameList.N
- 정책 이름(식별자) 리스트입니다.
- 지정되어 있지 않으면 사용자가 보유한 모든 정책 정보를 받습니다.
autoScalingGroupName
- 조회하고자 하는 오토스케일링 그룹명을 입력합니다.
pageNo
- 리스트조회시 Pagination의 페이지 정보를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 리스트를 조회합니다.
pageSize
- 리스트 조회시 Pagination의 보여질 정보의 개수를 입력합니다.
- 기본 값 0으로 입력한 경우 모든 목록을 조회합니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/getAutoScalingPolicyList ?autoScalingGroupName=asg-0602b &pageNo=1 &pageSize=10 &policyNameList.1=scale-out &policyNameList.2=scale-in
- 응답
<getAutoScalingPolicyListResponse> <requestId>b3b5947c-a4fd-4104-b619-ba472665d50c</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>2</totalRows> <scalingPolicyList> <scalingPolicy> <policyName>scale-in</policyName> <autoScalingGroupName>asg-0602b</autoScalingGroupName> <adjustmentType><code>CHANG</code><codeName>ChangeInCapacity</codeName></adjustmentType> <scalingAdjustment>-1</scalingAdjustment> </scalingPolicy> <scalingPolicy><policyName>scale-out</policyName> <autoScalingGroupName>asg-0602b</autoScalingGroupName> <adjustmentType><code>PRCNT</code><codeName>PercentChangeInCapacity</codeName></adjustmentType> <scalingAdjustment>50</scalingAdjustment><cooldown>600</cooldown> <minAdjustmentStep>2</minAdjustmentStep> </scalingPolicy> </scalingPolicyList> </getAutoScalingPolicyListResponse>
- 요청
putScalingPolicy
API명
스케일링정책생성/변경
action
putScalingPolicy
설명
Scaling 정책(policy)을 생성하거나 변경합니다. 정책 수행을 요청하면 설정된 정책에 따라 scale-in 또는 scale-out action을 수행합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
policyName | 정책명 | String | Min : 1, Max : 255 | Yes |
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
adjustmentTypeCode | 조정유형코드 | String | Min : 1, Max : 5 | Yes |
scalingAdjustment | 스테일링조정값 | Integer | Min: -2147483647, Max : 2147483647 | Yes |
cooldown | 쿨다운타임 | Integer | Min:0, Max:2147483647 | No |
minAdjustmentStep | 최소조정스텝 | Integer | Min:1, Max:2147483647 | No |
policyName
- 정책 이름. 스케일링 정책의 식별자
- 특정 Auto Scaling Group 소속이며 그 범위 안에서는 이 이름이 중복 생성될 수 없습니다.
- 이 api를 호출했을 때 지정된 Auto Scaling Group의 범위 안에서 정책 이름이 없다면 생성을 하고 이미 존재한다면 그 내용을 변경합니다.
- 하나의 Auto Scaling Group당 최대 10개의 정책을 생성할 수 있습니다.
autoScalingGroupName
- 정책이 수행될 오토스케일링 그룹명을 입력합니다.
adjustmentTypeCode
- Group의 capacity를 조정하는 유형 코드
- 다음과 같이 3개의 코드가 유효합니다. (괄호 안이 입력 가능한 코드 값)
- ChangeInCapacity(CHANG) : 아래 수식과 같이 capacity가 지정된 값만큼 변경됩니다. 수식) (new desired capacity) = (current actual capacity) + (scalingAdjustment of ChangeInCapacity type)
- ExactCapacity(EXACT): capacity가 지정된 값으로 변경됩니다 수식) (new desired capacity) = (scalingAdjustment of ExactCapacity type)
- PercentChangeInCapacity(PRCNT) : capacity가 지정된 perecent 값만큼 변경됩니다 수식) (new desired capacity) = (current actual capacity) + (current actual capacity) X (scalingAdjustment of PercentChangeInCapacity type) / 100
scalingAdjustment
- 스케일링을 위한 Group capacity 조정 값
- adjustmentTypeCode 값이 ChangeInCapacity(CHANG) 또는 PercentChangeInCapacity(PRCNT) 유형일 때
- scalingAdjustment가 양수이면 capacity가 증가해서 scale-out
- scalingAdjustment가 음수이면 capacity가 감소해서 scale-in
- PercentChangeInCapacity(PRCNT) 유형의 scalingAdjustment의 최소 값은 -100입니다.
cooldown
- 스케일링 액션 종료 이후 cooldown 시간 동안은 알람 통보를 받아도 무시합니다.
minAdjustmentStep
- 최소 조정 폭(step)
- adjustmentTypeCode 유형이 PercentChangeInCapacity(PRCNT)일 때만 지정 가능합니다 (따라서 지정 안 하는 것도 가능).
- 다른 유형 값일 경우는 지정이 안됩니다.
- PercentChangeInCapacity(PRCNT) 유형일 때 scalingAdjustment에 의한 변경량(change)이 minAdjustmentStep보다 작으면 변경량을 minAdjustmentStep으로 설정합니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/putScalingPolicy ?adjustmentTypeCode=PRCNT &autoScalingGroupName=asg-0602b &cooldown=100 &minAdjustmentStep=2 &policyName=p-0602 &scalingAdjustment=40
- 응답
<putScalingPolicyResponse> <requestId>492648d9-9016-4b29-9773-bc457c2bdefd</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </putScalingPolicyResponse>
- 요청
deletePolicy
API명
스케일링정책삭제
action
deletePolicy
설명
Scaling 정책(policy)을 삭제합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
policyName | 정책명 | String | Min : 1, Max : 255 | Yes |
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
policyName 삭제할 스케일링 정책 이름
autoScalingGroupName 정책을 삭제할 오토스케일링 그룹명을 입력합니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/deletePolicy &autoScalingGroupName=asg-0601 &policyName=scale-out
- 응답
<deletePolicyResponse> <requestId>beb99f0c-9415-469f-8c1c6ac130a16515</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </deletePolicyResponse>
- 요청
executePolicy
API명
스케일링정책수행
action
executePolicy
설명
지정된 scaling 정책(policy)를 수행합니다.
요청 파라미터
파라미터명 | 간략 설명 | 타입 | 제약 | 필수 여부 |
---|---|---|---|---|
policyName | 정책명 | String | Min : 1, Max : 255 | Yes |
autoScalingGroupName | 오토스케일링그룹명 | String | Min : 1, Max : 255 | Yes |
honorCooldown | 쿨타운타임존중여부 | Boolean | - | No |
policyName
- 수행할 스케일링 정책 이름
autoScalingGroupName
- 정책을 수행할 오토스케일링 그룹명을 입력합니다.
honorCooldown
- Cooldown 시간 준수 여부
- 이 api를 호출했을 당시가 scaling action 도중이거나 cooldown 시간이면 이를 준수할 지 정합니다. true이면 준수하고 false이면 준수하지 않습니다.
- 디폴트 값은 false. 즉 명시적으로 true로 지정하지 않으면 준수하지 않습니다.
Example
- 요청
{AUTOSCALILNG_API_URL}/executePolicy ?autoScalingGroupName=asg-0602b &honorCooldown=true &policyName=p-0602
- 응답
<executePolicyResponse> <requestId>0c811c22-cdd3-47e5-8d8b-434071de2e46</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> </executePolicyResponse>
- 요청
getAdjustmentTypeList
API명
조정유형리스트조회
action
getAdjustmentTypeList
설명
설정 가능한 정책(policy) 조정 유형들을 리스트 형태로 받습니다.
Example
요청
{AUTOSCALILNG_API_URL}/getAdjustmentTypeList
응답
<getAutoScalingPolicyListResponse> <getAdjustmentTypeListResponse> <requestId>9fc03056-b3c4-40c0-b52d-8538c1df8b9b</requestId> <returnCode>0</returnCode> <returnMessage>success</returnMessage> <totalRows>3</totalRows> <adjustmentTypeList> <adjustmentType><adjustmentType><code>CHANG</code><codeName>ChangeInCapacity</codeName></adjustmentType> </adjustmentType><adjustmentType><adjustmentType><code>EXACT</code><codeName>ExactCapacity</codeName></adjustmentType></adjustmentType> <adjustmentType><adjustmentType><code>PRCNT</code><codeName>PercentChangeInCapacity</codeName></adjustmentType></adjustmentType> </adjustmentTypeList> </getAdjustmentTypeListResponse>