Azure의 부하 평형기 상황 - 부하 평형기 중 어떤 것입니까? -

5141 단어 LinuxAzure

Azure 로드 밸런서


이전 보도에서 나는'Azure에서 VM 로드 밸런싱 - GUI에서 Azure 로드 Balancer 를 간단하게 설정라고 썼다.GUI를 누르기만 하면 간단하게 부하 평형기를 만들 수 있다.
하지만 여기에는 의문이 있다.
"이렇게 간단하게 부하 평형기를 설정했는데 실제 내용은 어떻습니까?"
"Azure 등 IaaS가 마음대로 만든 부하 평형기의 실제 상황은?"
본 보도에서 실제로 배후에서 무슨 일이 일어났는지는 표면적으로 보이는 자원이 아니라 Azure에서 진정으로 무슨 일이 일어났는지이다.

Azure 로드 밸런서 종류


Azure의 부하 평형기는 세 가지가 있습니다.이번에 매치할 수 있는 것은 Azure Load Balancer입니다. 하지만 층마다 부하 균형의 종류가 다르기 때문에 각각 설명합니다.

  • Traffic Manager
  • DNS 수준에서 업무를 제어하는 로드 밸런서
  • OSI 참조 모델의 레이어는 L4
  • 전 세계 리소스에 로드 할당 가능
  • DNS 수준을 제어하기 위해서는 사업 연속성과 재해 대책 등 핵심 서비스
  • 에서
            

  • Azure Load Balancer
  • L4 로드 밸런서.IP 주소에 배포 가능
  • 내부 네트워크 간의 로드 분산 기능으로도 사용할 수 있으므로 ILB(Internal Load Balancer) 및 ELB(External Load Balancer) 중 하나로 사용할 수 있습니다


  • Application Gateway
  • L7 로드 밸런서.URL 또는 HTTP 헤더에 분산 가능
  • 어플리케이션 레이어이므로 SSL 마운트 해제 기능, 쿠키 처리 할당 등
  • (SSL 마운트 해제: SSL 통신에서 서버를 SSL 인코딩/디코딩 로드에서 해제하고 성능을 향상시키기 위해 SSL 처리를 위한 노드 및 시스템 설정)

  • 이번에는 L4 부하 평형기 Azure Load Balancer의 구조에 대해 설명합니다.

    Azure Load Balancer 구조


    Azure의 부하 평형기의 구조는 이 논문 (영어)에 상세하게 기록되어 있다.일본어이 문장에서 발췌한 것이 있어 참고 가치가 있다.이 글은 Azure뿐만 아니라 페이스북과 CloudFlare의 구조도 다루고 있으니 꼭 읽어 주십시오.이 글에서는 Azure의 부하 평형기만 가져옵니다.읽고 모르는 단어도 있으니까 조금만 더 씹어보고 각자의 역할을 설명해 주세요.

    Azure Load Balancer 정보


    Azure Load Balancer는 라우터, L4 로드 밸런싱 및 호스트 에이전트 세 가지 계층을 통해 로드 밸런싱을 수행합니다.
    여기서는 귀찮아요. "Azure Load Balancer"는 서비스명입니다.실제로 L3에서 교환된 공유기, L4 부하 평형기(실체), 호스트 에이전트(+Ananta Manager)를 조합한'Azure Load Balancer'서비스.

    (위 그림에서 발췌 http://conferences.sigcomm.org/sigcomm/2013/papers/sigcomm/p207.pdf

    ① 라우터


    우선 L3 레벨의 유량 분포입니다.패키지 수준에서 분산됩니다.
    라우터는 Perflow ECMP 방법을 사용하여 L3 레벨 트래픽 분포를 수행하므로 세션을 관리할 필요가 없습니다.
    라우터는 BGP 프로토콜을 통해 L4에서 VIP 경로 정보를 수신하고 Local Preference 등의 정보를 그룹으로 전송합니다.

    BGP(Border Gateway Protocol)는

  • 라우팅 경로를 제어하는 데 사용되는 경로 제어 프로토콜 중 하나로 Border Gateway Protocol
  • 경로 제어 프로토콜은 IGP(내부)와 EGP(외부) 두 종류로 나눌 수 있지만 BGP는 EGP(외부)에 속한다.기본적으로 인터넷에서 조직 간의 경로 정보를 교환한다
  • BGP의 이점
  • 경로 정보의 교환에서 순환이 발생하지 않음(As-Path 목록 이용)
  • 네트워크 변경 사항은 차이만 업데이트됩니다(차이 업데이트)
  • 전송 레이어(L3)에서 TCP가 사용하는 라우팅
  • CIDR 경로 집합을 통한 루트 로드 감소
  • Per-flow ECMP(Equal Cost Multi Path)

  • ECMP는 다음 홉을 그룹화하여 전송할 때 경로를 결정하는 구조, 방법을 말합니다(다음 홉은 라우팅 테이블에 기재된 정보 중 하나로 각 목적지 네트워크에 대해 다음 홉을 전송할 인접 라우터를 말합니다)
  • Per-flow는 Source IP나 Destination IP 등 HASH를 통해 노선을 결정하는 방법입니다.일단 노선이 확정되면 그 다음에도 같은 노선을 통과해야 한다는 얘기다.(매번 무작위로 결정되는 것은 Per-packet ECMP)
  • 실제 유동량의 유량은 균등할 수 없고 노선의 확정 방법은 일반적으로 제조업체에 따라 다르며 이용하는 매개 변수도 차이가 있다.(논문에도 Azure의 결정 방법이 없음)
  • ② L4 로드 밸런서(MUX)


    이것은 Azure Load Balancer의 호스트로 L4에서 유량 분포를 진행한다.
  • 정합성 산열법을 통해 L4에 업무 분포(일합성 산열법은 틈새에 대한 추가 또는 삭제, 최소 키의 틈새에 대한 매핑 변경을 통해 목록을 산출하는 기능을 제공하는 특수 산열법)
  • 로드 밸런서(MUX)를 통해 경로 정보를 관리합니다.
  • 본 보도의 공유기 설명에 다음과 같은 내용이 있지만 경로 정보를 공유기에 알립니다.
  • 라우터는 L4에서 VIP의 경로 정보를 BGP 프로토콜로 수신하고 Local Preference 등의 정보를 그룹으로 전송합니다.
  • 애플리케이션이 실행되는 가상 시스템에 비즈니스 배포
  • 해시 값뿐만 아니라 기존 세션의 정보를 처리하는 세션 테이블(MUX 간에 세션 정보를 공유하지 않음)
  • ③ Host Agent

  • 그룹화를 처리하여 적절한 VM에 도달하도록 합니다.(IPIP 터널)
  • VM 및 위에서 실행되는 어플리케이션에 대한 건강검진도 여기에서 수행됩니다.
  • 건강검진 결과를 Ananta Manager로 보낸 후 MUX에 반영
  • IPIP(터널 프로토콜)

  • 터널은 통신 네트워크에 연결된 두 점 사이의 폐합 가상 직접 연결 회로를 구축하는 것을 가리킨다
  • L3층의 터널 전송 프로토콜에서 IP 헤더를 교체하는 것만으로도 성능을 크게 떨어뜨리지 않고 통신할 수 있다.
  • Azure는 매우 간단하게 부하를 분산할 수 있습니다.


    이전 보도에서 나는'Azure에서 VM 로드 밸런싱 - GUI에서 Azure 로드 Balancer 를 간단하게 설정라고 썼다.
    실제로 해보면 알겠지만 간단하게 부하를 분산시킬 수 있다.
    Azure의 경우 실제 부하 평형기는 서비스로 제공되고 블랙박스로 많이 숨겨져 있기 때문에'어떻게 이루어졌는지'는 이해하기 어렵다(또는 잘 모르겠다)이와 달리'사용하기 쉽고 실현하기 쉬운 속도'는 구름 특유의 장점이다.
    이어 Azure의 포털 사이트에서 Azure Load Balancer를 눌렀을 때 부하 평형기를 상상하는 장치가 아니라 "아, 이 녀석은 부하 조절 평형기로 명명됐지만 뒤에는 호스트 에이전트의 구조를 많이 만들어 주셨어요."그렇게 생각해 보세요.

    좋은 웹페이지 즐겨찾기