Cloud(고가용성, HA : High Availability)

Rina's·2023년 7월 25일

코드스테이츠

목록 보기
77/96

프록시 서버

프록시 서버의 종류

  • Forward Proxy
    클라이언트 가까이 위치하여 캐싱을 통한 빠른 서비스 제공
    클라이언트 IP가 아닌 프록시 서버의 IP가 전달되어 보안 강화

  • Reverse Proxy
    서버 가까히 위치하여 응답을 대신 제공. 분산처리를 가능하게 하고 보안을 강화한다

    서버 Upgrade 방법

    서버가 대량의 트래픽을 해결하기위해 업그레이드 하는 방법

  • 스케일 업
    물리적인 서버의 사양을 높인다.
    추가적인 비용이 많이 들며, 업그레이드에 한계가 있다.

  • 스케일 아웃
    서버의 갯수를 늘려 부하를 분산시킨다. 비교적 저렴하다
    교통정리(로드 밸런싱)가 필요하다 -> 로드밸런서

  • L2 데이터 전송 계층 - Mac 주소

  • L3 네트워크 계층 - IP 주소

  • L4 전송 계층 - IP주소와 Port

  • L7 응용 계층 - 클라이언트의 요청(ex 엔드포인트)

오토 스케일링

클라우드 컴퓨팅을 통한 서버 리소스의 자동 확장/축소(스케일아웃/인)
리소스 관리를 자동화하여 높은 가용성과 비용 절감, 유연성을 제공한다

  • 스케일링 그룹 - 서버 인스턴스의 집합으로 스케일링 정책을 공유한다.
    동일한 이미지, 네트워크, 보안을 가진다.
  • 스케일링 정책 - 스케일링 발생 조건과 발생 시의 동작을 설정한다.
  • 로드 밸런서 - 인스턴스 간의 트래픽을 분산시킨다
  • CloudWatch - AWS의 모니터링 서비스. 리소스 사용률을 모니터링하여 자동 스케일링 정책 조건으로 사용한다. CloudWatch를 사용하면 오토 스케일링 그룹이 더 지능적이고 유연하게 동작할 수 있으며, 애플리케이션의 실시간 트래픽 패턴과 상황에 따라 자동으로 조정될 수 있다

Nginx

트래픽이 많은 웹 사이트의 확장성을 위해 개발된 고성능 웹 서버
비동기 이벤트 기반으로 적은 자원으로 높은 성능과, 높은 동시성을 제공
다수의 클라이언트 연결에 대한 효율적인 처리
리버스 프록시 서버로 사용 가능, 이를 통해 무중단 배포를 실현

Nginx 다운로드 https://nginx.org/en/download.html exe파일로 실행

NginX를 이용한 프록시 서버

서버를 대리하는 프록시 서버로 사용

구성 파일(nginx.conf) 수정

nginx -s reload 재실행
8080 -> 80(nginx)으로 받게 됨

NginX를 이용한 로드밸런싱

프록시 서버를 통한 다중 서버 실행

구성 파일(nginx.conf) 수정

http {
	upstream backend {
		server localhost:8080;
		server localhost:8081;
	}
	location / {
		proxy_pass http://backend; 
        #위의 두 포트서버를 하나로 프록시 패스
	}
}

각각의 포트에서 서버 실행 후 localhost 실행시
80(nginx)에서 8080,8081 포트에서 들어온 값을 번갈아서 로드

profile
갭린이 리나

0개의 댓글