내부 TCP/UDP 부하 분산의 장애 조치 개념

기본 TCP/UDP 부하 분산기를 구성하여 기본 백엔드의 가상 머신(VM) 인스턴스 사이에 연결을 배포한 다음 필요한 경우 장애 조치 백엔드를 사용하도록 전환할 수 있습니다. 장애 조치는 가용성을 높이는 방법을 제공하는 동시에 기본 백엔드 VM이 정상이 아닌 경우 워크로드 관리 방법에 대한 더 많은 통제권을 제공합니다.

이 페이지에서는 내부 TCP/UDP 부하 분산기의 장애 조치 관련 개념과 요구 사항을 설명합니다. 내부 TCP UDP 부하 분산에 대한 장애 조치를 구성하기 전에 다음 문서의 개념 정보를 숙지하시기 바랍니다.

장애 조치를 구성하면 내부 TCP/UDP 부하 분산기의 표준 트래픽 분산 알고리즘이 수정되기 때문에 이러한 개념을 이해하는 것이 중요합니다.

개요

기본적으로 내부 TCP/UDP 부하 분산기의 백엔드 서비스에 백엔드를 추가하면 이 백엔드는 기본 백엔드가 됩니다. 백엔드를 부하 분산기의 백엔드 서비스에 추가하거나 나중에 백엔드 서비스를 편집하여 백엔드를 장애 조치 백엔드로 지정할 수 있습니다. 장애 조치 백엔드는 기본 VM의 구성 가능한 비율이 상태 확인을 통과하지 못한 경우에만 부하 분산기로부터 연결을 수신합니다.

지원되는 인스턴스 그룹

관리형 및 비관리형 인스턴스 그룹은 백엔드로 지원됩니다. 간결함을 위해 이 페이지의 예시에는 비관리형 인스턴스 그룹이 표시됩니다.

관리형 인스턴스 그룹을 자동 확장 및 장애 조치와 함께 사용하면 활성 풀이 기본 및 장애 조치 백엔드 사이에서 장애 조치 및 장애 복구를 반복할 수 있습니다. 이 설정이 도움이 되는 배포도 있으므로 GCP는 관리형 인스턴스 그룹에 장애 조치를 구성하지 못하게 하지 않습니다.

아키텍처

다음은 기본 TCP/UDP 부하 분산기에 기본 백엔드 1개와 장애 조치 백엔드 1개가 있는 간단한 예시입니다. 기본 백엔드는 us-west1-a의 비관리형 인스턴스 그룹이며 장애 조치 백엔드는 us-west1-c의 다른 비관리형 인스턴스 그룹입니다.

내부 TCP/UDP 부하 분산을 위한 간단한 장애 조치 예시(확대하려면 클릭)
내부 TCP/UDP 부하 분산을 위한 간단한 장애 조치 예시(확대하려면 클릭)

다음 예시는 두 개의 기본 백엔드와 두 개의 장애 복구 백엔드가 us-west1 리전의 두 영역 사이에 분산된 내부 TCP/UDP 부하 분산기를 보여줍니다. 이 구성은 모든 기본 또는 모든 장애 복구 백엔드에 대한 단일 영역에 의존하지 않으므로 안정성을 높입니다.

  • 기본 백엔드는 비관리형 인스턴스 그룹 ig-aig-d 입니다.
  • 장애 복구 백엔드는 비관리형 인스턴스 그룹 ig-big-c 입니다.
다중 영역 내부 TCP/UDP 부하 분산 장애 조치(확대하려면 클릭)
다중 영역 내부 TCP/UDP 부하 분산 장애 조치(확대하려면 클릭)

장애 조치 중에 두 기본 백엔드 모두 비활성 상태가 되고 두 장애 복구 백엔드 모두의 정상적인 VM은 활성화됩니다. 이 예시에서 장애 조치가 작동하는 방법에 대한 자세한 설명은 장애 조치 예시를 참조하세요.

백엔드 인스턴스 그룹 및 VM 정보

