2024. 12. 7. 20:20ㆍAWS/EC2
안녕하세요!
Onezero 입니다 :)
사전구성
- EC2 1대 생성
- LoadBalancer 구성
- 시작템플릿 생성
AutoScalingGroup 생성
EC2 Console로 접속하여, Auto Scaling에서 Auto Scaling 그룹을 클릭합니다.
Auto Scaling 그룹 생성을 클릭합니다.
7단계로 진행합니다.
1단계에서는 이름 설정과 시작템플릿을 선택합니다.
2단계에서는 네트워크 부분을 설정해줍니다.
AutoScaling을 하고자하는 VPC와 Private Subnet들을 선택합니다.
(본 Demo에서는 Private Subnet AZ-a 만 선택했습니다. AZ-c가 있을 시에는 a와 c를 선택합니다.)
3단계에서는 LoadBalancer 연결합니다.
기존에 생성한 LoadBalancer와 TargetGroup을 선택합니다.
4단계에서는 AutoScalingGroup의 크기를 설정합니다.
크기 조정 정책은 없음을 선택하고 만들어진 이후에 설정합니다.
원하는 용량 : 1
최소 용량 : 1
최대 용량 : 4
5단계에서는 알림추가를 할 수 있습니다.
설정을 해주면, EC2 인스턴스가 시작하거나 종료할 때마다 SNS로 알림이 전송됩니다.
6단계에서는 태그를 추가할 수 있습니다.
본 Demo에서는 다음을 눌러서 7단계로 넘어갑니다.
7단계는 검토로 전 단계들에서 설정하신 것들에 대해서 편집이 가능합니다.
이상이 없다면, 아래의 Auto Scaling 그룹 생성을 클릭합니다.
AutoScalingGroup이 생성된 것을 확인할 수 있습니다. 원하는 용량에 맞춰 생성된 것을 확인할 수 있습니다.
동적 크기 조정 정책 생성 전에 CloudWatch Console에 접속하여 경보탭에서 경보생성을 클릭합니다.
총 4단계로 진행합니다.
1단계에서는 지표 및 조건 지정이 있습니다. 지표 선택을 클릭합니다.
돋보기 옆에 cpu를 검색 후 CPUUtilization부분을 선택 후 지표 선택을 클릭합니다.
아래와 같이 지표 및 조건 설정을 해줍니다.
2단계에서는 알림 설정을 할 수 있습니다. 아래와 같이 설정합니다.
3단계에서는 경보에 대한 이름을 설정할 수 있습니다.
4단계에서는 전 단계에서 설정한 값들을 볼 수 있습니다. 이상 없을 경우, 아래의 경보 생성을 클릭합니다.
경보 생성이 완료된 것을 확인할 수 있습니다.
다시 AutoScalingGroup Console로 돌아와서, 정책 생성을 위해 생성된 AutoScalingGroup에서 자동크기조정 탭을 클릭합니다. 그리고 아래에 있는 동적 크기 조정 정책 생성을 클릭합니다.
정책 유형 : 단계 크기 조정
크기 조정 정책 이름 : “CPU_HIGH”
CloudWatch 경보 : 사전에 설정한 CloudWatch 경보 선택
용량 단위 앞에 숫자 1을 선택
즉, 80% 이상 CPU가 높아지게되면 1대의 인스턴스가 생성된다라는 조건을 생성합니다.
생성이 완료된 것을 확인할 수 있습니다.
AutoScaling Demo
Stress 명령어를 통해 AutoScaling하는 것을 실습합니다. (CPU 사용량이 80% 이상시 EC2 1대 추가)
1. EC2에 먼저 접속합니다.
2. 다음 명령어를 통해 Stress 패키지를 설치합니다.
sudo amazon-linux-extras install -y epel
sudo yum install -y stress
stress --version
3. 다른 세션을 열어, top 명령어로 cpu 사용량을 확인할 수 있는 환경을 만듭니다.
4. 다음 명령어로 CPU 부하를 줍니다. 300초동안 부하를 줍니다. CPU 1코어를 준 이유는 해당 서버가 CPU 1코어를 가지고 있기 때문입니다.
stress --cpu 1 --timeout 300s
CPU사용률이 99.9%로 올라가는 것을 top 명령어로 확인 가능합니다.
인스턴스가 1대 올라오면서 Pending 상태로 시작합니다.
InService 상태로 바뀌는 것을 확인할 수 있습니다.
LoadBalacer Console에 접속하여 Target Group을 보면, 기존에는 아래와 같이 등록된 대상이 1대였습니다.
CPU 부하 이후에는 아래와 같이 등록된 대상이 2대로 변하게 됩니다.
LoadBalancer 도메인 주소로 확인가능합니다.
AutoScaling 정책으로 CPU 부하에 따른 EC2 서버가 추가 생성하면서, LoadBalancer를 통해 장애없이 서비스가 동작하는 것을 확인하였습니다.
감사합니다!

'AWS > EC2' 카테고리의 다른 글
[AWS] EC2 서버 Private Key 교체 (1) | 2024.10.25 |
---|---|
[AWS] EBS 볼륨 확장하기 (0) | 2024.10.13 |