Auto Scaling 기본 개념과 특징
AWS EC2 Auto Scaling
클라우드 컴퓨팅에서 가장 중요한 특징 중 하나인 필요에 따라 서비스를 빠르게 확장하거나 축소할 수 있는 유연성이다.
그중, 오토스케일링(Auto Scaling)은 클라우드의 유연성을 돋보이게 하는 핵심기술이다.
즉, 서버 사이즈를 자동으로 조절 하는 서비스를 말한다.
이를 통해 사용자는 예상치 못한 서비스 부하에 효과적으로 대응하고, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지 할수 있다.
즉, 정리하자면 가용성을 위해서 EC2 인스턴스를 자동 크기조정 서비스이다.
Auto Scaling 구성요소
수직적 확장
EC2의 성능을 올려주는 것으로 생각하면 된다. 용량/메모리를 향상시켜 올린다 해서 Scale-Up이다.
(Upgrade랑 비슷하다고 생각하면 된다.)
수평적 확장
오토스케일링의 경우는 Scale-Out에 해당한다.
기존의 스펙 서버를 똑같은 스펙으로 갯수를 늘리는 것이다. 확장을 한다고 생각하자.
Auto Scaling 실습해보기
VPC생성 시 가용영역 2개로 설정해야 오토스케일링 테스트를 원활하게 할 수 있다.
아래의 링크를 통해서 EC2 설치를 확인해서 실습할 수 있다.
2023.11.06 - [Amazon Web Service] - AWS EC2 인스턴스 개념 및 서버 구축하기
웹에서 테스트를 해봐야 하기 때문에, EC2 서버를 SSH로 접속 후에 아파치를 설치한다.
오토스케일링 테스트를 하기 위해 스트레스 프로그램 설치
스트레스 프로그램으로 강제로 EC2에 과부화를 줘서 Auto-Scaling 동작하게끔 한다.
아파치 데몬 실행
EC2 서버 접속완료
이번에는 로드밸런서에서 대상그룹 생성 후, 대상그룹 안으로 오토스케일링이 동작하게끔 해서 대상그룹 안으로 설정하는 실습을 진행하려고 한다.
위에 그림에서 확인할 수 있듯이, pjs-lb 라는 로드밸런서 DNS로 아파치 서버에 접속하는 것을 확인 해볼 수 있다.
로드밸런서 DNS로 접속완료!
여기까지 오토스케일링을 테스트하기 위한 기본적인 세팅이 완료되었다.
오토스케일링 테스트를 위한 이미지 생성한다.
Why? 이미지?
오토스케링일을 테스트 하기 위해서는 시작 템플릿을 사용해야한다. 그 시작템플릿에는 AMI를 넣어야하기 때문에 AMI를 생성해주는 것이 필수이다.
Auto Scaling에 가보면 좌측 카테고리에 시작템플릿을 확인해볼 수 있다.
시작 템플릿을 생성 👉 생성한 이미지를 선택 👉 인스턴스 유형을 선택
나머지는 EC2랑 생성하는 방법이 똑같다.
서브넷은 선택X 👉 오토스케일링 그룹에서 진행 할 예정
시작템플릿 생성 완료!
시작템플릿으로 오토스케일링뿐 아니라 인스턴스 생성도 가능하다.
테스트용 서버를 사용할 때, 테스트 서버를 다시 이용하고 싶을 때 테스트 서버를 새로 만들지않고, 시작템플릿을 활용해서 빠르게 간단하게 구축이 가능하다.
오토스케일링 그룹을 생성한다.
위에서 생성한 시작템플릿 선택 후 오토스케일링 그룹을 생성한다.
네트워크에서 서브넷 2개 선택
서브넷을 2개 선택해야지 오토스케일링이 원활하게 진행될 수 있다. = 이중화 구성
로드밸런서 선택시, 앞에서 만든 로드밸런서 그룹을 선택
오토스케일링을 통해서 서버가 올라 갈때, 동작했는지 확인하는 시간 = 상태 확인 유예기간
그룹크기에서 원하는 용량 = 원하는 최소용량은 같아야한다.
오토스케일링 그룹 생성완료!
기존에 생성해놓은 EC2를 오토스케일링 그룹에 연결하는 작업이다.
즉, 오토스케일링 그룹을 만들 때 설정할 필요없이 EC2에서도 설정이 가능하다.
오토스케일링으로 서버를 생성 시 삭제를 방지하기 위한, 인스턴스 축소 보호 설정을 할 수 있다.
Auto Scaling 테스트
top
top 라는 명령어를 통해서 현재 EC2 VM의 상태를 확인 할 수 있는 창 설정.
stress --cpu 1
위 명령어로 스트레스를 준다. 해당 EC2 VM에 Stress 실행
맨처음 top 명령어를 했을 때는 Cpu 값이 0인 것을 확인 할 수 있다.
하지만,. Stress 이후에는 CPU 상태가 0에서 100이 되었고, stress가 되었다는 상태를 밑에서 확인이 가능하다.
위와 같이 이름없는 새로운 서버가 하나 더 생성 된 것을 확인 할 수 있다.
'Amazon Web Service' 카테고리의 다른 글
[AWS] CDN(Content Delivery Networks) 개념 그리고 CloudFront 개념 특징 그리고 실습을 통한 CloudFront 익히기! (2) | 2024.01.13 |
---|---|
[AWS] S3 기본 개념과 특징 그리고 Bucket 생성 후 데이터 업로드 실습 후 URL 접속하기 (0) | 2024.01.12 |
AWS Cloud Practitioner 자격증 도전 및 시험준비 그리고 합격!!(AWS 자격증 시험) (2) | 2023.11.24 |
AWS WAS(Web Application Server) 생성 후, Apache Tomcat으로 서버 연결하기! (0) | 2023.11.06 |
AWS AMI 개념 및 특징 그리고 구축하기 & 스냅샷(Snapshot)개념 (0) | 2023.11.06 |