내부 TCP/UDP 부하 분산의 비관리형 인스턴스 그룹은 기본 백엔드 또는 장애 조치 백엔드 중 하나입니다. 백엔드를 백엔드 서비스에 추가할 때 또는 백엔드를 추가한 후 편집하여 백엔드를 장애 조치 백엔드로 지정할 수 있습니다. 그렇지 않을 경우 비관리형 인스턴스 그룹은 자동적으로 기본 그룹이 됩니다.

단일 내부 TCP/UDP 부하 분산기의 여러 기본 백엔드 및 장애 복구 백엔드를 부하 분산기의 백엔드 서비스에 추가하여 구성할 수 있습니다.

기본 VM은 기본 백엔드로 정의한 인스턴스 그룹의 구성원입니다. 부하 분산기가 장애 조치 백엔드를 사용하도록 전환하지 않는 한 기본 백엔드의 VM은 부하 분산기의 활성 풀(다음 섹션에서 설명)에 참여합니다.

백업 VM은 장애 조치 백엔드로 정의한 인스턴스 그룹의 구성원입니다. 기본 VM의 구성 가능 비율이 비정상일 때 장애 조치 백엔드의 VM이 부하 분산기의 활성 풀에 참여합니다.

한도

  • VM - 활성 풀에 최대 250 개의 VM을 가질 수 있습니다. 즉 기본 백엔드 인스턴스 그룹은 최대 250 개의 기본 VM을 가질 수 있으며 장애 복구 백엔드 인스턴스 그룹은 총 250 개의 백업 VM을 가질 수 있습니다.

  • 비관리형 인스턴스 그룹 - 최대 50개의 기본 백엔드 인스턴스 그룹과 최대 50개의 장애 조치 백엔드 인스턴스 그룹을 가질 수 있습니다.

예를 들어 최대로 배포할 경우 각 인스턴스 그룹이 VM 50개를 포함하는 5개의 기본 백엔드와 5개의 장애 복구 백엔드를 가질 수 있습니다.

활성 풀

활성 풀은 내부 TCP/UDP 부하 분산기가 새 연결을 보내는 백엔드 VM 모음입니다. 활성 풀의 백엔드 VM 구성원은 장애 복구 비율에서 설명한대로 정상인 백엔드와 지정할 수 있는 조건에 따라 자동으로 계산됩니다.

활성 풀은 기본 VM과 백업 VM을 결합하지 않습니다. 다음 예시는 회원 가능성을 명확하게 보여줍니다. 장애 조치 중 활성 풀에는 백업 VM만 포함됩니다. 일반 작업(장애 복구) 중 활성 풀에는 기본 VM만 포함됩니다.

장애 조치 및 장애 복구 시의 활성 풀(확대하려면 클릭)
장애 조치 및 장애 복구 시의 활성 풀(확대하려면 클릭)

장애 조치 및 장애 복구

장애 조치장애 복구는 백엔드 VM을 부하 분산기의 활성 풀 안과 밖으로 전환하는 자동 프로세스입니다. GCP가 활성 풀에서 기본 VM을 제거하고 정상적인 장애 조치 VM을 추가하는 프로세스를 장애 조치라고 합니다. GCP가 이를 되돌리는 프로세스를 장애 복구라고 합니다.

장애 조치 정책

장애 조치 정책은 GCP가 장애 조치 및 장애 복구에 사용하는 매개변수의 집합입니다. 각 내부 TCP/UDP 부하 분산기에는 하나의 장애 조치 정책이 있지만 장애 조치 정책에는 다음과 같이 복수의 설정이 있습니다.

  • 장애 조치율
  • 모든 백엔드 VM이 비정상인 경우 트래픽 차단
  • 장애 조치 및 장애 복구 시 연결 드레이닝

장애 조치율

구성 가능한 장애 조치 비율은 GCP가 언제 장애 조치 또는 장애 복구를 수행하면서 활성 풀의 구성원을 변경할지 결정합니다. 이 비율은 0.0에서 1.0 이내의 값입니다. 장애 조치율을 지정하지 않으면 GCP는 기본값 0.0을 사용합니다. 이 기본값에 의존하는 대신 사용 사례에 적합한 수로 장애 조치율을 설정하는 것이 좋습니다.

