AWS 개요 - ELB & ASG

코지클래식·2022년 6월 25일
0

UDEMY 강의
를 듣고 남기는 AWS에 대한 짤막한 개요.

용어 정리

  1. Scalability : 확장성
    • 프로그램이 더 큰부하에 적응할 수 있는 가능성, 능력
    • 종류 2가지 : 수직, 수평
      - 수평: 인스턴스/시스템의 숫자를 늘리는 것
      - 수직: 인스턴스의 크기를 키우는 것. (메모리, CPU 설정). 한계 O
    • 수평적 확장성이 cloud 환경에서는 쉬운일이다.
  2. Availability : 가용성
    • 높은 가용성은 보통 수평적 확장성과 함께 사용된다.
    • 고 가용성의 목표는, 서버(데이터센터)를 죽이지 않고 유지하는 것이다.
    • 여러개의 서버중 하나가 다운되더라도, 다른 하나는 살아남을 수 있음을 의미한다.
    • 여러 Region/AZ에 서버를 분산해둠으로 써 가용성을 높일 수 있다.
  3. Elasticity : 유연성
    • 시스템이 확장할 때, 유연성은 부하에 따라 시스팀에 '자동으로 크기가 변하는' 것을 의미한다.
    • 로컬보다는 클라우드 환경에 친화적이다. (비용최적화, on-demand 대응 등)
  4. Agility : 민첩성
    • 확장성, 유연성과 관련없음
    • 클라우드에서는 로컬에 서버를 설치하는 것과 달리, 클릭 몇번으로 새로운 자원(서버, 용량 등)을 획득할 수 있다.
    • 즉, 높은 민첩성이란, 개발자가 새로운 자원을 사용하기 위해 필요한 기간이 몇주에서 몇분으로 짧아지는 것을 의미한다.


ELB

Elastic Load Balancing

ELB란 무엇인가?

  • AWS에서 '유연성'을 부여하는 첫번째 서비스
  • 여러 사용자에게서 트래픽이 들어오면, 먼저 ELB로 연결됨
  • ELB는 여러 EC2에 트래픽을 분산해서 제공한다.

사용 이유

  • 부하 분산
  • 하나의 접속포인트만 노출
  • 인스턴스의 실패에 대비
  • 여러 AZ와 연결 가능
  • SSL 제공

AWS ELB를 쓰는 이유

  • 개발자가 직접 세팅하는게 더 저렴하긴 함
  • 하지만 꽤 많은 수고가 필요함 (유지 및 새로운 서버 생길때마다 연결해주기 등)


ASG

Auto Scailing Group

개요

  • 현실에서는 웹사이트/어플리케이션에 대한 부하가, 시시각각 변할 수 있다. (밤과 낮의 유저 숫자가 다름)

  • 클라우드에서는 서버를 매우 쉽고 빠르게 삭제/생성 할 수 있다.

  • 따라서 ASG의 목표는 이러하다.

    1. 부하가 증가하면, scale out (서버 추가)
    2. 부하가 감소하면, scalie in (서버 삭제)
    3. 최소/최대숫자 설정 가능
    4. 자동으로 Load Balancer에 서버 등록
    5. 죽은 서버 자동으로 교체
  • 이 목표의 결론은? -> 비용감소

설정 가능한 것들

  1. 최대, 최소사이즈
  2. 연결할 로드밸런서
  3. 수동 조작
  4. 동적 스케일링
    1. 단계적 스케일링 (부하에 따라 서버추가)
    2. 타겟 추적 스케일링 (특정 부하를 유지)
    3. 예약 스케일링 (스케쥴에 따라 조작)

*자료 출처가 유료강의이므로, 많은 내용을 생략하였습니다.

profile
코지베어

0개의 댓글