AWS AutoScaling
AWS AutoScaling
- 이번 장에서는 CloudComputing의 꽃이라고도 할 수 있는 AutoScaling 서비스를 구축해보겠습니다.
- AutoSacling의 대한 개념은 AutoScaling을 참조해주세요.
AWS AutoScaling ( 이하 As )
- AMI 생성 후, As 그룹 생성을 위해 좌측의 메뉴에서 Auto Scaling > Auto Scaling 그룹 생성을 클릭합니다.
- As그룹에서 시작하기를 클릭합니다.
- 내 AMI에서 생성한 AMI를 선택합니다.
- AMI 선택이 완료되면 기본적인 시작 구성들을 입력합니다.
- 보안 그룹을 기존의 80번 포트가 열려있는 보안그룹을 사용했습니다.
- 기본 구성이 완료되면, 바로 As 그룹생성으로 이동됩니다.
- 그룹 생성에서 위의 그림과 VPC와 서브넷을 설정합니다.
- 여기서 시작구성에서 선택한 보안그룹과 선택한 보안그룹이 일치하지 않으면 에러가 발생합니다.
- As 그룹생성에서 정책을 설정합니다.
- 평균 cpu의 사용이 5분간 30%이상이면 증가하는 정책을 생성합니다.
- 이와 동일하기 평균 cpu의 사용이 5분간 30%미만이면 삭제되는 정책을 생성합니다.
- 생성이 완료되면 As 보안그룹을 통해 인스턴스의 수, 최소, 최대 용량을 확인할 수 있습니다.
- 인스턴스가 생성된 것을 확인 할 수 있습니다.
$ apt -y update
$ apt -y install stress
$ stress -c 1
- 이제 As 확인을 위해 stress를 설치 후 작동시킵니다.
- stress를 실행 후, 설정시간이 경과하면 인스턴스가 증가됨을 확인할 수 있습니다.
- 이와 같이 As를 통해 인스턴스를 정책에 따라 자동적으로 증가& 감소 시키는 것이 가능합니다.
- 또한 저번 장에서 구축했던 ELB에 As 그룹을 등록하면, 자동적으로 로드 밸런싱을 되어 유동적인 자원관리가 가능해집니다.
AWS CLI를 통한 생성
$ aws autoscaling create-launch-configuration \
--launch-configuration-name launch-config-sample \
--image-id [ AMI ID ] \
--key-name [ key name ] \
--no-ebs-optimized \
--instance-type [ instance type ] \
--instance-monitoring Enabled=true \
--security-groups [ 보안그룹 ID ] \
--associate-public-ip-address
As 주요 설정 파라미터
항목 이름 설명 Auto Sacling Group Name As 그룹명 Launch Configuration As 그룹에서 사용할 Launch Configuration Load Balancers As 그룹에서 사용할 ELB Desired As 그룹조건에 해당하지 않는 일반적인 인스턴스의 수 Min As 그룹에서 사용할 인스턴스의 최솟값 Max As 그룹에서 사용할 인스턴스의 최댓값 Health Check Type As 그룹에서 사용할 헬스 체크 판단 유형 ( EC2 or ELB ) Health Check Period As 그룹의 헬스 체크가 시작될 때 까지의 초 Termination Policies As 그룹에 속한 인스턴스의 삭제방침 Availability Zone As 그룹이 사용할 가용영역 Subnet As 그룹이 사용할 서브넷 Default Cooldown 스케일링 처리 후에 새로운 스케일링 처리를 받을 때 까지의 시간 Placemenet Group 낮은 레이턴시 ( Latency ) 환경과 논 블로킹 통신이 가능한 Placement Group을 선택 Suspended Processes 처리를 일시적으로 정지시킬 프로세스 목록 ( AWS CLI의 suspend-processes 명령어로 설정 ) Enabled Metrics CloudWatch 에서 활성화 되어 있는 매트릭스 목록
Scaling Policy 유형
유형 설명 ChangelnCapacity 그룹의 현재 용량을 지정한 수의 인스턴스만큼 늘리거나 줄입니다. ExactCapacity 그룹의 현재 용량을 지정된 수의 인스턴스로 변경합니다. PercentChangelnCapacity 그룹의 현재 용량을 지정된 비율만큼 늘리거나 줄입니다.
Scaling Policy의 주요 파라미터
항목 이름 설명 Scaling policy Name 이름 지정 Execute policy when 실행할 조건 ( CloudWatch의 Alram으로 설정 ) Take the action Auto Scaling Group의 목표 인스턴스 수를 설정 And than wait 다른 스케일링 처리가 실행되고 있을 때 대기할 시간
마지막 수정일자