AWS 유튜브 강의를 참고하였습니다.
간단하게 EC2 생명주기에 대해 살펴보자
인스턴스 상태 | 설명 | 인스턴스 사용 요금 |
---|---|---|
pending | 인스턴스가 running 상태로 될 준비 | 미청구 |
running | 인스턴스 사용 중 | 청구 |
stopping | 인스턴스가 중지 또는 최대 절전 모드로 전환 중 | 미청구, 최대절전시 청구 |
stopped | 인스턴스가 중지 상태: 재시작 가능 | 미청구 |
shutting-down | 인스턴스가 종료 중 | 미청구 |
terminated | 인스턴스가 영구적으로 삭제됨 | 미청구 |
✔️ 중지
✔️ 재부팅
✔️ 최대 절전모드
일반 종료 시작
최대 절전 모드에서 종료
Vertical Scale(Scale Up) 위에서 했지만 다시 한 번 복습!
✔️ Vertical Scale(Scale Up)
성능을 확장하는 것
✔️ Horizontal Scale(Scale Out)
규모를 확장하는 것
Scale Out
을 염두해두어야 한다.
Auto Scaling
:Scale Out
을 위해 나온 서비스
📣 AWS Auto Scaling?
- 애플리케이션을 모니터링하고 용량을 자동으로 조정하여, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지한다.
- AWS Auto Scaling을 사용하면 몇 분 만에 손쉽게 여러 서비스 전체에서 여러 리소스에 대해 애플리케이션 규모 조정을 설정할 수 있다.
➡️
Scaling
을 자동화 해주는 시스템
이번에는 EC2 Auto Scaling
에 대해 공부한다.
✔️ 목표
Auto Scaling
언제 실행시킬 것인가? + 상태 확인CloudWatch
(and/or) ELB
와 연계 CloudWatch
: AWS에 여러 서비스를 모니터링하기 위한 서비스ELB
: Load를 분산해주는 역할을 한다.
갑작스레 EC2
하나가 죽어버렸다.
이거를 AutoScaling
이 감지하고, 시작 구성에 맞는 EC2
를 하나 생성해서 Autoscaling Cluster
에 넣어준다.
시작 템플릿 : Autoscaling 그룹
에서 어떤 인스턴스를 어떻게 올릴 것인지 정의하는 템플릿이다.
시작 템플릿 이름 및 설명
시작 템플릿 이름 : MyTemplate
템플릿 버전 설명 : 오토스케일링 테스트
EC2 Auto Scaling에 사용할 수 있는 템플릿을 ~ : 체크
시작 템플릿 콘텐츠
Amazon Linux 2 AMI (HVM) - Kernel 5.10
인스턴스 유형
t2.micro
네트워크 인터페이스 추가
네트워크 인터페이스 : 새 인터페이스
퍼블릭 IP 자동 할당 : 활성화
종료 시 삭제 : 예
이렇게 해야 EC2에 집적 접속할 수 있다.
💡 참고
네트워크 인터페이스에서 보안 그룹을 설정하였기에 보안 그룹을 추가로 넣을 필요가 없다.
완료 후, 다음 버튼 클릭하여 Auto Scaling 그룹
에서 작업
고급 오션 구성은 pass
알림 추가 pass
이제 완료, Auto Scaling 그룹 생성 클릭!
하나의 Scaling
에 두 개의 인스턴스가 생성되었다.
인스턴스 두 개가 생성된다.
인스턴스 태그에서 AutoScaling
이 누구인지 알 수 있다.
AutoScaling
을 사용할 시, 유지보수를 할 수 있는 가장 큰 장점이 있다.
이런 인스턴스들 각각에 대해 트래픽을 넣어주어야 한다.
트래픽 : 서버와 클라이언트간의 주고 받는 데이터의 양
ELB
: AutoScaling
에 생성한 인스턴스들의 트래픽을 조절하는 서비스이다.
✔️ AutoScaling 테스트 끝낸 후
원하는 용량 : 0
최소 용량 : 0
으로 수정한다. (사용하지 않는 EC2 종료하기 위해)