AutoScale
이 랩은 기본 VPC환경에서 Auto Scaling Group을 생성하고 EC2 자원을 생성하고 축소하는 과정을 포함합니다.. (update : 2021-03-15)
소개
AWS Auto Scaling은 애플리케이션을 모니터링하고 용량을 자동으로 조정하여, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지합니다. AWS Auto Scaling을 사용하면 몇 분 만에 손쉽게 여러 서비스 전체에서 여러 리소스에 대해 애플리케이션 규모 조정을 설정할 수 있습니다. 이 서비스는 간단하면서도 강력한 사용자 인터페이스를 제공하므로 이를 사용하여 Amazon EC2 인스턴스와 스팟 플릿, Amazon ECS 작업, Amazon DynamoDB 테이블 및 인덱스, Amazon Aurora 복제본 등 리소스에 대한 규모 조정 계획을 수립할 수 있습니다. AWS Auto Scaling을 사용하면 성능과 비용을 최적화하거나 둘 사이의 적절한 균형을 유지하기 위한 권장 사항을 활용해 간단하게 규모를 조정할 수 있습니다. 이미 Amazon EC2 Auto Scaling을 사용하여 Amazon EC2 인스턴스의 규모를 동적으로 조정하고 있는 경우, 이제 AWS Auto Scaling과 결합하여 다른 AWS 서비스의 추가 리소스를 조정할 수 있습니다. AWS Auto Scaling을 사용하면 항상 적시에 올바른 리소스가 애플리케이션에 할당됩니다.
AWS Management Console, 명령줄 인터페이스(CLI) 또는 SDK를 사용하면 AWS Auto Scaling을 손쉽게 시작할 수 있습니다. AWS Auto Scaling은 추가 요금 없이 사용할 수 있습니다. 애플리케이션을 실행하는 데 필요한 AWS 리소스와 Amazon CloudWatch 모니터링 요금만 지불하면 됩니다.
목적
본 랩은 아래와 같은 구성을 통해 EC2 인스턴스들의 Auto Scaling을 확인하는 데 도움을 드립니다.

EC2 생성
Auto Scaling 시작 구성 방법
Auto Scaling Group 생성
Auto Scaling Group 을 통한 EC2 증가와 감소 이
Task1. AutoScaling 을 위한 EC2 생성
1. AutoScaling Group을 위한 EC2 인스턴스 생성
앞서 생성한 EC2-LINUX 에서 처럼 EC2를 생성합니다.
AMI - Amazon Linux 2 AMI (HVM), SSD Volume Type - ami (64비트 x86)

인스턴스 유형 선택 - t2.micro

인스턴스 세부 정보 구성
개수 - 1
네트워크 - IMD-VPC
서브넷 - IMD-PUBLIC-A
퍼블릭 IP 자동 활당 - 활성화
사용자 데이터
#!/bin/sh
sudo yum -y update
sudo yum -y install yum-utils
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install iotop iperf3 iptraf tcpdump git bash-completion
sudo yum -y install httpd php mysql php-mysql
sudo yum -y install python-pip
sudo yum -y install nethogs iftop lnav nmon tmux wireshark vsftpd ftp stress
sudo systemctl start httpd
sudo systemctl enable httpd
cd /var/www/html/
sudo git clone https://github.com/whchoi98/ec2meta-webpage.git
sudo systemctl restart httpd
exit


스토리지 추가 - 볼륨유형 gp3

태그 추가 - 키 : Name , 값 : ASG-EC2

보안 그룹 구성 - 기존 보안 그룹 선택 - IMD-PUB-SG

기존 키 페어 선택 - IMD-PUB-PUTTY

2. 생성된 AutoScale Group 용 인스턴스 확인
AutoScale Group 용으로 생성된 인스턴스를 확인합니다. 해당 인스턴스는 AutoScale Group을 위한 인스턴스 템플릿으로 생성할 것입니다.

3. EC2 시작 템플릿 만들기
인스턴스 메뉴에서 생성한 인스턴스를 선택 - 작업 - 이미지 및 템플릿 - 인스턴스에서 템플릿 생성을 선택합니다.

아래에서 처럼 시작 템플릿 이름을 선언하고, 나머지 값은 그대로 사용합니다.
시작 템플릿 이름 - MyTemplate
나머지 값은 기본 값을 그대로 사용하고, 시작 템플릿을 선택합니다.

시작 템플릿이 완성되었습니다. 해당 템플릿을 이용해서 Auto Scaling Group을 만들 것입니다.

Task2 : Auto Scaling 시작 구성 (Auto Scaling Launch Config)
4.시작 구성 생성
EC2 대시보드 - AutoScaling - Auto Scaling Groups (새로 만들기) 를 선택합니다.

5. 시작 템플릿 구성
Auto Scaling 그룹 이름을 선언하고, 앞서 생성한 시작 템플릿을 선택합니다.
ASG-Template

6. Auto Scaling 설정 구성

시작 템플릿 준수 선택
VPC - IMD-VPC 선택
서브넷 - AutoScaling Group을 배포할 Subnet 선택
7. 고급 옵션 구성
테스트를 위해서 상태 확인 유예 기간을 10초로 조정하고, 모니터링 Cloudwatch 내에서 그룹 지표 수집 활성화를 선택합니다.

8. 그룹 크기 및 조정 정책 구성

9. 알림 추가

10. 태그 추가

11. 검토
AutoScaling 그룹 생성을 완료합니다.
알림 수신을 설정한 이메일에 SNS 승인요청이 기다리고 있습니다. 수락하시기 바랍니다.


잠시 후 아래와 같이 인스턴스가 생성된 것을 확인 할 수 있습니다.

Auto Scaling 그룹에 생성된 그룹을 선택하고 , 인스턴스 관리 탭을 확인 해 봅니다.

12. Auto Scaling 증가 확인
생성된 각각의 EC2 인스턴스에서 CPU 로드를 생성합니다. 화면을 분할하고 "top" 명령을 통해 CPU Load를 확인합니다.
# 600초 동안 CPU 1개 스트레
sudo stress --cpu 1 --timeout 600

EC2 인스턴스의 모니터링에서 Cloudwatch를 통해 1분간 평균 CPU를 확인합니다.

수분 뒤에 인스턴스가 증가하는 지 확인합니다. (Auto Scaling 그룹과 EC2 대쉬보드에서 확인)

CPU Stress가 종료된 수분 뒤에 인스턴스가 감소 하는 지 확인합니다. (Auto Scaling 그룹과 EC2 대쉬보드에서 확인)
앞서 생성한 Auto Scaling Group의 SNS가 계속해서 메세지를 통보하게 됩니다.

성공적으로 Auto Scaling 그룹 랩을 마치셨습니다.
Last updated
Was this helpful?