cloud/AWS

AWS- Amazon Auto Scaling

클라우디아랩 2021. 6. 18. 00:29

Auto Scaling 이란?

- 서버나 애플리케이션을 모니터링 하고 리소스를 자동으로 조정 하여 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지

구분 내용
서비스명 Amazon Auto Scaling
설명 성능과 비용을 최적화하도록 애플리케이션 규모 조정
주요특징 - Auto Scaling을 사용하면 애플리케이션 가용성을 간편하게 관리
- 사용자가 정의한 조건에 따라 EC2용량이 자동으로 확장/축소
- 실행중인 EC2 인스턴스의 수를 원하는 수준으로 유지 가능
- 수요가 급증할 경우 인스턴스의 수를 자동으로 증가( Scale in)
- 수요가 적을 경우 자동으로 용량을 감소시켜 비용 낭비를 최소화(Scale Out)
- 수요 변화가 많지 않은 애플리케이션과 사용량이 시, 일, 주 단위로 변하는 애플리케이션 모두에 알맞은 상품
프리티어 Auto Scaling 의 사용은 무료이지만, AWS리소스에 대한 비용과 CloudWatch 비용은 발생됨

 

 

Amazon Auto Scaling의 구성요소

 

Amazon Auto Scaling 그룹

- 인스턴스의 조정 및 관리목적으로 구성된 논리적 그룹으로 auto scaling을 수행하는 인스턴스 모음

- auto scaling 그룹을 사용하여 지정된 조건에 따라 자동으로 인스턴스 수를 늘리거나, 비정상적으로 동작하는 경우 고정된 수의 인스턴스를 유지하거나, 비용 절감을 위해 인스턴스의 수를 자동으로 조정

 

시작구성

- auto scaling그룹에서 인스턴스를 시작하는데 사용하는 템플릿

- 시작 구성을 생성하는 경우 AMI, 인스턴스 유형, 키페어, 하나 이상의 보안 그룹, EBS 등 인스턴스에 대한 정보를 지정

- 시작 구성은 여러개의 auto scaling 그룹에 지정될 수 있으나 auto scaling 그룹은 하나의 시작구성만을 지정

- 시작 구성은 한 번 생성한 이후에는 수정/변경할 수 없다. 변경하려면 시작 구성을 새롭게 생성

 

 

Amazon auto scaling 그룹 조정

- 인스턴스의 수를 늘리거나 줄이는 기능

- 조정 작업은 이벤트와 함께 시작되거나 auto scaling그룹의 인스턴스를 시작, 종료하도록 수행하는 조정 작업과 함께 수행

 

인스턴스 조정 옵션

옵션 사항  내   용
현재 인스턴스 수준 유지 관리 최소 또는 항상 지정된 수의 인스턴스를 실행 유지 관리하도록 구성
수동 조정 Auto Scaling그룹에서 최소, 최대 또는 원한느 용량의 변경 사항을 조정 변경
일정을 기반으로 조정 예측 가능한 일정에 따라 수요가 증가하거나 감소하는 경우 일정에 따른 확장 및 축소 작업을 시간 및  날짜 함수를 통해 자동으로 수행되도록 구성
온디멘드 기반 조정 - 리소스를 조정한느 효과적인 방법으로 인스턴스의 CPU 사용률이 15분 동안 90%유지될 때마다 인스턴스를 확장하도록 구성하는 정책을 생성
- 변화하는 조건에 따라 효과적으로 자원의 조정을 가능하게 한다. CPU, 메모리 사용량, 네트워크의 대역폭이 일정 수준 이상인 경우 새로운 인스턴스를 시작하고, 네트워크 대역폭이 다시 내려가면 인스턴스를 종료하는 정책을 수립
- 이러한 모니터링 기반의 조정은 2개의 (확장/축소) 정책을 통해 작업을 수행

 

 

ELB 설정

 

로드밸런스 클릭

load balancer 생성 클릭

 

이전세대 생성 클릭

 

load-balancer 이름 : AS-ELB

다음 :보안그룹 할당 클릭

 

새 보안 그룹 생성 : 체크

보안 그룹 이름: AS-ELB-SG

유형 : HTTP, HTTPS 추가

다음: 보안 설정 구성 클릭

 

다음: 상태 검사 구성

 

다음:EC2 인스턴스 추가

 

 

다음: 태그추가 클릭

검토 및 생성 클릭

 

생성 클릭

 

닫기 클릭

 

load balancer 확인

auto scaling 실습

 

 

Auto Scaling 그룹 이름 : ASG-Temp

템플릿이 없으면 시작 템플릿 클릭

 

시작 템플릿에서..

시작 템플릿 이름 - 필수 :  EC2-AS

템플릿 버전 설명 : ver 1

AMI - 필수 : Amazon Linux 2 AMI

 

인스턴스 유형 : t2.micro (프리티어)

 

사용자 데이터

#!/bin/bash
yum -y install httpd php mysql php-mysql
chkconfig httpd on
etc/init.d/httpd start
cd /tmp
wget https://s3.ap-northeast-2.amazonaws.com/cftest20180909/autoscaling-source.zip
unzip autoscaling-source.zip
sudo mv *.php /var/www/html

 

 

시작 템플릿 보기

 

 

확인

 

 

시작 템플릿 : EC2-AS

다음 클릭

 

서브넷 : ap-northeast-2a

다음 클릭

 

기존 로드 밸런서 연결 : 체크

로드 밸런서 대상 그룹에서 선택 : 체크

기존 로드 밸런서 대상 그룹 : ELB-gr |http

다음 클릭

원하는 용량 :1

최소 용량 :1

최대 용량 :3

 

대상추적 조정 정책 : 체크

다음 클릭

 

다음 클릭

 

다음 클릭

 

Auto scaling 그룹 생성 클릭

 

 

확인

 

 

 

 

 

 

 

 

 

'cloud > AWS' 카테고리의 다른 글

AWS - ElasticCache / Redis(Remote Dictionary Server)  (0) 2021.06.21
AWS - RDS(Relational Database Services)  (0) 2021.06.20
AWS-ELB(Elastic Load Balancing)  (0) 2021.06.18
AWS - Route53  (0) 2021.06.14
DNS (Domain Name System)  (0) 2021.06.14