참고
(1)
https://www.youtube.com/@AWSClassroom
(2)
(3)
(4)
https://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html
================================================================
1. 시작 템플릿 생성 및 Autoscaling Group 생성
2. Autoscaling 및 강제 종료 시 상태 확인
3. 대상 그룹 및 ALB 생성
4. ASG와 ALB와 연결
5. 웹서버 멈춘 후 ELB 반응 확인
1. 시작 템플릿 생성 및 Autoscaling Group 생성
ASG 생성 시 EC2 instance를 어떻게 프로비전 할 것인지 미리 정해놓는 시작 템플릿을 설정해야 하기 때문에 가장 먼저 시작 템플릿을 생성해놓는다.
=> 시작 템플릿 구성요소로는 AMI / 인스턴스 유형 / 키페어 / 보안그룹 / 스토리지(EBS) / User Data 등 을 구성할 수 있다.
이 설정한 시작 템플릿을 바탕으로 auto-scaling 된다. 그리고 VPC와 가용영역 선택한다.
ASG 만들자마자 몇 개의 인스턴스를 만들것인가를 설정한다.
최소와 최대 용량을 지정할 수 있다.
이외에도 지표(평균 CPU,네트워크 바이트 등)가 대상 값 기준으로 올라가면 인스턴스 숫자를 올리고 낮아지면 내릴 수 있는 크기 조정 정책을 설정할 수 있다.
선택시 ASG가 인스턴스를 늘리기만 할 뿐 줄이지는 않는다.
2. Autoscaling 및 강제 종료 시 상태 확인
원하는 용량 (인스턴스 개수) 2 로 자동으로 프로비저닝한 것을 볼 수 있다.
ASG에서 인스턴스 숫자를 조절한다.
원하는 용량은 최소용량과 최대용량 사이에 있어야 하며 인스턴스를 다 삭제할 때도 원하는 용량을 0으로 만들면 된다.
종료 시 (실수, 장애 등) health check 하여 다시 올려준다.
강제로 종료해도 바로 대체하는 것을 알 수 있다.
3. 대상 그룹 및 ALB 생성
ELB가 어디로 트래픽을 보낼 것이냐를 의미한다.
두번째 선택박스인 ip주소는 Public ip는 안된다.
리스너를 선택할 때 만든 대상그룹을 선택한다.
ELB는 특정 경로(페이지)가 정상적으로 되는지 확인 가능하다.
ELB의 대상그룹에서 임계치 설정할 수 있다.
4. ASG와 ALB 연동
ASG 와 로드밸런서 연동을 위해서 해당 ASG 편집을 클릭하고 로드밸런서를 추가한다.
추가되는 인스턴스들이 대상그룹에 들어가서 ELB가 트래픽을 라우팅할 대상 즉 로드밸런싱 대상이 된다.
ELB 상태 확인 켜기 를 활성화 하면 ELB가 Health check (상태확인) 을 담당한다.
ASG는 EC2가 켜져있는지만을 검사한다.
ELB는 상태검사 프로토콜(예:HTTP)를 통해서 특정페이지가 정상적으로 되는지까지(ELB가 트래픽을 받을 수 있는지)를 검사한다.
5. 웹서버 멈춘 후 ELB 반응 확인
ASG로 생성한 EC2중 하나( bfc35de4 )에서 웹서버를 멈춰보고 ELB의 반응을 테스트해보았다.
ALB의 도메인으로 확인 시 새로고침하면 로드(트래픽)를 분배하고 있다.
ASG로 생성한 EC2 중 하나를 인식하지 못하고 있었다.
대상그룹에서도 비정상(unhealthy)으로 1개의 인스턴스가 보여지는 것을 확인할 수 있었다.
이후 draining를 거쳐 총 인스턴스 3개가 다시 만들어진 것을 확인할 수 있었다.
'Cloud > AWS' 카테고리의 다른 글
S3 vs EBS vs EFS (0) | 2024.11.25 |
---|---|
VPC Endpoints & VPC (0) | 2024.11.23 |
IAM User가 아닌 EC2에 역할 부여 (0) | 2024.11.20 |
IAM 기본 (0) | 2024.11.03 |
클라우드 와 온프레미스 (2) | 2024.10.31 |