Azure Service Bus 지역 복제(미리 보기)

Service Bus 지역 복제 기능은 Azure Service Bus 애플리케이션을 중단 및 재해로부터 보호하는 옵션 중 하나로, 메타데이터(엔터티, 구성, 속성)와 데이터(메시지 데이터 및 메시지 속성/상태 변경) 모두의 복제를 제공합니다.

참고 항목

이 기능은 Azure Service Bus의 프리미엄 계층에서 사용할 수 있습니다.

지역 복제 기능은 네임스페이스의 메타데이터 및 데이터가 주 지역에서 하나 이상의 보조 지역으로 지속적으로 복제되도록 보장합니다.

  • 큐, 항목, 구독, 필터.
  • 엔터티에 상주하는 데이터.
  • 모든 상태 변경 사항 및 속성 변경 사항은 네임스페이스 내의 메시지에 대해 실행됩니다.
  • 네임스페이스를 구성합니다.

참고 항목

현재는 단일 보조만 지원됩니다.

이 기능을 사용하면 언제든지 보조 지역을 기본 지역으로 승격할 수 있습니다. 보조 지역을 승격하면 네임스페이스의 이름이 선택한 보조 지역으로 다시 지정되고 기본 지역과 보조 지역 간에 역할이 전환됩니다. 승격은 일단 시작되면 거의 즉시 진행됩니다.

Important

  • 이 기능은 현재 공개 미리 보기 상태이므로 프로덕션 시나리오에서는 사용하면 안 됩니다.
  • 아래 지역은 현재 공개 미리 보기에서 지원됩니다.
북아메리카 유럽 아시아 태평양
미국 중부 EUAP 이탈리아 북부 오스트레일리아 중부
캐나다 중부 스페인 중부 오스트레일리아 동부
캐나다 동부 노르웨이 동부
  • 이 기능은 현재 새 네임스페이스에서 사용할 수 있습니다. 이전에 네임스페이스에서 이 기능을 사용하도록 설정한 경우 사용하지 않도록 설정하고(보조 지역을 제거하여) 다시 사용하도록 설정할 수 있습니다.
  • 다음 기능은 현재 지원되지 않습니다. 공개 미리 보기에 더 많은 기능을 제공하기 위해 지속적으로 노력하고 있으며 이 목록을 최신 상태로 업데이트할 예정입니다.
    • 큰 메시지를 지원합니다.
    • VNET/고급 네트워크 기능(프라이빗 엔드포인트, IP ACL, NSP, 서비스 엔드포인트).
    • ID(MSI, 로컬 인증 사용 안 함) 및 암호화 설정(CMK(고객 관리형 키) 암호화 또는 BYOK(Bring Your Own Key) 암호화)
    • 자동 크기 조정.
    • 분할된 네임스페이스.
    • Event Grid로 이벤트를 보냅니다.
  • 이 기능은 Azure Service Bus 지리적 재해 복구 기능과 함께 사용할 수 없습니다.

시나리오

여기에 설명된 대로 지역 복제 기능을 사용하여 다양한 시나리오를 구현할 수 있습니다.

재해 복구

데이터와 메타데이터는 기본 지역과 보조 지역 간에 지속적으로 동기화됩니다. 지역이 지연되거나 사용할 수 없는 경우 보조 지역을 기본 지역으로 승격할 수 있습니다. 이 승격을 통해 새로 승격된 지역에서 워크로드가 중단 없이 작동할 수 있습니다. 이러한 승격은 특히 다양한 구성 요소를 함께 실행하려는 경우 워크로드 내의 Service Bus 또는 기타 서비스의 성능 저하로 인해 필요할 수 있습니다. 심각도와 영향을 받는 서비스에 따라 승격이 계획되거나 강제될 수 있습니다. 계획된 승격의 경우 승격이 완료되기 전에 진행 중인 메시지가 복제되는 반면, 강제 승격의 경우 즉시 실행됩니다.

지역 마이그레이션

