본문 바로가기

AWS

AWS - EC2 Auto Scaling 구축 (실습)

728x90

EC2 오토 스케일링 실습

  • 사전 구성
    • 사용자 VPC 생성 및 CIDR 10.0.0.0/16 사용. 
    • 가용 영역 2개에 서브넷 생성 (10.0.0.0/24, 10.0.1.0/24)
    • EC2 인스턴스 생성 X
  • 실습 내용
    • 오토 스케일링 그룹 생성
    • 오토 스케일링 정책 및 작동 방식 확인 
    • 지표 (Metric) 확인

 


 

Auto Scaling 그룹 생성

EC2 >> Auto Scaling >> Auto Scaling 그룹 >> Auto Scaling 그룹 생성

 

  • 시작 템플릿 또는 구성 선택 (1단계)
    • 이름: WEB-TEST-ASG
    • 템플릿: 오토 스케일링 수행 시 사용 될 EC2 사전 정보 정의. 운영체제, 인스턴스 유형, 보안 그룹, 키 페어와 같은 인스턴스를 생성하기 위한 필수 정보. 인스턴스 시작 시 설치할 패키지 정보가 있을 경우 고급 세부 정보로 이동하여 명령어 입력
      #!/bin/bash
      sudo yum update -y
      sudo yum install -y httpd
      sudo systemctl start httpd
      sudo systemctl enable httpd
      echo "Hello World $(hostname -f)" > /var/www/html/index.html​
  • 인스턴스 시작 옵션 선택 (2단계)
    • 인스턴스 유형 요구사항 확인: 검토 수행
    • 네트워크: VPC 지정 및 가용 영역 선택 
  • 고급 옵션 (3단계)
    • 로드 밸런싱: ALB 또는 NLB 로드 밸런서와 연결. ASG은 ELB와 별도로 사용하는 경우는 낮음. 
    • 상태 확인: AGS에서 수행하는 기본적인 EC2 상태 확인 및 ELB에서 수행하는 상태 확인을 추가적으로 선택 할 수 있음. ELB 상태 확인 까지 사용하는 것을 권장 
    • 상태 확인 유예 기간: 300초 (기본값) 사용. ASG에 의해 신규 인스턴스가 수행 되더라도 지정된 대기 시간 적용.
    • 추가 설정: 필요 시 활성화
  • 그룹 크기 및 크기 조정 구성 (4단계)
    • 그룹 크기: 오토 스케일링의 초기 크기 설정. 기본값은 1
    • 크기 조정: 최소 용량 및 최대 용량 지정. 
    • 오토 스케일링: 오토 스케일링을 수행 하기 위한 정책 수립. 그룹 생성 단계에서는 대상 추적 크기 조정 정책만 사용 가능. 
    • 인스턴스 유지 관리 정책: 정책 없음, 가용성 중심, 비용 중심, 유연성 중심 4가지 정책 제공. 필요한 정책 선택 
  • 알람 (5단계 - 옵션)
    • Auto Scaling 그룹의 EC2 인스턴스를 시작하거나 종료할 때마다 SNS 주제로 알림을 전송 수행. 
  • 태그 (6단계 - 옵션)
    •  Auto Scaling 그룹의 검색, 필터링 및 추적에 사용. Resource Groups & Tag Editor와 같은 서비스에서 활용
  • 검토 (7단계)
    • 1단계 부터 6단계 까지 수행한 내역 검토

 

 

 Auto Scaling 그룹 생성 확인

  • 오토 스케일링 그룹 생성 후 활동 내역 확인. 초기 ASG의 초기 수량이 0 이였고, 4 단계에서 지정한 초기 수량이 1 이였기 때문에 설정에 따라 신규 인스턴스 생성 확인.

 

  • 오토 스케일링에 의해 생성 된 인스턴스가 ELB의 대상 그룹에 자동 추가 

 

 Auto Scaling 정책 설정

  • 동적 크기 조정 정책: CloudWatch의 지표를 활용하여 조건을 만족하면 동적 스케일링 수행. 
    • 대상 추적 크기 조정: AWS에서 기본적으로 제공하는 지표 정보를 활용하여 스케일링 수행. 4가지 지표 제공(CPU, 네트워크 입/출력, ALB 요청 수)
    • 단계 크기 조정: CloudWatch 지표를 활용하여 스케일링 수행. 조건을 계단식으로 추가하여 추가 동작을 수행 할 수 있음.  
    • 단순 크기 조정: CloudWatch 지표를 활용하여 스케일링 수행
  • 예측 크기 조정 정책머신 러닝 기반으로 과거 데이터를 참조하여 동적 스케일링 결정
  • 예약된 작업특정한 이벤트가 예정되어 있을 경우 유용함. 작업을 수행 할 시간대, 반복 여부 및 용량 정보 입력
  • 테스트를 위해 대상 추적 크기 조정에서 CPU 사용률 50% 초과 적용. 아래 코드를 통해 CPU 사용량 증가 후 오토 스케일링 정책에 의해 인스턴스 수량 증가 확인. (시간 오래 걸림)
    yum install -y stress
    stress --cpu 4

 

728x90

'AWS' 카테고리의 다른 글

AWS - Elastic File Storage (EFS)  (0) 2024.03.02
AWS - Elastic Block Storage (EBS)  (0) 2024.03.02
AWS - ELB (Elastic Load Balancing) ALB (실습)  (1) 2024.03.01
AWS - ELB (Elastic Load Balancing) NLB (실습)  (4) 2024.03.01
AWS - EC2 Auto Scaling  (0) 2024.03.01