일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 시스템 엔지니어
- Azure
- 리눅스마스터1급
- windows
- aws
- Azure AD
- cloud engineer
- network
- 컴퓨터
- SE
- cloud
- Entra ID
- It
- 클라우드
- 리눅스
- Docker
- Microsoft 365
- 시트릭스
- Linux
- windows server
- 가상화
- 시스템엔지니어
- 그룹정책
- Server
- 메일보안
- Microsoft
- Exchange Online
- 클라우드엔지니어
- 네트워크
- Microsoft Azure
- Today
- Total
Cloud System Engineer
AWS Elastic Load Balancing 서버 트래픽 분산 관리 본문
AWS와 같은 클라우드 서비스를 사용하지 않으려면 L4 스위치와 같은 장비를 직접 구매해서 관리해야 하지만 AWS에서는 몇번의 클릭만으로 같은 기능을 구현 할 수 있다.
AWS에서 로드밸런서의 기능을 하는 서버를 내부적으로 관리해주기 때문에 우리가 직접 SSH로 접속 할 수 없다.
로드밸런스가 받은 요청을 특정 인스턴스 또는 Auto Scaling 그룹에 전달하도록 설정가능하다.
대상 그룹은 로드밸런서가 요청을 전달할 서버를 묶어놓은 그룹이다.
이 그룹은 인스턴스나 오토스케일링 그룹이 포함될 수 있다.
로드밸런서 생성
로드밸런서 생성
Auto Scaling 그룹 선택 -> 편집
방금 생성한 practice-target-group을 추가한 뒤 저장
로드밸런서도 하나의 서버이고 클라이언트의 요청을 직접 받기 때문에 테스트해볼 수 있는 DNS 주소가 자동으로 발급되어있다. DNS주소를 복사 후 브라우저에 접속 시도 해보자
어플리케이션이 올바르게 실행 된 것을 확인할 수 있다.
Auto Scaling 그룹을 이용한 장애 조치
목표용량과 최소용량 2로 변경후 저장
인스턴스 관리로 들어가 두 인스턴스가 Inservice 상태로 변경될 까지 기다린다.
두 서버에 ssh로 접속
장애 상황을 재현하기 위해 두 서버중 한 서버의 아파치 서비스를 종료 시킨다.
로드 밸런서가 상태 확인를 통해 하나의 인스턴스를 비정상 판단하기까지는 요청 중 절반은 성공하고 절반은 다음과 같은 에러가 나는 것을 확인할 수 있다.
정리
Auto Scaling 그룹과 Elastic Load Balancer를 이용해 다중 서버 환경을 구성했다.
로드 벨런서라는 레이어를 서버 앞단에 둠으로써 단일 서버 환경에서 할 수 없었던 스케일 아웃을 할 수 있게 됐다. Auto scaling 그룹이라는 aws 서비스를 이용해 실시간 요청량에 따라 유연하게 서버 관리를 할 수 있다. -> 비용 절감과 안정적인 서버 운용장점
'클라우드 > AWS' 카테고리의 다른 글
AWS VPC (0) | 2021.09.10 |
---|---|
무중단 배포 (2) | 2021.09.07 |
Auto Scaling (0) | 2021.09.06 |
AWS 데이터 베이스 (0) | 2021.03.12 |
AWS Web-load balancing (0) | 2021.03.11 |