클라우드/AWS

로드 밸런서(ELB), 오토 스케일링(ASG) 실습

잼M 2024. 3. 29. 17:59

로드밸런서(ELB), 오토 스케일링(ASG)을 실습

다음과 같은 환경을 구성하는 실습을 할 것이다. VPC는 기존에 만들어 두었던 MyVPC를 사용할 것이며 이번 실습에선 로드밸런서와 오토 스케일링을 사용하는 과정이다.

1. 먼저 보안그룹을 SGALB, SGAPP2개 만든다.

- 다음과 같이 인바운드 규칙에 HTTP포트를 넣어주고 아무나 접근할 수 있도록 설정한다.

이거와 같이 SGAPP도 똑같이 생성해주는데, 여기서 인바운드 규칙에서 접근 가능한 소스 정보를 앞서 생성한 보안규칙 SGALB로 설정해준다. 이 뜻은, SGALB를 거쳐 통과한 사용자만 접근할 수 있다는 것이다.

 

2. 보안그룹을 설정 했으면 다음으로 로드 밸런서 대상그룹을 생성해준다.

먼저 기본 구성에 요청 대상을 인스턴스로 선택한다.

 

다른 것은 따로 설정해주지 않고, VPC만 우리가 생성해놓았던 MyVPC로 변경해준다.

다음을 누르면 대상을 선택할 수 있는 창이 나오는데 인스턴스를 따로 생성해놓지 않았기 때문에 이 부분은 그냥 넘어갔다.

 

3. 그런 다음 로드밸런서를 선택해주어야하는데, 로드 밸런서 유형을 선택할 수 있는데 로드 밸런서 유형에는, ALB(Application Load Balancer), NLB(Network Load Balancer), GLB(Gateway Load Balancer) 가 존재한다. 이 중, 우리는 HTTP HTTPS 트래픽을 사용하는 애플리케이션을 위한 기능이 필요하므로 ALB를 선택하여 생성할 것이다.

이름을 선택하고 우리는 내부에서 퍼블릭 서브넷에 로드밸런서를 구축할 것이기 때문에 인터넷 경계 즉, 외부로 선택해준다.

, VPCMyVPC로 바꿔주고 각 가용영역에 퍼블릭서브넷을 매핑해준다. 그런 후에, 보안그룹을 앞서 생성해주었던 SGALB로 적용한다. 리스너 및 라우팅에서는 앞서 대상그룹으로 만들어 주었던 MyELBG를 선택해 준다. 이 외에 다른 옵션들은 따로 설정하지 않고 로드밸런서를 생성해준다.

 

3. 다음으로는 예전 실습해서 스냅샷을 찍어놨던 AMI인 즉, 웹서버 실습 ami를 시작템플릿을 통해 만들 것이다.

앞서 생성해두었던 AMI로 선택해주고 인스턴스 유형은 t2.micro로 설정한다.

그리고, 네트워크 설정에서 서브넷은 로드밸런서에서 따로 범위를 정해줄 것이므로 두 개의 퍼블릭 서브넷을 선택하지 못하는 관계로 템플릿에 포함하지 않음으로 설정하고, 보안그룹은 앞서 생성해놓았던 SGAPP으로 설정한다.

4. 다음으로 오토스케일링 그룹을 생성한다.

오토스케일링 그룹 이름을 MyASG로 하고, 런치 템플릿을 앞서 생성한 것으로 골라준다

다음으로 넘어가서 VPCMyVPC로 선택해주고 가용영역을 그림대로 2a,2c를 추가해준다.

추가해주었으면 다음으로 넘어가서 로드밸런싱에 기존 로드밸런서에 연결해주고

앞서 생성한 MyELBG에 대상그룹을 선택해준다.

다음과 같이 설정해주고 다음으로 넘어가서 마지막으로 오토스케일링의 초기 크기를 2:2:2로 설정하기 위해서 해주는 설정을 진행한다.

다음과 같이 설정해주고 오토스케일링 그룹을 설정해주면 인스턴스가 생성되는 것을 볼 수 있고, 삭제해도 최소 인스턴스개수를 2개로 맞춰놓았기 때문에 다시 생성 되는 것을 볼 수 있다. 또한, 앞서 웹서버에 홈페이지 스크립트를 올려놓았기에 로드밸런서의 DNS을 통해 웹사이트에 접근할 수 있다.

 

'클라우드 > AWS' 카테고리의 다른 글

AWS DB, 관계형,비관계형 데이터베이스란?  (0) 2024.04.01
VPC Endpoint란?  (0) 2024.03.29
S3, iAM 실습  (0) 2024.03.28
IAM, S3 실습 및 개념  (0) 2024.03.27
VPC 생성 (AWS 네트워크 구성)  (0) 2024.03.26