이 섹션에서는 SD-WAN Edge 클러스터링 기능의 작동 방식에 대해 자세한 개요를 제공합니다.

다음은 SD-WAN Edge 클러스터링 기능을 설명하는 중요한 개념입니다.

  • 다음과 같이 허브에서 Edge 클러스터링을 사용할 수 있습니다.
    • 허브 역할을 하는 개별 Edge가 제공할 수 있는 것보다 허브에 더 높은 터널 용량 허용
    • 여러 허브 간에 원격 스포크 Edge를 분산하고 발생할 수 있는 모든 인시던트에 미치는 영향 감소
  • 클러스터 점수는 다음과 같이 시스템의 전반적인 활용률을 수학적으로 계산하는 것입니다.
    측정된 세 가지 활용률 요소는 CPU 사용량, 메모리 사용량 및 터널 용량입니다.
    • 활용률의 각 측정값은 최대 100%에 대한 비율로 처리됩니다.
    • 터널 용량은 지정된 하드웨어 모델 또는 가상 Edge 구성에 대한 정격 용량을 기준으로 합니다.
    • 세 가지 활용률 비율의 평균을 계산하여 정수 기반 클러스터 점수(1-100)를 구합니다.
    • 처리량이 직접 고려되지는 않지만 CPU 및 메모리 사용량은 지정된 허브의 처리량 및 흐름 볼륨을 간접적으로 반영합니다.
    • 예를 들어 Edge 2000에서는 다음과 같습니다.
      • CPU 사용량 = 20%
      • 메모리 사용량 = 30%
      • 연결된 터널 = 600(용량 6000 중) = 10%
      • 클러스터 점수: (20 + 30 + 10)/3 = 20
  • 클러스터 점수가 70보다 크면 "용량 초과"로 간주됩니다.
  • "논리적 ID"는 VMware 네트워크 내의 요소를 고유하게 식별하는 128비트 UUID입니다.
    • 예를 들어 각 Edge는 논리적 ID로 표시되고 각 클러스터는 논리적 ID로 표시됩니다.
    • 사용자가 Edge 및 클러스터 이름을 제공하는 동안 논리적 ID는 고유한 것으로 보장되며 요소의 내부 식별에 사용됩니다.
  • 기본적으로 로드는 허브 간에 균등하게 분산됩니다. 따라서 클러스터의 일부인 모든 Edge는 동일한 모델 및 용량이어야 합니다.

각 클러스터 멤버에는 WAN 및 LAN 인터페이스에 대한 지정된 자체 IP 주소가 있습니다. 허브 클러스터의 모든 VMware SD-WAN Edge는 각 클러스터 멤버에 대해 고유한 ASN(자치 시스템 번호)을 사용하여 LAN 측의 계층 3 디바이스에서 eBGP와 같은 동적 라우팅 프로토콜을 실행해야 합니다. 클러스터 LAN 측에서 동적 라우팅을 수행하면 DC에서 특정 스포크 사이트로의 트래픽이 적절한 Edge 클러스터 멤버를 통해 라우팅됩니다.

VMware SD-WAN Gateway에서 Edge 클러스터를 어떻게 추적합니까?

VMware SD-WAN 클러스터에 허브가 추가되면 허브는 할당된 모든 게이트웨이로의 터널을 중단했다가 재구축하고, 각 게이트웨이에 허브가 클러스터에 할당되었음을 알리고, 클러스터 논리적 ID를 제공합니다.

클러스터의 경우 SD-WAN Gateway는 다음을 추적합니다.
  • 논리적 ID
  • 이름
  • 자동 재조정 사용 여부
  • 클러스터의 멤버에 대한 허브 개체 목록

클러스터의 각 허브 개체에 대해 게이트웨이는 다음을 추적합니다.

  • 논리적 ID
  • 이름
  • 다음을 포함하여 허브에서 할당된 각 게이트웨이로 전송되는 정기적인 메시지를 통해 30초마다 업데이트되는 통계 집합입니다.
    • 허브의 현재 CPU 사용량
    • 허브의 현재 메모리 사용량
    • 허브의 현재 터널 수
    • 허브의 현재 BGP 경로 수
  • 위에 제공된 수식을 기준으로 계산된 현재 클러스터 점수