Service Bus 워크로드를 마이그레이션하여 다른 지역에서 실행하려는 경우가 있습니다. 예를 들어, Azure가 사용자 위치, 사용자 또는 기타 서비스에 지리적으로 더 가까운 새 지역을 추가하는 경우입니다. 또는 대부분의 워크로드가 실행되는 지역이 이동될 때 마이그레이션을 원할 수도 있습니다. 지역 복제 기능은 이러한 경우에도 좋은 솔루션을 제공합니다. 이 경우 원하는 새 지역을 보조 지역으로 사용하여 기존 네임스페이스에 지역 복제를 설정하고 동기화가 완료될 때까지 기다립니다. 이 시점에서 계획된 승격을 시작하여 진행 중인 메시지가 복제되도록 허용합니다. 승격이 완료되면 이제 선택적으로 현재 보조 지역인 이전 지역을 제거하고 원하는 지역에서 워크로드를 계속 실행할 수 있습니다.

기본 개념

지역 복제 기능은 기본-보조 복제 모델에서 메타데이터 및 데이터 복제를 구현합니다. 특정 시점에 생산자와 소비자 모두에게 서비스를 제공하는 단일 주 지역이 있습니다. 보조 지역은 핫 대기 지역 역할을 합니다. 즉, 이러한 보조 지역과 상호 작용할 수 없습니다. 그러나 주 지역과 동일한 구성에서 실행되므로 빠른 승격이 가능하며 승격이 완료된 후에도 워크로드가 즉시 계속 실행될 수 있습니다. 지역 복제 기능은 프리미엄 계층에서 사용할 수 있습니다.

지역 복제 기능의 주요 측면 중 일부는 다음과 같습니다.

  • Service Bus 서비스는 네임스페이스에 구성된 복제 일관성을 준수하는 지역 전체에서 메타데이터, 메시지 데이터, 메시지 상태 및 속성 변경의 완전 관리형 복제를 수행합니다.
  • 단일 네임스페이스 호스트 이름. 지역 복제 지원 네임스페이스를 성공적으로 구성하면 사용자는 클라이언트 애플리케이션에서 네임스페이스 호스트 이름을 사용할 수 있습니다. 호스트 이름은 구성된 기본 및 보조 지역에 관계없이 작동하며 항상 주 지역을 가리킵니다.
  • 고객이 승격을 시작하면 호스트 이름은 새로운 주 지역으로 선택된 지역을 가리킵니다. 이전 기본 지역이 보조 지역이 됩니다.
  • 보조 지역에서는 읽거나 쓸 수 없습니다.
  • 동기식 및 비동기식 복제 모드에 대한 자세한 내용은 여기에 설명되어 있습니다.
  • 기본 지역에서 보조 지역으로의 고객 관리 승격으로 중단 해결에 대한 완전한 소유권과 표시 여부를 제공합니다. 고객 쪽에서 승격을 자동화하는 데 도움이 되는 메트릭을 사용할 수 있습니다.
  • 고객의 재량에 따라 보조 지역을 추가하거나 제거할 수 있습니다.

복제 모드

동기식과 비동기식의 두 가지 복제 모드가 있습니다. 두 모드의 차이점을 아는 것이 중요합니다.

비동기 복제

비동기 복제를 사용하면 모든 요청이 기본에서 커밋된 후 클라이언트에 승인이 전송됩니다. 보조 지역에 대한 복제는 비동기식으로 수행됩니다. 사용자는 허용 가능한 최대 지연 기간을 구성할 수 있습니다. 지연 기간은 기본 지역과 보조 지역의 최신 작업 간의 서비스 쪽 오프셋입니다. 활성 보조 복제본의 대기 시간이 사용자 구성을 초과하면 기본 복제본이 들어오는 요청을 제한하기 시작합니다.

동기 복제

동기 복제를 사용하면 모든 요청이 보조 서버에 복제되며, 기본 서버에서 커밋하기 전에 작업을 커밋하고 확인해야 합니다. 따라서 애플리케이션은 게시, 복제, 승인 및 커밋에 걸리는 속도로 게시됩니다. 또한 이는 사용자의 애플리케이션이 두 지역의 가용성과 연결되어 있음을 의미합니다. 보조 지역이 지연되거나 사용할 수 없는 경우 메시지는 승인 및 커밋되지 않으며 기본 지역은 들어오는 요청을 제한합니다.

복제 모드 비교

동기식 복제의 경우:

  • 분산 커밋 작업으로 인해 대기 시간이 길어집니다.
  • 가용성은 두 지역의 가용성과 연결됩니다.

