외로운 Nova의 작업실
aws - Auto Scaling 본문
- Auto Scaling
Auto Scaling은 트래픽이 늘어나면 자동으로 EC2 인스턴스를 생성해 서비스를 확장하는 기능입니다. Auto Scaling은 실제로 서비스를 제공하는 AWS 리소스가 아니라서 사용 요금이 없습니다. Auto Scaling을 사용하면 서비스가 잘돼서 트래픽이 폭주할 때도 손쉽게 대처할 수 있습니다. 사용자가 많지 않을때는 EC2 인스턴스의 개수를 줄여 비용을 절감할 수 있습니다.
보통 Auto Scaling은 ELB와 함께 사용합니다. Auto Scaling은 생성한 EC2 인스턴스를 ELB 로드밸런서에 연결하고 ELB 로드 밸런서는 새로 생성된 EC2 인스턴스에 트래픽에 분산합니다.
Auto Scaling은 CloudWatch와 연동하여 EC2 인스턴스의 CPU 사용률, 네트워크 사용량이 늘어났을 때 EC2 인스턴스를 생성하고 CPU 사용률, 네트워크 사용률이 줄어들면 EC2 인스턴스를 삭제합니다. CloudWatch에서 지원하는 모든 측정치와 연동이 가능합니다.
- Auto Scaling 생성
Auto Scaling은 아무것도 설치되지 않은 EC2 인스턴스를 바로 생성해 확장할 수 도 있지만 웹서버와 각종 플랫폼을 설치한 AMI를 생성하여 사용하면 편리합니다. 저번에 만든 EC2 인스턴스(ELB에서 사용한)의 AMI을 만들겠습니다.
이제 Auto Scaling을 만들어보겠습니다.
EC2 카테고리에 마지막 Auti Scaling 그룹 생성을 눌러줍니다.
이름을 정해줍니다. 그리고 아래 시작템플릿 생성을 눌러줍니다.
이름을 정해주고,
아까 만든 AMI를 선택해줍니다.
인스턴스 유형은 무료인 t2.micro로 키페어도 등록해줍니다.
네트워크 구성을 해줍니다. 그리고 고급 세부정보 부분에 사용자 데이터로 쉘스크립트를 넣어줍니다. 루트로 실행될 쉘 스크립트를 넣어줍니다.
이후 템플릿을 생성해줍니다.
이후 템플릿을 선택해줍니다.
서브넷을 선택해줍니다.
이후 로드밸런서도 전에 만든 것을 사용해줍니다.
최소 1개 최대 3개까지 만들 수 있도록 설정해줍니다.
크기를 CPU 사용률에따라 동적으로 조정합니다.
EC2가 만들어지면 알람이 오도록 설정합니다.
이제 그룹을 생성합니다.
3개가 된 것을 알 수 있습니다. name이 없는 부분이 auto scaling이 자동적으로 생성한 EC2인것을 알 수 있습니다. 이제 미리만든 2개의 인스턴스를 끄고 ELB에 접속해보겠습니다.
이제 ELB에 접속해보겠습니다.
접속이 잘 되는 것을 확인할 수 있습니다.
- Auto Scaling 확인
이제 Auto Scaling이 생성한 EC2 인스턴스에 접속해서 yes > /dev/null 명령으로 CPU 사용량을 강제로 올려보겠습니다.
CPU 사용량이 올라가자
인스턴스가 2개가 더 생겨서 총 3개가 되었습니다. Auto Scaling이 자동으로 만들어준 것입니다. 이제 명령어를 중지하고 조금 기다리면
2개 인스턴스는 없어집니다.
'Cloud > aws' 카테고리의 다른 글
aws - Glacier (0) | 2023.10.18 |
---|---|
aws - VPC (0) | 2023.10.18 |
aws - ELB (0) | 2023.10.17 |
aws - Route 53 (0) | 2023.10.17 |
aws - IAM (0) | 2023.10.17 |