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 |