반면 동기 복제는 데이터가 안전하다는 최고의 보장을 제공합니다. 동기식 복제가 있는 경우 이를 커밋하면 지역 복제용으로 구성한 모든 지역에 커밋되어 최상의 데이터 보증이 제공됩니다.

비동기 복제의 경우:

  • 대기 시간은 최소 영향을 받습니다.
  • 보조 지역의 손실은 가용성에 즉시 영향을 미치지 않습니다. 그러나 구성된 최대 복제 지연에 도달하면 가용성이 영향을 받습니다.

따라서 동기 복제처럼 커밋하기 전에 모든 지역에 데이터가 있다는 절대적인 보장은 없으며 데이터 손실이나 복제가 발생할 수 있습니다. 그러나 단일 지역이 대기 시간되거나 사용할 수 없을 때 더 이상 즉시 영향을 받지 않으므로 대기 시간이 단축될 뿐만 아니라 애플리케이션 가용성도 개선됩니다.

기능 동기 복제 비동기 복제
대기 시간 분산 커밋 작업으로 인해 더 길어짐 최소 영향을 받음
가용성 보조 지역의 가용성과 관련됨 보조 지역의 손실은 가용성에 즉시 영향을 미치지 않음
데이터 일관성 승인 전에 두 지역 모두에서 항상 커밋되는 데이터 승인 전에만 기본 지역에서 커밋되는 데이터
RPO(복구 지점 목표) RPO 0, 승격 시 데이터 손실 없음 RPO > 0, 승격 시 데이터 손실 가능

복제 모드는 지역 복제를 구성한 후 변경할 수 있습니다. 동기식에서 비동기식으로 또는 비동기식에서 동기식으로 전환할 수 있습니다. 비동기식에서 동기식으로 전환하면 대기 시간이 0에 도달한 후 보조 장치가 동기식으로 구성됩니다. 어떤 이유로든 지속적인 지연이 발생하는 경우 지연이 0이 되고 모드가 동기 모드로 전환될 수 있도록 게시자를 일시 중지해야 할 수도 있습니다. 비동기식 복제 대신 동기식 복제를 사용하도록 설정하는 이유는 애플리케이션의 가용성보다는 데이터의 중요도, 특정 비즈니스 요구 사항 또는 준수 이유와 관련이 있습니다.

참고 항목

보조 지역이 지연되거나 사용할 수 없게 되는 경우 애플리케이션은 더 이상 이 지역에 복제할 수 없으며 복제 지연에 도달하면 제한이 시작됩니다. 기본 위치에서 네임스페이스를 계속 사용하려면 영향을 받는 보조 지역을 제거할 수 있습니다. 더 이상 보조 지역이 구성되지 않으면 지역 복제가 사용하도록 설정되지 않은 상태에서 네임스페이스가 계속됩니다. 언제든지 보조 지역을 추가할 수 있습니다.

보조 지역 선택

지역 복제 기능을 사용하도록 설정하려면 해당 기능이 사용하도록 설정된 기본 및 보조 지역을 사용해야 합니다. 지역 복제 기능은 게시된 메시지를 기본 지역에서 보조 지역으로 복제할 수 있는지 여부에 따라 달라집니다. 보조 지역이 다른 대륙에 있는 경우 이는 기본 지역에서 보조 지역으로의 복제 지연에 큰 영향을 미칩니다. 가용성상의 이유로 지역 복제를 사용하는 경우 가능한 한 최소한 동일한 대륙에 보조 지역을 두는 것이 가장 좋습니다. 지리적 거리로 인해 발생하는 대기 시간을 더 잘 이해하려면 Azure 네트워크 왕복 대기 시간 통계에서 자세히 알아볼 수 있습니다.

지역 복제 관리

지역 복제 기능을 통해 고객은 메타데이터 및 데이터를 복제할 보조 지역을 구성할 수 있습니다. 따라서 고객은 다음과 같은 관리 작업을 수행할 수 있습니다.

  • 지역 복제 구성; 지역 복제 기능이 사용하도록 설정된 지역의 새 네임스페이스나 기존 네임스페이스에 보조 지역을 구성할 수 있습니다.

    참고 항목

    현재 공개 미리 보기에서는 새 네임스페이스만 지원됩니다.

  • 복제 일관성을 구성합니다. 동기식 및 비동기식 복제는 지역 복제가 구성될 때 설정되지만 나중에 전환할 수도 있습니다.
  • 승격을 트리거합니다. 모든 승격은 고객이 시작합니다.
  • 보조를 제거합니다. 보조 지역을 제거하려고 하기 전에는 보조 지역의 데이터가 삭제됩니다.

