Cloud Infra Architecture (AWS)/AWS Build

AWS auto Scaling 과부하 테스트

seongduck 2024. 4. 20. 17:38

auto scaling 생성

1) EC2 생성

 

2) 생성된 EC2로 이미지 생성

인스턴스 클릭
"이미지 및 템플릿" 클릭 후 "이미지 생성"
이름 작성 후 "재부팅 안함" "활성화"
"이미지 생성" 클릭

 

2-1) 시작템플릿 생성

"시작 템플릿" 생성 클릭
"어플리케이션 및 OS 이미지"에서 "내 AMI" - "내소유" - "위에서 만든 이미지 클릭"
"인스턴스 유형" - "현재 본인의 EC2 Type"
"키페어" - "현재 본인꺼"
"네트워크 설정" - 본인 만들고자하는 서브넷 및 보안그룹 선택(EC2와 동일하게)
"고급세부정보"에 필요한 사용자데이터 생성

 

2-2) 시작템플릿에서 Auto scaling group 생성

"시작 템플릿" 생성 클릭 후 "auto scaling group" 생성
"기존 로드밸런서 연결" - "tg 연결"
상태 확인 유예 시간" - 120초
(중요)
"그룹 크기" - "원하는 용량 : 0" - "원하는 최소 용량 : 0" - "원하는 최대 용량 : 3"
"대상크기 조정 정책" - 알맞게 입력 - "워밍업 60초"
"대상 추적 크기 조정 정책" - 알맞게 설정

 

3) auto scaling 설정

ec2 접속
해당 ec2 - "작업" - "인스턴스 설정" - auto scaling 그룹에 연결" = "연결"

auto scaling group 접속
"인스턴스 관리" - "인스턴스 등록" - "작업" - "축소 보호 설정"

 축소보호된 원본 EC2는 추후 제거되지 않는다.

 

3-1) 축소 설정

우선 EC2를 등록하고 "축소 보호 설정" 한 상태에서 설정한다.

auto scaling - "작업" - "편집" - "원하는 최소 용량 : 1"로 변경

 

주의! auto scaling 그룹안에 EC2가 있는 상태로 삭제하면 EC2도 삭제됨

"auto scaling" 클릭
"인스턴스 관리" - "EC2 선택" - "작업" - "분리"

분리가 완전히 완료되고 auto scaling을 지워야 한다.

주의! auto scaling 그룹안에 EC2가 있는 상태로 EC2를 중지하면 삭제됨

 

 

서버 접속 후 stress 테스트

 

인위적으로 stress 생성하기 위한 툴 설치

sudo yum -y install stress #설치

 

코어 수 대비 과부하 시작

stress --cpu 2 #필자는 core 2짜리 instance

 

현재 상황 확인

ctrl + z
top

 

백그라운드 종료

bg #확인
fg
crtl + c