게이트웨이가 허브 Edge에서 7초 넘게 패킷을 수신하지 않은 경우 허브 개체 목록에서 허브가 제거됩니다.

Edge는 클러스터의 특정 허브에 어떻게 할당됩니까?

기존 허브 및 스포크 토폴로지에서 SD-WAN Orchestrator는 연결되어야 하는 허브의 논리적 ID를 Edge에 제공합니다. Edge는 Edge가 해당 허브에 연결하는 데 사용하는 해당 허브 논리적 ID에 대한 연결 정보(예: IP 주소 및 포트)를 할당된 게이트웨이에 요청합니다.

Edge의 관점에서 이 동작은 클러스터에 연결할 때와 동일합니다. Orchestrator는 연결해야 하는 허브의 논리적 ID가 개별 허브 논리적 ID가 아닌 클러스터 논리적 ID라는 사실을 Edge에 알립니다. Edge는 허브 연결 요청을 게이트웨이에 전송하는 것과 동일한 절차를 따르고 연결 정보로 응답해야 합니다.

이때 다음과 같이 기본 허브 동작과는 다른 2가지 차이가 나타납니다.

  • 차이 1(Divergence Number One): 게이트웨이는 할당할 허브를 선택해야 합니다.
  • 차이 2(Divergence Number Two): 차이 1로 인해, Edge는 다른 게이트웨이에서 다른 할당을 가져올 수 있습니다.

처음에는 클러스터 점수를 사용하여 가장 로드가 낮은 허브를 클러스터의 Edge에 할당하는 방식으로 차이 1을 해결했습니다. 이 방식은 이상적이라고 볼 수 있지만, 일반적인 재할당 이벤트에 수백 또는 수천 개의 Edge가 포함될 수 있고 클러스터 점수는 30초 간격으로만 업데이트되므로, 실제 환경에서는 그렇게 이상적이지 못한 솔루션으로 확인되었습니다. 즉, 허브 1의 클러스터 점수는 20이고 허브 2의 클러스터 점수는 21인 경우, 30초 동안 모든 Edge가 허브 1을 선택하게 되므로 오버로드되고 추가 할당이 트리거될 수 있습니다.

대신, 게이트웨이는 먼저 클러스터 점수와 관계없이 공정한 수학적 분산을 시도합니다. Orchestrator의 보안 난수 생성기에서 생성된 Edge 논리적 ID에는 (충분한 Edge가 제공될 경우) 균등하게 값이 분산됩니다. 즉, 이 논리적 ID를 사용하면 공정한 공유 분산을 계산할 수 있습니다.

  • Edge 논리적 ID modulo 클러스터의 허브 수 = 할당된 허브 인덱스
  • 예를 들면 다음과 같습니다.
    • 논리적 ID가 1, 2, 3, 4로 끝나는 4개의 Edge
    • 2개의 허브가 있는 클러스터
    • 1 % 2 = 1, 2 % 2 = 0, 3 % 2 = 1, 4 % 2 = 0(참고: "%"는 모듈로 연산자를 나타내는 데 사용)
    • Edge 2 및 4에는 허브 인덱스 0이 할당됩니다.
    • Edge 1 및 3에는 허브 인덱스 1이 할당됩니다.

    이 방식에서는 Edge에 매번 동일한 허브가 할당되어 할당 및 문제 해결의 예측성이 높아지므로 라운드 로빈 유형의 할당보다 좀 더 일관적입니다.

참고: 허브가 다시 시작되면(예: 유지 보수 또는 실패로 인해) 게이트웨이에서 연결이 끊어지고 클러스터에서 제거됩니다. 즉, 위의 설명된 논리로 인해 모든 Edge를 다시 시작하면 Edge가 항상 균등하게 분산되지만, 연결 끊김을 야기하는 허브 이벤트 이후에는 균등하지 않게 분산됩니다.

허브가 허용되는 최대 터널 용량을 초과하면 어떻게 됩니까?

Edge 할당 논리는 사용 가능한 모든 허브 간에 Edge를 균등하게 분산하려고 시도합니다. 하지만, 허브 이벤트(예: 다시 시작) 후에는 Edge 분산이 더 이상 균등하지 않습니다.

