dh_0e

[특강] 로드 밸런싱, 대칭 키 암호화 방식, 공개 키 암호화 방식 본문

내일배움캠프/특강

[특강] 로드 밸런싱, 대칭 키 암호화 방식, 공개 키 암호화 방식

dh_0e 2024. 6. 28. 01:56

가용성

  • 컴퓨터 시스템이 특정 기능을 실제로 수행할 수 있는 시간의 비율
  • 전체 사용 시간 중에서 정상적인 사용 시간을 의미
  • Uptime: 정상적인 사용 시간
  • Downtime: 시스템을 이용할 수 없는 시간

  • 가용성을 높이기 위해 Downtime을 줄여야만 함

 

이중화

  • 무언가를 이중으로 두는 기술
  • 서버 컴퓨터, 네트워크 인터페이스, 스위치와 같은 물리적 장비 뿐만 아니라 DB, 서버 프로그램 등도 이중화의 대상
  • 이중화할 수 있는 대상은 대부분 문제가 발생할 경우 시스템 전체가 중단될 수 있는 대상임
  • 이를 단일 장애점(SPOF)이라 부르며 이를 없애야 가용성이 높아짐

 

액티브/스탠바이

  • 액티브 상태인 시스템에 문제가 발생할 경우 스탠바이 시스템이 자동으로 액티브 시스템을 대신하여 동작
  • 안전한 구성 방식이지만 두 장비가 동시에 가동되지 않고, 한 번에 하나만 가동되므로 성능상 비효율적임
  • 페일오버(failover): 액티브 시스템에 문제가 생겼을 경우 예비된 스탠바이 시스템으로 자동 전환되는 기능

 

액티브/액티브

  • 두 시스템 모두를 가동 상태로 두는 방식
  • 부하를 분산시킬 수 있고, 두 시스템이 함께 가동되므로 성능상의 이점도 있음
  • 한 시스템에 문제가 발생하면 순간적으로 다른 시스템에 부하가 급증하고, 추가적인 문제가 발생할 수 있음

 

Vertical Scale-up

  • 서버 자체의 성능을 올림
  • 서버의 수가 적기 때문에 관리가 편함
  • 단일 서버에서 이뤄져 지연이 거의 없음
  • 확장의 한계가 있음
  • 서비스 마비가 오기 쉬움

 

Horizontal Scale-out

  • 서버의 개수를 늘림
  • 이론적으로 무한히 확장 가능
  • 분산처리의 장점 서버 몇 개가 다운되도 전체 서버에 영향을 크게 주지 않음
  • 설계, 관리가 어려움
  • 로드밸런싱, 데이터분산, 동기화를 처리해야함

 

로드 밸런싱 (Load Balancing)

  • 네트워크나 애플리케이션 서버에서 작업 부하를 여러 서버로 분산하여 처리하는 기술
  • 이를 통해 시스템의 효율성과 성능을 최적화하고, 단일 서버에 과부하가 걸리는 것을 방지
  • 고가용성을 요구하는 호스트는 일반적으로 클라이언트보다 서버임
  • 서버를 다중화했더라도 트래픽을 고르게 분산해야 가용성이 높아짐
  • 이를 위해 사용되는 기술으로 L4 스위치, L7 스위치라 불리는 네트워크 장비로도 수행할 수 있지만, 로드 밸런싱 기능을 제공하는 소프트웨어를 설치하면 일반 호스트도 로드 밸러서로 사용 가능
    • L4( Layer4): 패킷 레벨에서의 빠르고 효율적인 처리, 대용량 처리에 주로 사용됨
    • L7(Layer7): HTTP, HTTPS, FTP 별도의 요청을 각각 다른 서버에 라우팅할 수 있음 (세션관리역할)

 

로드 밸런서 (Load Balancer)

 

  • 트래픽의 흐름을 분배해주는 장치
  • 일반적으로 이중화나 다중화된 서버와 클라이언트 사이에 위치
  • 클라이언트들은 로드 밸런서에 요청을 보내고, 로드 밸런서가 해당 요청을 각 서버에 균등하게 분배함

특징

  • 헬스체크: 서버의 상태를 주기적으로 확인, 트래픽 할당 관리
  • 알고리즘 분석처리
  • NAT: IP를 바꿔 서버를 호출하여 프록시 역할을 함
  • DSR: 서버가 로드밸런서를 거치지 않고 클라이언트에게 직접 데이터를 줌, 보안상 가상 IP를 부여
  • 세션 관리: 게임이 진행중인 올바른 서버로 요청을 보내줌
  • 자동 확장: 서버에 과부하가 예상되면 자동으로 서버를 추가, 유저가 줄어들면 자동으로 서버를 줄임
  • 성능 모니터링: 각 서버의 성능을 체크하여 최적의 트래픽을 할당함

 

로드 밸런싱 알고리즘

  • 라운드로빈 방식: 각 서버에 차례대로 트래픽을 할당해줌
  • 가중 라운드로빈 방식: 성능이 다른 서버에 중요도에 기반하여 가중치를 매겨 분할
  • IP 해시 방식: 해시된 값을 기준으로 한 클라이언트는 항상 같은 서버에 연결해줌
  • 최소 연결 방식(Least Connections): 서버에 연결된 수가 가장 적은 서버로 연결해줌
    • 가중치가 없으므로 서버의 성능에 따라 분할이 불가
    • 불필요한 분할이 생길 수 있음
  • Random 알고리즘: 상남자 알고리즘
    • 보안 취약점 부분에서 강점을 나타냄

 


 

대칭 키 암호화 방식

출처: https://babbab2.tistory.com/4?category=1058182

  • 데이터의 암호화 및 복호화에 동일한 키를 쓰는 방식
  • 키를 보유한 사용자만 데이터 내용을 확인할 수 있음
  • 공개 키(비대칭 키) 암호화 방식보다 속도가 빠름
  • 송수신자 간의 키 교환이 반드시 필요함
  • 키가 탈취되는 경우 매우 취약해짐

 

비대칭 키 암호화 방식 (공개 키 암호화 방식)

출처: https://babbab2.tistory.com/4?category=1058182

  • 데이터의 암호화 및 복호화에 다른 키를 쓰는 방식
  • 모든 사용자가 접근 가능한 키인 공개 키와 각 사용자만 접근 가능한 개인 키 쌍으로 구성됨
  • 해당 사용자만 개인 키로 데이터를 복호화하여 그 내용을 확인할 수 있음
  • 송수신자 간의 키 교환이 필요 없음
  • 개인 키의 공유가 필요 없기에 키 탈취에 안전함
  • 대표적으로 RSA 알고리즘이 있음
  • 대칭 키 암호화 방식보다 속도가 느림 (CPU 리소스 소모가 큼)

 

이 두 암호화 방식의 장점만을 합친 것이 TLS 암호화 방식
 

[네트워크] TLS 암호화 및 인증 과정

TLS (Transport Layer Socket)대칭 키 방식과 비대칭 키 방식을 혼용하여 사용한 암호화 방식TCP/IP 통신시 보안을 제공하는 SSL이 표준화되어 바뀐 이름HTTPS에서 사용하는 보안 인증 TLS 암호화 방식처음

dh-0e.tistory.com