설정

Azure Portal 사용

다음 섹션은 Azure Portal을 통해 새 네임스페이스에 지역 복제 기능을 설정하는 개요입니다.

참고 항목

이 환경은 공개 미리 보기 중에 변경될 수 있습니다. 이에 따라 이 문서를 업데이트할 예정입니다.

  1. 새 프리미엄 계층 네임스페이스를 만듭니다.
  2. 복제(미리 보기) 섹션에서 지역 복제 사용 확인란을 선택합니다.
  3. 보조 지역 추가 단추를 클릭하고 지역을 선택합니다.
  4. 동기 복제 확인란을 선택하거나 비동기 복제 - 최대 복제 지연 값을 초 단위로 지정합니다. 지역 복제가 사용하도록 설정된 네임스페이스 만들기 환경을 보여 주는 스크린샷.

Bicep 템플릿 사용

지역 복제 기능이 사용하도록 설정된 네임스페이스를 만들려면 geoDataReplication 속성 섹션을 추가합니다.

param serviceBusName string
param primaryLocation string
param secondaryLocation string
param maxReplicationLagInSeconds int

resource sb 'Microsoft.ServiceBus/namespaces@2023-01-01-preview' = {
  name: serviceBusName
  location: primaryLocation
  sku: {
    name: 'Premium'
    tier: 'Premium'
    capacity: 1
  }
  properties: {
    geoDataReplication: {
      maxReplicationLagDurationInSeconds: maxReplicationLagInSeconds
      locations: [
        {
          locationName: primaryLocation
          roleType: 'Primary'
        }
        {
          locationName: secondaryLocation
          roleType: 'Secondary'
        }
      ]
    }
  }
}

관리

지역 복제 기능이 사용하도록 설정된 네임스페이스를 만들면 복제(미리 보기) 블레이드에서 기능을 관리할 수 있습니다.

복제 모드 전환

복제 모드 간을 전환하거나 최대 복제 지연을 업데이트하려면 복제 일관성 아래의 링크를 클릭하고 확인란을 클릭하여 동기 복제를 사용하거나 사용하지 않도록 설정하거나 텍스트 상자의 값을 업데이트하여 비동기 최대 복제 지연을 변경합니다. 지역 복제 기능의 구성을 업데이트하는 방법을 보여 주는 스크린샷.

보조 지역 삭제

보조 지역을 제거하려면 해당 지역 옆에 있는 ... 줄임표를 클릭하고 삭제를 클릭합니다. 지역을 삭제하려면 팝업 블레이드의 지침을 따릅니다. 보조 지역을 삭제하는 방법을 보여 주는 스크린샷.

승격 흐름

승격은 고객이 명시적으로 명령 또는 명령을 트리거하는 클라이언트 소유 비즈니스 논리를 통해 수동으로 트리거되며, Azure에서는 트리거되지 않습니다. 그러면 고객이 Azure의 백본에서 가동 중단 해결에 대한 완전한 소유권과 가시성을 확보할 수 있습니다. 계획된 승격을 선택하면 서비스는 승격을 시작하기 전에 복제 지연을 따라잡을 때까지 기다립니다. 반면, 강제 승격을 선택하면 서비스가 즉시 승격을 시작합니다. 네임스페이스는 승격이 요청된 시점부터 승격이 완료될 때까지 읽기 전용 모드로 설정됩니다. 계획된 승격이 시작된 후 언제든지 강제 승격을 수행할 수 있습니다. 이를 통해 계획된 장애 조치(failover)가 원하는 것보다 오래 걸릴 경우 사용자가 신속하게 승격하도록 제어할 수 있습니다.

Important

강제 승격을 사용하면 복제되지 않은 데이터가 손실될 수 있습니다.

승격이 시작된 후:

  1. 호스트 이름은 보조 지역을 가리키도록 업데이트되며, 이는 최대 몇 분 정도 걸릴 수 있습니다.

    참고 항목

    ping 명령(ping 네임스페이스 정규화된 이름)을 시작하여 현재 주 지역을 확인할 수 있습니다.

  2. 클라이언트는 보조 지역에 자동으로 다시 연결됩니다.