참고: 일반적으로 게이트웨이는 허브 간에 균등하게 분산된 Edge로의 초기 할당을 시도하므로 균등하지 않은 분산이 잘못된 상태로 간주되지 않습니다. 할당이 균등하지 않지만 개별 허브가 70%의 터널 용량을 초과하지 않으면 할당은 유효한 것으로 간주됩니다.

허브에 대한 이러한 이벤트(또는 네트워크에 Edge 추가)로 인해, 클러스터는 개별 허브가 허용된 터널 용량의 70%를 초과한 시점에 도달할 수 있습니다. 이 문제가 발생하고 하나 이상의 다른 허브가 70% 터널 용량보다 낮으면 Orchestrator에서 재조정을 사용하도록 설정하는지와 관계없이, 공정한 공유 재분산이 자동으로 수행됩니다. 대부분의 Edge는 논리 ID를 사용하는 예측 수학적 할당으로 인해 기존 할당을 유지하며, 페일오버 또는 이전 활용률 재조정으로 인해 다른 허브에 할당된 Edge는 클러스터가 자동으로 균등한 분산으로 되돌아가도록 재조정됩니다.

허브가 허용되는 최대 클러스터 점수를 초과하면 어떻게 됩니까?

즉시 처리될 수 있는 터널 백분율(용량에 대한 직접 측정값)과 달리, 클러스터 점수는 30초마다 업데이트되며, 게이트웨이는 Edge 재할당 후 조정된 클러스터 점수를 자동으로 계산할 수 없습니다. 클러스터 구성에서는 게이트웨이가 필요에 따라 각 허브에 대해 동적으로 Edge 로드를 이동하려고 할지 아닌지를 나타내는 자동 재조정(Auto Rebalance) 매개 변수가 제공됩니다.

자동 재조정(Auto Rebalance)을 비활성화하고 허브가 클러스터 점수 70을 초과하는 경우(70%의 터널 용량 아님) 작업이 수행되지 않습니다.

[자동 재조정(Auto Rebalance)]을 사용하도록 설정했으며 하나 이상의 허브가 클러스터 점수 70을 초과하는 경우 게이트웨이는 모든 허브가 70 미만이 되거나 더 재할당되지 않을 때까지, 현재 클러스터 점수가 가장 낮은 허브에 분당 1개의 Edge를 다시 할당합니다.

참고: 자동 재조정은 기본적으로 비활성화됩니다.

VMware SD-WAN Gateways가 서로 다른 허브 할당을 제공하면 어떻게 됩니까?

분산 제어부의 특성에 따라, 각 게이트웨이에서는 클러스터 할당에 대해 별도의 결정을 수행합니다. 대부분의 경우 게이트웨이는 동일한 수학적 공식을 사용하므로 모든 Edge에 대해 동일한 할당에 도달합니다. 그러나 클러스터 점수 기반 재조정과 같은 경우에는 이를 보장할 수 없습니다.

Edge가 현재 클러스터의 허브에 연결되어 있지 않으면 응답하는 모든 게이트웨이의 할당을 수락하게 됩니다. 이렇게 하면 일부 게이트웨이는 종료되고 다른 게이트웨이는 실행되는 시나리오에서는 Edge가 절대 미할당 상태를 유지하지 않게 됩니다.

Edge가 클러스터의 허브에 연결되어 있고 대체 허브를 선택해야 한다는 메시지가 표시되면 이 메시지는 "게이트웨이 기본 설정" 순서대로 처리됩니다. 예를 들어, 슈퍼 게이트웨이가 연결되어 있으면 Edge는 해당 슈퍼 게이트웨이에서의 재할당만 허용합니다. 다른 게이트웨이에서 요청된 충돌하는 할당은 무시됩니다. 마찬가지로 슈퍼 게이트웨이가 연결되어 있지 않으면 Edge는 대체 슈퍼 게이트웨이에서의 재할당만 허용합니다. 파트너 게이트웨이의 경우(슈퍼 게이트웨이가 없는 경우) 게이트웨이 기본 설정은 해당 특정 Edge에 대해 구성된 파트너 게이트웨이의 순서를 기준으로 합니다.

