Amazon AWS - Auto Scaling (서버의 자동 확장)

CODEDRAGON Security/System

반응형

      

Auto Scaling

  • 서버의 자동확장
  • 사전에 정의된 조건에 따라 EC2의 생성과 삭제를 자동화해주는 서비스
  • CloudWatch(Metric)와 연동하여 EC2의 CPU/NW등 리소스 사용량 증가시 자동 확장

 

 

CPU 가용률을 통한 사용자가 정의한 조건에 따라 자동으로 확장 또는 축소되도록 Auto Scaling 기능 실습

   

ELB(Elastic Load Balaner) 설정

Auto Scaling 설정

   

ELB(Elastic Load Balaner) 설정

지역 선택

   

상단 메뉴 >>> Services >>> EC2

   

좌측 메뉴 >>> NETWORK & SECURITY - Load Balancers

   

Create Load Balancer

   

   

2.Configure Health Check

Elastic Load Balancing은 지정된 설정에 따라 부하 분산된 각각의 아마존 EC2 인스턴스의 상태를 주기적으로 확인합니다. 비정상 인스턴스를 감지한 경우 Elastic Load Balancing은 인스턴스에 대한 트래픽 전송을 중지하고 트래픽의 경로를 정상 인스턴스로 변경해주게 됩니다.

   

알파벳으로만 이름 설정한 후 >>> Continue

   

아래와 같이 설정 후 >>> Continue

   

   

Continue

   

name과 Value입력 >>> Continue

   

   

Create

   

   

Close

   

   

   

Auto Scaling 설정

좌측 메뉴 >>> AUTO SCAILING >>> Launch Configurations >>>

Create Auto Scaling group버튼 클릭

   

Create launch configuration

   

Amazon Linux AMI 2014.09.2 (HVM)선택 >>> Select

   

t2.micro 선택 >>> Next: Configure details

   

Name 필드 설정

   

Advanced Detils 클릭 후 스크립트 추가

AutoScalescript.sh

#!/bin/sh

yum -y install httpd php mysql php-mysql

chkconfig httpd on

/etc/init.d/httpd start

cd /tmp

wget http://us-east-1-aws-training.s3.amazonaws.com/self-paced-lab-4/examplefiles-as.zip

unzip examplefiles-as.zip

mv examplefiles-as/* /var/www/html

   

Next: Add Storage

※User data 항목을 통해 Amazon EC2 인스턴스를 시작할 때 필요한 사용자 정의 스크립트를 실행할 수 있습니다.

   

   

Next:

   

Type을 All traffic 선택 >>> Review

   

Create launch configuration

   

Create launch configuration

   

subnet 항목에서 기본 서브넷 선택 후 2개의 가용성 영역을 선택 >>>

   

   

testelb 선택 >>>

   

Next: Configure scaling policies

   

Keep this group at its initial size 선택 >>> Next: Configure Notifications

   

선택 항목

설명

Keep this group at its initial size

앞에서 설정한 EC2인스턴스 개수를 유지

Use scaling policies to adjust the capacity of this group

CloudWatch알람 설정 정책에 따라 EC2인스턴스를 조절

   

설정 후 >>> Create Alarm

   

Send a notification to

임계치에 도달시 topic에 적용된 메일로 메시지 전송

Whenever

CloudWatch측정 기준

Is

임계치 설정

For at least

지정 기간동안의 한계치 지정

ex)1분 동안 CPU한계치에 1번 도달 할 경우 1을 입력하고 1Minute를 선택

Name of alarm

CloudWatch 알람 이름

   

   

Next: Configure Notifications

   

Next: Configure Tags

   

※ Auto Scaling Notification설정 방법

   

https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html

   

Key와 Value입력 >>> Review

   

Create AUto Scaling group

   

   

Close

   

   

좌측메뉴 NETWORK & SECURITY - Load Balancers 선택 >>>

항목 선택 >>> 하단의 Health Check 탭 >>> Edit Health Check

   

Advanced Details를 아래와 같이 수정 >>> Save

   

   

좌측메뉴 NETWORK & SECURITY - Load Balancers 선택 >>> Description 탭 >>>

DNS Name:항목의 주소를 복사한 후 웹브라우저에서 실행

   

   

   

   

   

Auto Scaling 으로 2개의 인스턴스가 활성화된 것 확인

   

   

   

접속이 안되는 경우

   

NETWORK & SECURITY - Security Groups에서 설정 변경