AWS EC2 4편

2023. 6. 7. 08:13DevOps/AWS 기초

✅ 아래 내용들에 대해서 알아보자

- Autoscaling
- EC2 Autoscaling
- EC2 Autoscaling 실습
- EC2 Autoscaling 성능 테스트

 

 

Autoscaling

 스케일링이란 시스템이나 애플리케이션의 컴퓨팅 파워(CPU, RAM 등..)를 증가하는 것을 말한다.

스케일링은 2가지 타입이 있다.

 

1. 수평 스케일링(Scale-Out, Horizontal Scaling)

 수평 스케일링은 시스템에 더 많은 인스턴스(서버)를 추가하여 처리 능력을 증가시키는 방식이다.

즉, 서버의 개수를 증가시키는 것을 말한다. 서버 개수를 증가시켜 작업 부하를 분산 처리하고 병렬로 실행하게 된다.

 

서버 클러스터링, 로드 밸런싱, 컨테이너 오케스트레이션(ex. k8s)등을 통해 scale-out이 가능하다.

클라우드 환경에서는 scale-in 보다는 scale-out을 고려해야 한다.(저렴하게 많이 유연하게 서버 관리가 가능하다.)

 

Scale-Out

 

2. 수직 스케일링(Scale-Up, Vertical Scaling)

 수직 스케일링은 단일 서버에 리소스(CPU, 메모리 등)를 증가시켜 처리 능력을 향상하는 방식이다.

Scale Up 방식의 단점은 성능과 비용이 비례하지 않는다는 것이다.

 

Scale Up 방식

 

 

EC2 Autoscaling

 AWS AutoScaling은 AWS에서 제공하는 자동 스케일링 서비스로, EC2 인스턴스의 수를 동적으로 조정하여 트랙픽이나 작업 부하에 자동으로 대응할 수 있도록 도와준다.(EC2, DDB, Aurora, ECS 등 다양한 오토 스케일링 제공한다)

 

애플리케이션을 모니터링하고 용량을 자동으로 조정하여 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지해 주고 몇 분만에 애플리케이션 규모를 설정, 관리할 수 있다.

 

EC2 Autoscaling 특징

  • EC2 AutoScaling은 정확한 수의 EC2 인스턴스를 보유하도록 보장한다.
  • 그룹의 최소 인스턴스 숫자 및 최대 인스턴스 숫자를 관리한다.
  • 다양한 스케일링 정책 적용 가능하다(ex. 트래픽에 몰림에 따라 부하 관리를 위한 Scale-Out)
  • 가용영역에 인스턴스가 골고루 분산될 수 있도록 인스턴스 분배(하나의 가용영역에 몰리면 장애 시 대응 불가)

 

EC2 Autoscaling 구성

 

시작 구성/시작 템플릿 : AutoScaling 할 EC2의 정보들

  • EC2 타입, 사이즈
  • AMI
  • 보안 그룹, Key, IAM
  • 유저 데이터

 

모니터링 : 언제 AutoScaling을 실행시킬 것인가? + 상태확인

  • 예: CPU 점유율이 일정 % 넘어섰을 때 추가로 실행 or 2개 이상의 필요한 스택에서 EC2 하나가 죽었을 때
  • 보통 CloudWatch, ELB와 연계(상태확인)

 

설정 : 얼마나 어떻게 실행시킬 것인가?

  • 최대/ 최소/ 원하는 인스턴스 갯수
  • ELB와 연동 등

 

오토 스케일링 동작 방식

 

 

EC2 Autoscaling 실습

 

1. EC2 시작 템플릿 클릭

 

EC2 시작 템플릿 클릭

 

2. EC2 시작 템플릿 내용 설정 (이름, AMI, 네트워크 등) 후 템플릿 생성

 

설정 정보 입력

 

3. 템플릿 생성 완료 후 Auto Scaling 그룹 메뉴로 이동

 

템플릿 생성 완료

 

4.  오토 스케일링 이름 입력 및 시작 템플릿 설정

 

오토 스케일링 그룹 이름 및 시작 템플릿 설정

 

5. 네트워크 및 로드 밸런싱 설정(현재는 로드 밸런서를 사용하지 않을 것임)

 

네트워크 및 로드 밸런싱 설정

 

6. 오토 스케일링 그룹 크기 지정

 

그룹 크기 설정

 

7. 태그 추가

 

태그 추가

 

8. 오토 스케일링 생성 후 확인

 

오토 스케일링이 2개의 ec를 자동으로 만들어주고 관리해 주는 것을 볼 수 있다.

 

자동 인스턴스 생성

 

실제 EC2 인스턴스에도 Running 상태로 동작 중인 것 확인가능!(오토 스케일링이 EC2 자동 생성해 줌)

 

인스턴스 확인

 

 

EC2 Autoscaling 성능 테스트

 1. 운영 중인 EC2 중 하나를 종료해버린다.

 

 

 2. 오토스케일링에 가서 활동 > 작업 기록 보면 하나가 종료되었고 EC2 인스턴스를 하나 런치해서 대체했다는 기록을 볼 수 있다.

 

작업 기록

 

 3. 실제 EC2 인스턴스 보면 하나가 자동으로 생성되고 Running 되는 것을 확인할 수 있다.(최소 용량에 맞춰서 설정해 줌)

 

 

 

 4. 오토 스케일링 용량 사이즈 변경을 해본다.

 

오토 스케일링 용량 변경

 

 5. 오토 스케일링 기록을 보면 용량 변경 로그로 인해 하나의 인스턴스(instance i-05c94eb78695e3f33)가 종료된 것을 볼 수 있다.

 

오토 스케일링 로그

 

 6. EC2 인스턴스를 보면 인스턴스 ID:instance i-05c94eb78695e3f33인 EC가 종료된 것을 확인할 수 있다.

 

EC2 인스턴스 상태 확인

 

 

 

 aws EC2 Autoscaling에 대해서 정리해 보았습니다.  감사합니다 😀😀


이 글은 유튜브 AWS 강의실님 내용을 참고하여 작성한 글입니다.

반응형

'DevOps > AWS 기초' 카테고리의 다른 글

AWS ELB  (0) 2023.06.07
AWS EC2 3편  (0) 2023.06.06
AWS EC2 2편  (0) 2023.06.06
AWS EC2 1편  (0) 2023.06.05
가상화  (0) 2023.06.05