Prerequisite
-
로드 밸런서와 대상 그룹은 AutoScaling 과 동일한 VPC 에 있어야 합니다.
-
대상 그룹의 대상 유형은
instance
로 지정해야 합니다. (IP 유형으로 지정 불가) - 로드 밸런서의 트래픽이 AutoScaling 에 도달할 수 있도록 시작 템플릿에 보안 그룹을 설정해야 합니다.
Process
1. AMI 이미지 생성
💡 AMI 이미지 생성이 되어있지 않은 상태라면 아래 가이드 링크를 통해 이미지 생성 진행합니다.
2. 시작 템플릿 생성
-
EC2 → 인스턴스 → 시작 템플릿
-
시작템플릿 생성
-
시작 템플릿 이름 입력
-
생성한 AMI 이미지 선택
-
생성될 인스턴스 유형 선택
-
인스턴스 접근 가능한 키페어 선택 (만약 키가 없다면 옆에 새 키 페어 생성합니다)
-
인스턴스 보안 그룹 선택 (없다면 생성하여 진행, 보안 그룹은 EC2→네트워크 및 보안 → 보안 그룹 에서 생성 가능합니다)
-
생성될 인스턴스 태그 설정(아래는 예시로 tmp-test라는 Name을 가진 인스턴스 생성됩니다)
3. Auto-Scaling 및 ALB 생성
-
EC2 → Auto Scaling Groups → Auto Scaling 그룹 생성
-
Auto Scaling 그룹 이름 입력
-
생성한 시작 템플릿 선택
-
인스턴스 생성할 VPC 선택
-
인스턴스가 생성될 가용 영역 및 서브넷 선택
-
새 로드 밸런서에 연결(만약 기존 로그 밸런스가 있으면 중간의 기존 로드 밸런서 연결 진행)
-
용도에 따라 ALB 또는 NLB 선택
-
로드 밸런서 이름 입력
-
Internal(내부, private) 또는 Internet-facing(외부, public) 선택
-
대상 그룹 생성
- 상태 확인 유형은 Default 구성으로 EC2만 체크
CloudWatch 내에서 그룹 지표 수집 활성화 체크
- 상태 확인 유형은 Default 구성으로 EC2만 체크
-
원하는 용량, 최소 용량, 최대 용량 입력
- 원하는 용량 - 현재 인스턴스 개수
- 최소 용량 - 최소한으로 유지되는 인스턴스 개수
- 최대 용량 - 최대한으로 증가되는 인스턴스 개수
-
다음 클릭
-
다음 클릭
-
Auto Scaling 그룹 생성 클릭
-
AutoScaling 생성 및 용량 업데이트 진행
-
AutoScaling 생성 완료 시 모습
-
로드밸런서의 타겟 그룹에서 인스턴스 상태 확인
-
2개의 인스턴스 정상 작동
4. Warm Pool 설정
💡 Warm Pool 기능을 사용하면 부팅시간이 길어지는 애플리케이션의 지연시간을 줄일 수 있습니다.
* 비용추가 발생
-
웜 풀 생성
- 생성된 Auto Scaling Group을 선택 - 인스턴스 관리 - 웜 풀 생성
-
웜 풀 구성
- 웜 풀 인스턴스 상태
- 중지됨 : 중지 된 인스턴스를 웜풀로 생성되며 비용이 절감됩니다.
- 실행중 : 실행 중인 인스턴스가 웜풀로 생성되며, 확장 지연시간이 없습니다.
- 최소 웜 풀 크기 : 웜 풀에 항상 유지되는 인스턴스 개수를 설정합니다.
- 최대 준비 용량
- Auto Scaling 그룹의 최대 용량으로 준비됩니다.
- 인스턴스 설정 개수를 직접 정의합니다.
- 웜 풀 인스턴스 상태
5. 예약된 작업 생성 설정
예약된 작업 생성 기능을 사용하면 정의된 일정에 따라 AutoScaling 그룹의 인스턴스 수를 자동으로 조정할 수 있습니다. 이는 특정 시간에 수요 변화 예측이 가능한 워크로드가 있다면 사전에 리소스를 확장 또는 축소하려는 경우에 유용합니다.
설정 절차에 대한 내용은 다음을 참조해 주시기 바랍니다.
<예시 조건>
- 평소 인스턴스는 2대로 유지
- 매주 일요일 12:00 ~ 19:00 동안에만 인스턴스를 6대로 확장 (최대 10대)
1. 예약된 일정을 생성할 AutoScaling 그룹을 선택합니다.
2. Auto Scaling 탭 내의 [예약된 작업 생성] 버튼을 클릭합니다.
3. 인스턴스 확장에 대한 예약 작업 설정을 진행합니다.
- 확장할 원하는 용량, 최소, 최대 값을 설정 (6/6/10)
- 매주 일요일 12:00 반복 실행을 위한 Cron 설정
- 서비스에 맞는 표준 시간대 설정
4. 일요일 19:00 이후 인스턴스 축소에 대한 예약 작업 설정을 진행합니다.
- 축소할 원하는 용량, 최소, 최대 값을 설정 (1/1/1)
- 매주 일요일 19:00 반복 실행을 위한 Cron 설정
- 서비스에 맞는 표준 시간대 설정
5. 설정 완료 후 다음과 같이 예약된 작업이 표시됩니다.
Reference
https://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide/autoscaling-load-balancer.html
https://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html
댓글
댓글 0개
댓글을 남기려면 로그인하세요.