포털에서 기본 지역에서 보조 지역으로의 승격 흐름을 보여 주는 스크린샷.

모니터링 시스템이나 사용자 지정 모니터링 솔루션을 사용하여 승격을 자동화할 수 있습니다. 그러나 이러한 자동화에는 추가 계획 및 작업이 필요합니다. 이 부분은 이 문서에서 다루지 않습니다.

Azure Portal 사용

포털에서 승격 아이콘을 클릭하고 팝업 블레이드의 지침에 따라 지역을 삭제합니다.

보조 지역 승격 흐름을 보여 주는 스크린샷.

Azure CLI 사용

Azure CLI 명령을 실행하여 승격을 시작합니다. Force 속성은 선택 사항이며 기본값은 false입니다.

az rest --method post --url https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.ServiceBus/namespaces/<namespaceName>/failover?api-version=2023-01-01-preview --body "{'properties': {'PrimaryLocation': '<newPrimaryocation>', 'api-version':'2023-01-01-preview', 'Force':'false'}}"

데이터 복제 모니터링

사용자는 Log Analytics에서 복제 지연 메트릭을 모니터링하여 복제 작업의 진행률을 모니터링할 수 있습니다.

  • Azure Service Bus 모니터링에 설명된 대로 Service Bus 네임스페이스에서 메트릭 로그를 사용하도록 설정합니다.
  • 메트릭 로그가 사용하도록 설정되면 로그 보기를 시작하기 전에 몇 분 동안 네임스페이스에서 데이터를 생성하고 사용해야 합니다.
  • 메트릭 로그를 보려면 Service Bus의 모니터링 섹션으로 이동하여 로그 블레이드를 클릭합니다. 다음 쿼리를 사용하여 기본 지역과 보조 지역 간의 복제 지연(초)을 찾을 수 있습니다.
AzureMetrics
| where TimeGenerated > ago(1h)
| where MetricName == "ReplicationLagDuration"

데이터 게시

게시 애플리케이션은 지역 복제가 사용하도록 설정된 네임스페이스의 네임스페이스 호스트 이름을 통해 지역 복제된 네임스페이스에 데이터를 게시할 수 있습니다. 게시 방식은 지역 복제가 아닌 사례와 동일하며 데이터 평면 SDK 또는 클라이언트 애플리케이션을 변경할 필요가 없습니다. 다음과 같은 상황에서는 게시가 불가능할 수 있습니다.

  • 보조 지역의 승격을 요청한 후 기존 주 지역은 승격이 완료될 때까지 Service Bus에 게시된 모든 새 메시지를 거부합니다.
  • 기본 지역과 보조 지역 간의 복제 지연이 최대 복제 지연 기간에 도달하면 게시자 수신 워크로드가 제한될 수 있습니다.

게시자 애플리케이션은 보조 지역의 네임스페이스에 직접 액세스할 수 없습니다.

데이터 사용

사용 중인 애플리케이션은 지역 복제 기능이 사용하도록 설정된 네임스페이스의 네임스페이스 호스트 이름을 사용하여 데이터를 사용할 수 있습니다. 승격이 시작된 순간부터 승격이 완료될 때까지 소비자 작업이 지원되지 않습니다.

고려 사항

이 릴리스에서 고려할 다음과 같은 고려 사항에 유의하세요.

  • 승격 계획에서는 시간 요소도 고려해야 합니다. 예를 들어 15~20분이 넘게 연결이 손실된 경우 승격을 시작하기로 결정할 수 있습니다.
  • 복잡한 분산 인프라를 승격하려면 최소한 한 번은 예행 연습을 수행해야 합니다.

가격 책정

Service Bus의 프리미엄 계층은 메시징 단위로 가격이 책정됩니다. 지역 복제 기능을 사용하면 보조 지역이 주 지역과 동일한 수의 MU에서 실행되며 가격 책정은 총 MU 수에 대해 계산됩니다. 또한 게시된 대역폭에 보조 지역 수를 곱한 값에 따라 요금이 부과됩니다. 초기 공개 미리 보기 중에는 이 요금이 면제됩니다.

다음 단계

Service Bus 메시징에 대해 자세히 알아보려면 다음 문서를 참조하세요.