조건 활성 풀의 VM
  1. 장애 조치율(x) != 0.0.
    정상 VM의 비율 >= x.
  2. 장애 조치율(x) = 0.0.
    정상 VM의 개수 > 0.
모든 정상 기본 VM
하나 이상의 백업 VM이 정상인 동시에 다음 조건을 만족할 경우:
  1. 장애 조치율(x) != 0.0.
    정상 기본 VM의 비율 < x.
  2. 장애 조치율 = 0.0.
    정상 기본 VM의 개수 = 0.
모든 정상 백업 VM
모든 기본 VM 및 모든 백업 VM이 비정상인 동시에 이런 상황에 부하 분산 장치가 트래픽을 차단하도록 구성해 놓지 않은 경우 모든 기본 VM, 최후의 수단

다음 예시는 활성 풀의 멤버 자격을 설명합니다. 계산이 포함된 예시는 장애 조치 예시를 참조하세요.

  • 장애 조치율이 1.0이면 모든 기본 VM이 정상이어야 합니다. 적어도 하나의 기본 VM이 비정상이 되면 GCP는 장애 조치를 수행하여 백업 VM을 활성 풀로 옮깁니다.
  • 장애 조치율이 0.1이면 기본 VM의 최소 10%가 정상이어야 합니다. 그렇지 않으면 GCP가 장애 조치를 수행합니다.
  • 장애 조치 비율이 0.0이면 모든 기본 VM이 비정상일 때만 GCP가 장애 조치를 수행합니다. 하나 이상의 기본 VM이 정상인 경우에는 장애 조치를 수행하지 않습니다.

내부 TCP/UDP 부하 분산기는 트래픽 분산 알고리즘에 따라 활성 풀의 VM 간에 연결을 배포합니다.

모든 백엔드 VM이 비정상인 경우 트래픽 차단

기본적으로 모든 기본 및 백업 VM이 비정상적인 경우 GCP는 모든 기본 VM 사이에 새로운 연결을 배포합니다. 이는 최후의 수단으로 사용됩니다.

원하는 경우 모든 기본 및 백업 VM이 비정상적인 경우 내부 TCP/UDP 부하 분산기가 새 연결을 차단하도록 구성할 수 있습니다.

장애 조치 및 장애 복구 시 연결 드레이닝

연결 드레이닝을 사용하면 백엔드 VM이 비정상이 된 후에도 구성 가능 기간 동안 기존 TCP 세션을 활성 상태로 유지할 수 있습니다. 부하 분산기의 프로토콜이 TCP 인 경우 다음이 발생합니다.

  • 연결 드레이닝은 기본으로 활성화되어 있습니다. 기존 TCP 세션은 백엔드 VM이 비정상이 되거나 부하 분산기의 활성 풀에 없는 경우에도 최대 300초(10 분) 동안 백엔드 VM에 유지 될 수 있습니다.

  • 장애 조치 및 장애 복구 이벤트 중에 연결 드레이닝을 사용 중지할 수 있습니다. 장애 조치 및 장애 복구 중 연결 드레이닝을 사용 중지하면 설정된 TCP 세션을 포함한 모든 TCP 세션이 신속하게 종료됩니다. 백엔드 VM 연결은 TCP 재설정 패킷으로 종료될 수 있습니다.

장애 조치 및 장애 복구에서 연결 드레이닝을 비활성화하면 다음과 같은 상황에 유용합니다.

  • 백엔드 VM 패치: 패치 전에 기본 VM이 상태 확인에 실패하도록 구성하여 부하 분산기가 장애 조치를 수행하게 합니다. 연결 드레이닝을 사용 중지하면 모든 연결이 계획된 방식으로 신속하게 백업 VM으로 이동합니다. 이렇게 하면 기존 연결을 유지하지 않고도 업데이트를 설치하고 기본 VM을 다시 시작할 수 있습니다. 패치 후 GCP는 충분한 수의 기본 VM(장애 조치 비율에 따라 정의된 만큼)이 상태 확인을 통과 할 때 장애 복구를 수행할 수 있습니다.

  • 데이터 일관성을 위한 단일 백엔드 VM: 하나의 기본 VM만을 모든 연결의 목적지로 만들려면 연결 드레이닝을 사용 중지하여 기본 VM에서 백업 VM으로의 전환이 둘 모두에 대한 연결 지속을 허용하지 않게 합니다. 이렇게 하면 특정 시점에 하나의 백엔드 VM만 유지하여 데이터 불일치를 줄일 수 있습니다.

