SEB_BE 76일차 - 운영 전략

subimm_·2022년 12월 11일
0

코드스테이츠

목록 보기
74/83
post-thumbnail

💡 오늘의 학습목표

  • Proxy Server
  • 수평확장
  • 웹 서버
  • VPC

📔 Proxy Server

  • 클라이언트가 서버와 소통할 때, 서버에 바로 접근하지 않고 자신을 통해 서버에 접근할 수 있도록 해주는 일종의 대리 서버

📖 프록시 서버의 종류

  • Forward Proxy
    • 클라이언트 가까이에 위치한 프록시 서버, 클라이언트를 대신해 서버에 요청 전달
      주로 캐싱제공, 빠른서비스 이용
      • 캐싱을 통해 빠른 서비스 이용 가능
        • 여러 클라이언트가 동일한 요청을 보내면 결과 데이터를 캐시에 저장하고 재요청 보내지 않아도 다른 클라이언트에게 빠르게 전달 가능
      • 보안
        • 서버에게 클라이언트 IP를 숨김 가능

  • Reverse Proxy
  • 서버 가까이에 위치한 프록시 서버로 서버 대신 클라이언트에 응답 제공
    분산처리목적이나 보안을 위해 사용
    • 분산처리
      • 클라이언트-서버 구조에서 사용자가 많아 과부하가 올 경우를 위해 부하를 분산할 수 있다.
        프록시 서버로 요청이 들어오면 여러대의 서버로 요청을 나누어 전달 하여 처리
    • 보안
      • 클라이언트에게 실제 서버 IP를 숨긴다.

📔 수평확장

📖 로드밸런서

  • 과부하로 서버가 원활한 서비스를 제공하지 못하는 경우, 서버의 하드웨어를 업그레이드하는 방법과 서버의 갯수를 늘리는 방법 두가지가 있다.

  • Scale-Up

    • 물리적으로 서버의 사양을 높이는 하드웨어적인 방법.
    • 프로그램 구현에 있어 변화가 필요없다.
    • 높은 비용 / 업그레이드 한계
  • Scale-Out

    • 서버의 갯수를 늘려 하나의 서버에 줄 부하를 분산시키는 방법
    • 서버의 사양을 높이지 않고도 비교적 저렴한 방법
  • 요청을 여러 서버에 나눠 처리할 수 있도록 교통정리를 해줄 역할 필요
    • 로드밸런서 / 로드밸런싱 ( 교통정리를 해주는 기술 혹은 프로그램 )
      • 로드밸런서 종류
        L2 - 데이터 전송 계층에서 Mac 주소를 바탕으로 로드 밸런싱
        L3 - 네트워크 계층에서 IP 주소를 바탕으로 로드 밸런싱
        L4 - 전송 계층에서 IP주소와 Port를 바탕으로 로드 밸런싱
        L7 - 응용 계층에서 클라이언트의 요청을 바탕으로 로드 밸런싱 (ex 엔드포인트)

📖 오토스케일링

  • AWS 오토스케일링 기반
  • 오토스케일링은 Scale-Out 방식으로 서버를 증설할 때 자동으로 서버(리소스)를 관리해주는 기능
  • 요청이 많아 서버 처리 요구량이 증가하면 새 리소스를 자동 추가, 줄어들면 자동 감소
  • Auto Scaling의 장점
    • 동적 스케일링 : 사용자의 요구 수준에 따라 리소스를 동적으로 스케일링 가능, 서버 수 제한x
    • 로드 밸런싱 : 로드밸런서와 함께 사용하면 다수의 EC2 인스턴스에게 워크로드를 효과적으로 분배 가능
    • 타겟 트래킹 : 특정 타겟에 대해서만 AutoScaling 가능
    • 헬스 체크와 서버 플릿 관리 : EC2 인스턴스의 헬스 체크 상태 모니터링 가능. 특정 인스턴스 문제가 감지되면 자동으로 다른 인스턴스 교체
      • 서버 플릿 : 다수의 EC2 서버에서 애플리케이션 호스팅할 경우 일련의 EC2 서버 집합
  • EC2 Auto Scaling 활용
    EC2 Auto Scaling은 오직 EC2 서버라는 리소스만 대상으로 한다.
    • 시작 템플릿 (Launch Configuration)
    • Auto Scaling 그룹 생성
  • Scaling 유형
    • 인스턴스 레벨 유지 : 기본 스케일링 계획, 항상 실행상태를 유지하고자 하는 인스턴스의 수 지정.
    • 수동 스케일링 : 오토스케일링 그룹의 크기를 수동으로 변경 가능 추천 x
    • 일정별 스케일링 : 트래픽 패턴 파악이 가능할 때
    • 동적 스케일링 : 수요 변화에 대응하여 그룹의 용량 조정. CloudWatch가 모니터링하는 지표를 추적하여 경보 상태일 때 수행할 스케일링 규칙

📔 웹 서버

📖 Tomcat

  • Apache 사에서 개발한 서블릿 컨테이너만 있는 오픈소스 웹 애플리케이션 서버
    Spring Boot 내장 서버
  • 웹 서버를 구성하는 모듈에 tomcat 모듈 포함되어 있다.

📖 Jetty

  • 이클립스 재단의 HTTp 서버이자 자바 서블릿 컨테이너
    • 적은 메모리를 사용하여 가볍고 빠르다
    • 경량 웹 애플리케이션으로 소형 장비, 소규모 프로그램에 적합
  • jetty로 서버 실행 실습
profile
코린이의 공부 일지

0개의 댓글