DNS / Load Balancer

이동현·2023년 5월 1일
0

코드 캠프 블로그

목록 보기
42/50

1. DNS

1) DNS란?

DNS란? 도메인 이름 시스템으로 예를 들어 사람이 읽는 도메인 이름 (www.naver.com)을 머신이 읽을 수 있는 IP주소 (192.0.2.44)로 변환합니다.
이를 통해 우리는 모든 서버의 IP를 주소를 잘 모르더라도 도메인 이름을 입력하여 웹사이트로 들어 갈 수 있게 된다.

2)DNS 서비스 유형

  • 신뢰할 수 있는 DNS
    • 신뢰할 수 있는 DNS 서비스는 개발자가 퍼블릭 DNS 이름을 관리하는 데 사용하는 업데이트 메커니즘을 제공한다. 이 메커니즘을 통해 도메인 이름을 IP주소로 변환하고 신뢰할 수 있는 DNS는 도메인에 대해 최종 권한이 있으며, 재귀적 DNS 서버에 IP 주소 정보가 담김 답을 잭임할 책임이 있따.
  • 재귀적 DNS
    • 대개 클라이언트는 신뢰할 수 있는 DNS 서비스에 직접 쿼리를 수행하지 않는다.
      대신에 해석기 또는 재귀적 DNS서비스라고 알려진 다른 유형의 DNS 서비스에 연결하는 경우가 일반적이다. 재귀적 DNS가 일정 기간 캐시된 또는 저장된 DNS 참조를 가지고 있는 경우, 소스 또는 IP 정보를 제공하여 DNS 쿼리에 답을 합니다. 그렇지 않다면, 해당 정보를 찾기 위해 쿼리를 하나 이상의 신뢰할 수 있는 DNS 서버에 전달한다.

2. Load Balancer

1) 로드밸런서란?

유저의 접속량이 늘어날수록 백엔드 서버 컴퓨터가 늘어나는데 이에따른 문제를 해결하기위해 서버에 가해지는 부하를 분산시켜주는 장치로써, 클라이언트와 서버 사이에 위치하여 서버의 트래픽을 관리해준다.

2) 주요기능

  • NAT(Network Address Translation)

    • 사설 IP 주소를 공인 IP 주소로 바꾸는 데 사용하는 통신망의 주소 변조기입니다.
  • Tunneling

    • 인터넷상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 하는 개념
    • 데이터를 캡슐화해서 연결된 상호 간에만 캡슐화된 패킷을 구별해 캡슐화를 해제할 수 있습니다.
  • DSR(Dynamic Source Routing protocol)

    • 로드 밸런서 사용 시 서버에서 클라이언트로 되돌아가는 경우 목적지 주소를 스위치의 IP 주소가 아닌 클라이언트의 IP 주소로 전달해서 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아가는 개념입니다.

3) Load Balancer의 Server선택 기준

  • Round Robin
    • 단순히 Round Robin으로 분산하는 방식입니다.
  • Least Connections
    • 연결 개수가 가장 적은 서버를 선택하는 방식입니다.
    • 트래픽으로 인해 세션이 길어지는 경우 권장하는 방식입니다.
  • Source
    • 사용자의 IP를 Hashing하여 분배하는 방식입니다.
    • 사용자는 항상 같은 서버로 연결되는 것을 보장합니다.

4) 장애가 났을 때와 해결

  1. Load Balancer를 이중화하여 장애를 대비할 수 있다.

  2. 이중화된 Load Balancer들은 서로 Health Check를 합니다.

  3. Main Load Balancer가 동작하지 않으면 가상IP(VIP, Virtual IP)는 여분의 Load Balancer로 변경됩니다.

  4. 여분의 Load Balancer로 운영하게 됩니다.

3. 참조

0개의 댓글