장애 조치 예시

다음 예시는 아키텍처 섹션에 표시된 다중 영역 내부 TCP/UDP 부하 분산기 예시의 장애 조치 동작을 설명합니다.

다중 영역 내부 TCP/UDP 부하 분산 장애 조치(확대하려면 클릭)
다중 영역 내부 TCP/UDP 부하 분산 장애 조치(확대하려면 클릭)

이 부하 분산 장치의 기본 백엔드는 us-west1-a의 비관리형 인스턴스 그룹 ig-aus-west1-cig-d입니다 . 각 인스턴스 그룹에는 두 개의 VM이 포함됩니다. 두 인스턴스 그룹의 VM 4개는 모두 기본 VM입니다.

  • ig-avm-a1
  • ig-avm-a2
  • ig-dvm-d1
  • ig-dvm-d2

이 부하 분산 장치의 장애 조치 백엔드는 ig-b의 비관리형 인스턴스 그룹 us-west1-aig-cus-west1-c입니다 . 각 인스턴스 그룹에는 두 개의 VM이 포함됩니다. 두 인스턴스 그룹의 VM 4개는 모두 백업 VM입니다.

  • ig-bvm-b1
  • ig-bvm-b2
  • ig-cvm-c1
  • ig-cvm-c2

정상 VM의 수가 2개 미만인 경우 백업 VM에 새 연결을 전달하는 장애 조치 정책을 이 부하 분산기에 구성한다고 가정하겠습니다. 이를 위해 장애 조치 비율을 0.5(50%)로 설정합니다. GCP는 장애 조치 비율을 바탕으로 기본 VM의 수를 장애 조치 비율에 곱하여 정상이어야 하는 기본 VM의 최소 개수를 다음과 같이 계산합니다. 4 × 0.5 = 2

네 개의 기본 VM이 모두 정상적인 경우 GCP는 모든 VM에 새로운 연결을 배포합니다. 기본 VM이 상태 확인에 실패하는 경우 다음이 발생합니다.

  • vm-a1vm-d1이 비정상이 되면 정상인 주 VM 수가 최솟값 이상이므로 GCP는 나머지 두 정상 기본 VM, vm-a2, vm-d2 사이에 새로운 연결을 배포합니다.

  • vm-a2도 상태 확인에 실패하여 정상 상태 VM이 vm-d2 하나만 남게 되면 GCP가 정상인 VM 수가 최솟값보다 적다는 점을 인식하여 장애 조치를 수행합니다. 활성 풀은 4개의 정상 백업 VM으로 설정되고 새 연결은 해당 4개 VM에 배포됩니다(인스턴스 그룹 ig-big-c). vm-d2는 정상으로 유지되지만 활성 풀에서 삭제되며 새 연결은 수신되지 않습니다.

  • vm-a2가 복구되고 상태 확인을 통과하면 GCP는 정상 VM 수가 최소 2개 이상인 것을 인지하고 장애 복구를 수행합니다. 활성 풀은 2개의 정상 VM인 vm-a2vm-d2로 설정되고 새 연결이 배포됩니다. 모든 백업 VM이 활성 풀에서 제거됩니다.

  • 다른 기본 VM이 복구되고 상태 확인이 통과하면 GCP는 해당 VM을 활성 풀에 추가합니다. 예를 들어 vm-a1이 정상이 되면 GCP는 정상인 세 개의 기본 VM, vm-a1, vm-a2, vm-d2로 활성 풀을 설정하고 새 연결을 배포합니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...