AWS Auto Scaling을 통한 확장 가능한 인프라 구성

Joshua_s·2021년 11월 11일
0
post-thumbnail

개념정리

가용성

가용성이란?
시스템이나 서비스가 정상적으로 가동 및 실행되는 시간의 비율을 의미한다. 가용성이 높다는 의미는 서비스의 가동률이 높다는 것을 의미한다. 가용성은 정상적으로 작동된 시간 / 전체 사용 시간으로 값을 구하며 이 값이 높을수록 가용성이 높다는 것을 의미한다. 또한 가용성이 높은 것을 고가용성이라고 표현한다.

확장성

확장성이란?
서비스나 프로그램이 높아지는 성능 요구에 맞게 향상될 수 있는 정도, 즉 요구에 맞도록 시스템을 확장할 수 있는 정도를 의미한다. 이러한 확장성은 물리적 하드웨어 환경에서 스케일 업, 스케일 아웃이라는 두 확장성 전략을 이용하여 구현 가능하다. AWS의 AutoScaling은 클라우드의 이점을 살려서 인프라의 증축을 쉽게 구현이 가능하여 확장성 및 탄력성이 높은 시스템을 구축할 수 있다.

AWS Auto Scaling

Auto Scaling?
AWS가 제공하는 서비스중 하나이다. 사용자가 정의한 조건에 따라 EC2의 용량이 자동으로 확장/축소되는 기능, EC2 인스턴스의 수를 원하는 수준으로 유지, 수요에 따라 인스턴스의 수를 증가 or 감소 등의 기능을 함으로써 성능과 비용을 최적화할 수 있다. 서버나 앱을 모니터링하고 리소스를 조정하여 최대한 저렴한 비용으로 안정적이고 예측가능한 성능을 유지해준다는 것이다.

구성요소
1. Auto Scaling 그룹
인스턴스의 조정 및 관리를 목적으로 구성된 논리적 그룹으로 Auto Scaling을 수행하는 인스턴스의 모음이다. 인스턴스의 수를 조건에 따라 자동으로 조정 및 관리한다.

2. 시작 구성
Auto Scaling 그룹에서 인스턴스를 시작하는데 사용하는 템플릿, 시작 구성을 생성하는 경우 AMI, 인스턴스 유형, 키페어, 보안 그룹, EBS등 인스턴스에 대한 정보를 지정한다, 한번 생성하면 이후에 수정 및 변경이 불가능하다.

시작 구성은 사용하지 않는 것이 좋습니다. Amazon EC2 Auto Scaling 또는 Amazon EC2의 일부 구성을 제공하지 않기 때문입니다. 시작 구성은 시작 구성에서 시작 템플릿으로 아직 마이그레이션하지 않은 고객을 위해 제공하고 있습니다. -AWS 공식입장-

3. Auto Scaling 그룹 조정
인스턴스의 수를 늘리거나 줄이는 기능으로 조정 작업은 이벤트와 함께 시작되거나 인스턴스를 시작하거나 종료하도록 수행하는 조정작업과 함께 수행됨

  • 인스턴스 조정옵션
  1. 현재 인스턴스 유지 관리 : 최소 또는 항상 지정된 수의 인스턴스를 실행 유지 관리
  2. 수동조정 : 원하는 용량의 변경사항을 조정 변경 할 수 있음
  3. 일정기반 : 일정에 맞게 수요가 예측될때 시간 및 날짜 함수를 통해 자동으로 수행하도록 구성
  4. 온디맨드 기반 : 가장 효과적인 방법으로 자원의 사용률을 바탕으로 한다. 자원들의 상태가 설정값까지 증가하면 새로운 인스턴스 확장하여 조정 감소하면 축소하는 방식

Auto Scaling 테스트

ELB설정

1. 로드밸런서 생성 -> classic Load Balancer

2. 보안그룹 할당, 서브넷 할당,인스턴스 추가하지 않고 생성

Auto Scaling 구성

1. Auto Scaling 그룹-> 생성

2. Linux AMI로 시작템플릿을 만든후 적용

3. 그룹크기는 1~3, 조정 정책에서 cpu 사용률 40%로 적용

4. 생성

인스턴스에 부하를 주면 값이 늘어남에 따라 EC2가 생성되고 삭제되는 것을 확인할 수 있습니다.

profile
devops engineer가 되기 위해

0개의 댓글