[AWS EC2] 9. Auto Scaling

2020. 3. 20. 10:30AWS

반응형

ㅇ AutoScaling란?

    > 유저가 몰리거나 빠져나갈 때에 대한 기준을 만들어 두고 그에 따라 Scale In과 Scale Out을 자동으로 수행되도록 하는 서비스

    > Scale In: 불필요한 서버의 대수를 줄려 처리 능력을 감소시키는 것

    > Scale Out: 접속된 서버의 대수를 늘려 처리 능력을 향상시키는 것

 

ㅇ Load Balancer 생성

    > 이전 블로그(로드 밸런서 생성법)를 참고하여 Load Balancer를 생성(단, 다음 2가지 사항은 다르게 제작)

        * 1단계 VPC 가용영역: Test_VPC가 아닌 기본 VPC로 설정 / Subnet 역시 기본 Subnet 3개 사용

        * 5단계 대상 등록: 인스턴스 등록 안함

 

ㅇ 이미지(AMI) 생성

        * 이미지(AMI): 서버가 정상적으로 동작했을 때의 상태를 미리 이미지로 저장해 놓는 것

        서버에 문제가 생겼을 경우, 현재 서버를 내리고, 미리 제작해둔 이미지(AMI)를 통해 인스턴스 생성이 가능

    > [EC2 서비스] - [인스턴스] - [인스턴스 우측 클릭] - [이미지] - [이미지 생성] 선택

 

    > 원하는 이미지 이름 입력 및 [재부팅 안 함] 선택

 

    > [EC2 서비스] - [AMI] 에서 앞서 생성한 이미지들을 확인 가능

        * Auto Scaling 수행 시 해당 이미지를 사용해 인스턴스를 제작함

 

ㅇ AutoScaling 생성 - 시작 구성

    > [EC2 서비스] - [시작 구성] - [시작 구성 생성] 선택

 

    > [내 AMI] 선택 후, 앞서 생성한 AMI로 제작

 

    > 원하는 유형 선택

 

    > 시작 구성 이름 입력

 

    > 원하는 용량과 볼륨 입력

 

    > 보안 그룹 생성 시, HTTP는 반드시 포함되어야 있어야 함

 

 

ㅇ AutoScaling 생성 - Auto Scaling 그룹

    > [EC2 서비스] - [Auto Scaling 그룹] - [Auto Scaling 그룹 생성] 선택

 

    > 앞서 [시작 구성]에서 생성한 시작 구성 선택

 

    > 그룹 이름 입력 

    > 네트워크에 기본 VPC 선택 후, 원하는 서브넷 선택

        * ELB없이 일반 서브넷에 auto scaling 생성 시, 공인 IP가 주어지지 않음

        * 이번 실습은 CPU에 의도적으로 부하를 주어 Auto Scaling이 작동하는 모습을 확인해야하므로 기본 VPC를 선택해 공인 IP를 부여받음

    > [고급 세부 정보]에서 [로드 밸런싱] 선택 후, [대상 그룹]에 미리 제작해둔 로드 밸런서 그룹을 선택

 

    > Auto Scaling 수행 시 유지되는 인스턴스의 최소, 최대 크기 설정 및 그룹 크기 설정

        * 평균 CPU 사용률이 70% 이상일 경우 Scale Out을, 이하일 경우 Scale In을 수행

        * 만약 보다 정밀한 설정을 원한다면 [단계 또는 단순 조정 정책을 사용하여 Auto Scaling 그룹 조정]을 선택하여 조절 가능

 

    > Auto Scaling 수행 시, 인스턴스가 생성되거나 소멸될 때 이메일과 같은 알람 설정이 가능

   하지만 이번 실습에서는 수행하지 않을 것이므로 패스

 

    > 태그 역시 패스

 

ㅇ Auto Scaling 확인 

    > Auto Scaling 생성이 모두 끝났으므로 CPU에 부하를 주어 인스턴스가 스스로 생성되는지를 확인함으로써 정상 작동을 확인할 것

    > stress 명령어를 위한 repository 설치

        yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

 

    > epel 저장소 추가

        yum install -y epel-release

 

    > stress 명령어 설치

        yum install -y stress

 

    > cpu에 stress를 주고 정상 작동 확인

        stress -c 1  // CPU 코어 한 개에 stress 부여

        Ctrl + Z  // 백그라운드로 이동(ctrl + C로 이동 시, stress가 종료되며 백그라운드로 이동됨)

        top  // cpu 사용량 확인

    > CPU 사용률이  99.7%로 (1) stress 명령어가 정상 작동하고, (2) CPU 사용률이 70% 이상이므로 Auto Scaling이 작동할 것을 알 수 있음

 

    > top명령와 별도로 [EC2 서비스] - [인스턴스]에서 인스턴스를 선택한 후 [모니터링]을 선택하면, 해당 인스턴스의 해당 리소스 사용률을 확인 가능

 

    >이름이 없는 인스턴스가 실행됨으로써 Auto Scaling이 정상 작동함을 확인 가능

반응형

'AWS' 카테고리의 다른 글

[AWS IAM] 11-2. 계정 및 리소스 보호(1)  (0) 2020.03.25
[AWS IAM] 11-1. IAM  (0) 2020.03.24
[AWS RDS] 10. RDS  (0) 2020.03.23
[AWS EC2] 6. EBS  (0) 2020.03.17
[AWS VPC] 4. Transit Gateway  (0) 2020.03.13