728x90
ELB란
- ELB는 트래픽을 여러 갈래로 자동 분산시켜서 AWS 서버 환경을 안정적으로 운용하는데 도움을 주는 AWS의 로드밸런서 서비스
ELB 기능
- EC2 뿐만 아니라 ECS(컨테이너), AWS Lambda도 연계하여 부하를 분배 가능
- 트래픽을 받은 로드밸런서가 다수의 인스턴스에 분산해주기 때문에 유저는 각 인스턴스의 IP가 무엇인지 신경쓰지 않고 하나의 IP만 알면 됨.
- 실시간 헬스 체크 및 모니터링 진행
ELB와 오토스케일링
- 인스턴스를 자동으로 늘려주는 오토스케일링과 부하를 분산해주는 ELB는 찰떡 궁합
- 주로 AWS 매니저에서 함께 설정
ELB 구성요소
- 리스너(Listener)
- 프로토콜과 포트 기반으로 요청받아 검사한 뒤, 적절 타겟으로 전달
- 모든 로드밸런서는 1~10개의 리스너를 가짐
- SSL offload도 진행 가능
- 규칙(Rule)
- 트래픽 분배를 위한 라우팅 규칙
- 조건 만족 시, 지정된 액션 수행
- path, host, HTTP header, source IP, query params 등 조건이 있음
- 대상 그룹(Target Group)
- 부하분산 대상들의 모임
- 헬스체크 기능 : EC2 전달받은 요청 처리 가능 여부 파악
- 모니터링 기능 : 처리 가능한 EC2 개수, 불가능 EC2 개수 파악
- 부하분산 대상들의 모임
- 유휴 제한 시간(Connection Time Out) 설정
- ELB-EC2 접속 시 Connection 생성되고 이를 통해 유저가 EC2와 통신
- 통신 없을 시 유휴 제한 시간 이후 커넥션 삭제
ELB 기능과 특징
- 고가용성 및 탄력성
- 트래픽에 따라 자동으로 리소스 확장/축소 진행
- 단, 순간적인 증가는 일시적으로 병목현상 발생할 수 있으니 이것 또한 싫다면 AWS 서포트로 신청하여 ELB 리소스 미리 확장해둘 수 있음
- 도메인 기반 접근
- IP가 계속 바뀌기에 도메인 이름으로 접근하도록 해야함
- 단, 네트워크 로드밸런서는 탄력적 IP로 고정 가능
- 교차 로드 밸런싱(Cross-Zone Load Balancing)
- 비율이 좋지 않은 것을 고르게 분산하기 위해 교차로 로드밸런싱 하는 것
- Zone 별로 EC2 개수 차이가 있을 경우 사용하면 좋음
- 헬스 체크
- 직접 트래픽 발생시켜 인스턴스 생존 여부 파악
- 인스턴스 오류 있을 경우 배제하고, 회복 시 다시 트래픽을 보내줌
- 문제되는 인스턴스를 미리 거르기 때문에 고가용성 확보에 유리
- 보안그룹
- SSL 암호화 지원
- 간편하게 SSL 구성. 각 인스턴스들에 설정하는 노고를 줄여줌
- 통신의 암호화/복호화를 인스턴스가 아니라 ELB에서 대신 해주기 때문에 부하를 줄여줌
- 고정 세션(Sticky Session)
- 사용자 세션을 특정 인스턴스에 고정. 유저는 자신이 접속했던 인스턴스에 다시 접속하게 되어 재로그인 할 필요가 없음
- 로그 추출
- 추출 로그는 S3에 저장
- 장애 발생 시 개별 인스턴스 로그가 아니라 ELB 로그 전체를 보는 것이 편함
- Cloud Watch 연동
- 1분 단위로 메트릭 제공
- HTTP/2 지원
- 디폴트로 지원하기 때문에 웹 브라우저에서 페이지 로딩시간 개선
ELB 로드밸런서 유형
- ALB(Application Load Balancer)
- OSI 7 layer 중 Application Layer 다루는 로드밸런서
- 유저와 직접 접하는 계층
- HTTP/HTTPS 헤더 정보 보고 적절한 패킷으로 전송
- IP주소 + 포트번호 + 패킷 내용 참고 후 스위칭
- NLB(Network Load Balancer)
- OSI 7 Layer 중 4번째 Transport Layer 다루는 로드밸런서
- TCP, UDP 요청을 받아 부하 분산
- HTTP는 당연히 해석 못함
- 고성능 요구하는 환경에서 부하분산에 적합
- 공인 IP 고정 가능
- CLB(Classic Load Balancer)
- 초기 레거시 서비스. 서버 기본 주소 바뀌면 LB 다시 생성해야 함
- GLB(Gateway Load Balancer)
- OSI 7 Layer 중 3번째 네트워크 계층을 다루는 로드밸런서
- 방화벽, 침입 탐지 및 방지 시스템, 심층 패킷 검사 시스템 등 가상 어플라이언스 배포, 확장 및 관리 가능
- EC2 도달 전 트래픽 검사, 분석, 인증, 로깅 작업을 위해 주로 사용
728x90
'Research > AWS' 카테고리의 다른 글
Cloud computing (0) | 2023.04.14 |
---|---|
AWS Lambda_REST API Trigger로 함수 호출하기 (0) | 2023.04.12 |
AWS Lambda_HTTP API Trigger로 함수 호출하기 (0) | 2023.04.12 |
AWS lambda_컨테이너로 함수 생성하기 (0) | 2023.04.12 |
AWS Lambda_serverless로 간단한 lambda 함수 생성하기 (0) | 2023.04.10 |
댓글