운영전략

이정연·2023년 2월 7일
0

서버

목록 보기
1/2

🎯 프록시 서버

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

프록시 서버 종류

1. Forward Proxy

  • 클라이언트 가까이에 위치한 프록시 서버임
  • 클라이언트를 대신해 서버에 요청을 전달한다.
  • 주로 키싱을 제공하기 때문에 사용자가 빠른 서비스 이용을 할 수 있도록 도와준다.
  • 결과 데이터를 캐시에 저장해 놓고 이후 서버에 재 요청을 보내지 않아도 다른 클라이언트 들에게 빠르게 전달 할 수 있다.
  • 프록시 서버를 거쳐 서버에도달하기 때문에 IP추적을 하게된 경우 프록시 서버의 IP가 전달된다. 즉, 서버에게 클라이언트를 숨길 수 있다.

2. Reverse Proxy

  • 서버 가까이에 위치한 프록시 서버임
  • 사용자가 많아져 서버에 과부하가 올 경우를 대비해 부하를 분산 할 수 있다.
  • 이런 경우 프록시 서버로 요청이 들어오면 여러대의 서버로 요청을 나누어 전달 후 처리한다.
    ( 로드 밸런서)
  • 클라이언트에게 서버를 숨길 수 있다. 따라서 실제 서버의 IP가 노출되지 않는다.

🎯 로드 밸런서

  • 너무 많은 클라이언트가 접속하면 서버에는 과부하가 올 수 밖에 없다
  • 과부하를 해결하는 방법은 서버의 하드웨어를 업그레이드 하거나 서버의 갯수를 늘리는 방법이 있다.

1. Scale-up

  • 물리적으로 서버의 사양을 높이는 하드웨어적인 방법
  • 프로그램 구현에 있어서 변화가 필요 없다는 장점이 있다.
  • 비용이 많이들고 하드웨어 업그레이드에는 한꼐가 있다.

2. Scale-out

  • 서버의 갯수를 늘려 하나의 서버에 줄 부하를 분산시키는 방법
  • 많은 요청이 오더라도 여러대의 서버가 나눠서 처리를 진행한다.
  • 요청을 여러 써버에 나눠 처리할 수 있도록 교통정리학 필요한데 이것이 바로 로드 밸런서임

🎯 오토스케일링

  • Scale-out 방식으로 서버를 증설 할 때 자동으로 서버를 관리해주는 기능
  • 서버의 처리 요구량이 많아지면 새 리소스를 자동으로 추가하고 반대라면 감소시켜 적절한 분산 환경을 만들어준다.
  • 동적 스케일링 : 사용자의 요구 수준에 따라 동적으로 스케일링 할 수 있다.
  • 로드 밸런싱 : 다수의 EC2 인스턴스에게 워크로드를 효과적으로 분배함
  • 타겟 트래킹 : 사용자는 특정 타겟에 대해서만 오토스케일링 할 수 있으며, 사용자가 설정한 타겟에 맞춰 EC2인스턴스의 수를 조정한다.
  • 헬스 체크와 서버 플릿 관리 : EC2 인스턴스의 헬스 체크 상태를 모니터링함 특정 인스턴스의 문제가 감지되면, 자동으로 다른 인스턴스로 교체한다.

오토스케일링 그룹 생성

  • 스케일 업 및 스케일 다운 규칙의 모음
  • EC2인스턴스 시작부터 삭제까지 모든 동작에 대한 규칙과 정책을 담고 있다.

유형

1. 인스턴스 레벨 유지

  • 기본 스케일링 계획
  • 항상 실행 상태를 유지하고자 하는 인스턴스의 수를 지정할 수 있다.

2. 수동 스케일링

  • 기존 스케일링 그룹의 크기를 수동으로 변경
  • 사용자가 직접 콘솔이나 API, CLI등을 이용해 수동으로 인스턴스를 추가, 삭제해야 함

3. 일정별 스케일링

  • 예측 스케일링 트래픽의 변화를 파악하고 있다면 일정별 스케일링사용가능
  • 낮에는 서버를 증설하고, 밤에는 스케일 다운 하는 규칙이 가능하다

4. 동적 스케일링

  • 수요 변화에 대응하여 용량을 조정하는 방법 정의
  • CloudWatch가 모니터링 하는 지표를 추적하여 경보 상태일 때 수행할 스케일링 규칙을 지정함
  • 항상 스케일업과 다운 두가지 정책을 작성해야 함에 유의
profile
반갑습니다.

0개의 댓글