VMware SD-WAN Gateway가 종료되면 어떻게 됩니까?

SD-WAN Gateway가 종료된 경우 가장 선호하는 게이트웨이가 종료된 게이트웨이이면 Edge가 다시 할당되고, 다음으로 선호되는 게이트웨이가 다른 할당을 제공합니다. 예를 들어, 슈퍼 게이트웨이는 다른 슈퍼 게이트웨이가 허브 B를 동일한 Edge에 할당하는 동안 이 Edge에 허브 A를 할당했습니다.

이제 해당 슈퍼 게이트웨이가 종료되면 대체 슈퍼 게이트웨이가 연결 정보에 따라 가장 선호되는 게이트웨이기 때문에 Edge가 허브 B로 장애 조치됩니다.

슈퍼 게이트웨이가 복구되면 Edge가 이 게이트웨이에서의 허브 할당을 다시 요청합니다. 위의 시나리오에서 Edge A를 다시 허브 A로 전환하는 것을 방지하기 위해 허브 할당 요청에 현재 할당된 허브(있는 경우)가 포함됩니다. 게이트웨이가 할당 요청을 처리할 때 Edge에 현재 클러스터의 허브가 할당되어 있고 해당 허브의 클러스터 점수가 70보다 작은 경우, 게이트웨이는 해당 할당 논리를 통하지 않고 기존 할당과 일치하도록 로컬 할당을 업데이트합니다. 이렇게 하면 슈퍼 게이트웨이는 복구 시 현재 연결된 허브를 할당하고, 할당된 Edge에 대한 무상 페일오버를 방지합니다.

클러스터의 허브가 동적 경로를 손실하면 어떻게 됩니까?

위에서 언급한 것처럼, 허브는 30초마다 BGP를 통해 학습한 동적 경로 수를 SD-WAN Gateways에 보고합니다. 클러스터에 있는 하나의 허브에 대한 경로만 잘못 취소되거나 BGP 인접 관계가 실패하기 때문에 SD-WAN Gateways는 변경되지 않은 라우팅 테이블이 있는 클러스터의 다른 허브에 대한 스포크 Edge의 페일오버를 수행합니다.

업데이트가 30초마다 전송되므로 경로 수는 업데이트가 SD-WAN Gateway로 전송되는 시점을 기준으로 합니다. SD-WAN Gateway 재조정 논리는 60초마다 발생합니다. 즉, 드물지만 LAN 측 BGP 인접 항목의 총 손실이 발생할 경우 페일오버에 30-60초가 소요될 수 있습니다. 모든 허브가 이러한 이벤트를 따라 다시 게이트웨이를 업데이트할 기회를 얻도록 하기 위해 재조정은 120초마다 최대 1번으로 제한됩니다. 즉, 연속되는 두 번째 실패가 있을 때 120초 후에 페일오버가 진행될 수 있습니다.

클러스터 허브에서 라우팅을 구성하려면 어떻게 합니까?

게이트웨이가 스포크에서 클러스터의 멤버 허브에 연결하도록 지시할 수 있으므로 모든 허브에서 라우팅 구성을 미러링해야 합니다. 예를 들어 스포크에서 허브 뒤에 있는 BGP 접두사 192.168.2.1에 도달해야 하는 경우 클러스터의 모든 허브는 정확히 동일한 경로 특성을 사용하여 192.168.2.1을 보급해야 합니다.

BGP 업링크 커뮤니티 태그를 클러스터 배포에서 사용해야 합니다. BGP 피어에 경로를 재배포할 때 업링크 커뮤니티 태그를 설정하도록 클러스터 노드를 구성합니다.

클러스터의 Hub에 장애가 발생하면 어떻게 됩니까?

SD-WAN Gateway는 스포크 Edge로 페일오버되기 전에 터널이 비활성(7초)으로 선언될 때까지 기다립니다. 즉, SD-WAN Hub 또는 연결된 모든 WAN 링크가 실패할 경우 페일오버에 7-10초(RTT에 따라)가 소요될 것으로 예상할 수 있습니다.