다음을 통해 공유


Azure Logic Apps를 사용하여 Azure 리소스 복제 작업 만들기(미리 보기)

Important

이 기능은 미리 보기로 제공되고 Microsoft Azure 미리 보기의 추가 사용 약관이 적용됩니다.

최대한의 가용성과 안정성이 Azure 서비스의 운영에서 가장 우선시되지만 네트워킹이나 이름 확인 문제, 오류 또는 일시적인 무응답으로 인해 통신이 중지되는 여러 가지 방법이 여전히 존재합니다. 이러한 조건은 재해 복구 상황에서 수행할 수 있는 것처럼 지역 배포를 완전히 포기해야 하는 ‘재앙’은 아닙니다. 그러나 일부 앱의 비즈니스 시나리오는 몇 분 또는 몇 초 이하로 지속되는 가용성 이벤트의 영향을 받을 수 있습니다.

예측할 수 없는 이벤트가 Azure 지역의 Azure 리소스에 끼칠 수 있는 영향을 줄이려면, 비즈니스 연속성을 유지할 수 있도록 이러한 리소스의 콘텐츠를 한 지역에서 다른 지역으로 복제하면 됩니다. Azure에서는 한 지역의 원본에서 다른 지역의 대상으로 데이터나 이벤트, 메시지를 이동하는 복제 작업을 만들 수 있습니다. 이렇게 하면 원본이 오프라인 상태가 되고 대상을 인수해야 하는 경우 대상을 즉시 사용할 수 있습니다.

참고 항목

복제 작업을 사용하여 동일한 지역의 엔터티 간에 콘텐츠를 이동할 수도 있지만, 전체 지역을 사용할 수 없게 되거나 중단이 발생하면 원본과 대상이 모두 영향을 받습니다.

이 문서에서는 Azure Logic Apps에서 제공하는 복제 작업에 대한 개요를 제공하고, Azure Service Bus 큐에 대한 예제 복제 작업을 만드는 방법을 보여 줍니다. 논리 앱과 워크플로를 처음 사용하는 경우 Azure Logic Apps란?Azure Logic Apps의 단일 테넌트와 다중 테넌트 비교를 검토합니다.

복제 작업이란 무엇인가요?

일반적으로 복제 작업은 원본에서 데이터, 이벤트 또는 메시지를 받아 해당 콘텐츠를 대상으로 이동한 다음, 원본이 Event Hubs 엔터티인 경우를 제외하고 원본에서 해당 콘텐츠를 삭제합니다. 복제 작업은 일반적으로 콘텐츠를 변경하지 않고 이동하지만, Azure Logic Apps에서 제공되는 복제 작업은 복제 속성도 추가합니다. 원본 프로토콜과 대상 프로토콜이 다르면 이러한 작업에서 메타데이터 구조 간의 매핑도 수행합니다. 복제 작업은 상태 비저장입니다. 즉, 작업의 병렬 또는 순차적 실행에서 상태나 기타 부작용을 공유하지 않습니다.

사용 가능한 복제 작업 템플릿을 사용하는 경우, 만드는 각 복제 작업은 복제 작업에 대한 여러 워크플로를 포함할 수 있는 논리 앱(표준) 리소스에 기본 상태 비저장 워크플로를 갖추고 있습니다. 이 리소스는 복제 및 페더레이션 작업을 포함하여 서버리스 애플리케이션을 구성, 실행하기 위한 확장 가능하고 안정적인 실행 환경인 단일 테넌트 Azure Logic Apps에 호스트됩니다. 또한 단일 테넌트 Azure Logic Apps 런타임은 Azure Functions 확장성 모델을 사용하며 Azure Functions 런타임에 확장으로 호스트됩니다. 이 설계은 논리 앱 워크플로에 대한 이식성, 유연성을 비롯한 많은 성능과 Azure Functions 플랫폼 및 Azure App Service 에코시스템에서 상속된 기타 기능과 이점을 제공합니다.

복제 및 페더레이션에 대한 자세한 내용은 다음 설명서를 검토하세요.

복제 작업 템플릿

현재 복제 작업 템플릿은 Azure Event HubsAzure Service Bus에서 사용할 수 있습니다. 다음 표에는 현재 이 미리 보기에서 사용할 수 있는 복제 작업 템플릿이 나열되어 있습니다.

리소스 종류 복제 원본 및 대상
Azure Event Hubs 네임스페이스 - Event Hubs 인스턴스에서 Event Hubs 인스턴스로
- Event Hubs 인스턴스에서 Service Bus 큐로
- Event Hubs 인스턴스에서 Service Bus 토픽으로
Azure Service Bus 네임스페이스 - Service Bus 큐에서 Service Bus 큐로
- Service Bus 큐에서 Service Bus 토픽으로
- Service Bus 토픽에서 Service Bus 토픽으로
- Service Bus 큐에서 Event Hubs 인스턴스로
- Service Bus 토픽에서 Service Bus 큐로
- Service Bus 토픽에서 Event Hubs 인스턴스로

중요: 큐가 원본인 경우, 복제 작업에서는 메시지를 복사하지 않지만 메시지를 원본에서 대상으로 이동한 후 원본에서 삭제합니다.

대신 메시지를 미러링하려면 ‘기본’ 구독이 큐 엔드포인트처럼 작동하도록 토픽을 원본으로 사용합니다. 이렇게 하면 대상은 원본에서 각 메시지의 복사본을 가져옵니다.

여러 지역에 걸쳐 메시지를 라우팅하려면 앱에서 메시지를 보내는 큐를 만들면 됩니다. 복제 작업은 해당 큐에서 다른 지역에 있는 네임스페이스의 대상 큐로 메시지를 전송합니다. 토픽 구독을 전송 큐 역할을 하는 엔터티로도 사용할 수 있습니다. 자세한 내용은 ServiceBusCopy 복제 토폴로지를 검토하세요.

복제 토폴로지 및 워크플로

Azure Logic Apps(표준)에서 제공하는 복제 작업의 작동 방식을 시각화하는 데 도움을 주기 위해 다음 다이어그램에는 Event Hubs 인스턴스 및 Service Bus 큐의 복제 작업 구조과 워크플로가 나와 있습니다.

Event Hubs 복제 토폴로지

다음 다이어그램에서는 Event Hubs 인스턴스 간의 토폴로지 및 복제 작업 워크플로를 보여 줍니다.

Event Hubs 인스턴스 간의 “Logic App(표준)” 워크플로를 기반으로 하는 복제 작업의 토폴로지를 보여 주는 개념적 다이어그램

Azure Event Hubs의 복제 및 페더레이션에 대한 내용은 다음 설명서를 검토하세요.

Service Bus 복제 토폴로지

다음 다이어그램에서는 Service Bus 큐 간의 토폴로지 및 복제 작업 워크플로를 보여 줍니다.

Service Bus 큐 간의 “Logic App(표준)” 워크플로를 기반으로 하는 복제 작업의 토폴로지를 보여 주는 개념적 다이어그램

Azure Service Bus의 복제 및 페더레이션에 대한 내용은 다음 설명서를 검토하세요.

메타데이터 및 속성 매핑

Event Hubs는 원본 Event Hubs 네임스페이스에서 가져온 항목, 즉 이벤트의 서비스가 할당한 메타데이터, 원래 큐에 넣기 시간, 시퀀스 번호 및 오프셋이 대상 Event Hubs 네임스페이스에서 새로운 서비스가 할당한 값으로 바뀝니다. 그러나 도우미 함수 및 Azure 제공 샘플의 복제 작업은 원래 값이 repl-enqueue-time(ISO8601 문자열), repl-sequencerepl-offset 사용자 속성에 유지됩니다. 이러한 속성에는 string 형식이 있고 해당하는 원래 속성의 문자열 형식 값이 포함됩니다. 이벤트가 여러 번 전달되는 경우 직접 원본의 서비스가 할당한 메타데이터는 존재하는 속성에 추가되고 값은 세미콜론으로 구분됩니다. 자세한 내용은 서비스가 할당한 메타데이터 - 이벤트 복제 작업 패턴을 검토하세요.

Service Bus는 원본 Service Bus 큐 또는 토픽에서 가져온 항목, 즉 메시지의 서비스가 할당한 메타데이터, 원래 큐에 넣기 시간 및 시퀀스 번호가 대상 Service Bus 큐 또는 토픽에서 새로운 서비스가 할당한 값으로 바뀝니다. 그러나 Azure에서 제공하는 샘플의 기본 복제 작업은 원래 값이 repl-enqueue-time(ISO8601 문자열) 및 repl-sequence 사용자 속성에 유지됩니다. 이러한 속성에는 string 형식이 있고 해당하는 원래 속성의 문자열 형식 값이 포함됩니다. 메시지가 여러 번 전달되는 경우 직접 원본의 서비스가 할당한 메타데이터는 존재하는 속성에 추가되고 값은 세미콜론으로 구분됩니다. 자세한 내용은 서비스가 할당한 메타데이터 - 메시지 복제 작업 패턴을 검토하세요.

작업이 Service Bus에서 Event Hubs로 복제되는 경우 해당 작업은 User Properties 속성만 Properties 속성에 매핑합니다. 그러나 작업이 Event Hubs에서 Service Bus로 복제되는 경우 해당 작업은 다음 속성을 매핑합니다.

Event Hubs에서 Service Bus로
ContentType ContentType
CorrelationId CorrelationId
MessageId MessageId
PartitionKey PartitionKey SessionId
속성 사용자 속성
ReplyTo ReplyTo
ReplyToGroupName ReplyToSessionId
Subject Label
To To

순서 유지

Event Hubs의 경우 동일한 파티션 수 간의 복제에서는 이벤트를 변경하지 않고 1:1 클론을 만들지만, 중복을 포함할 수도 있습니다. 그러나 여러 파티션 수 간의 복제는 파티션 키에 따라 이벤트의 상대 순서만 유지되지만 중복을 포함할 수도 있습니다. 자세한 내용은 스트림 및 순서 유지를 검토하세요.

Service Bus의 경우 원본에서 검색된 세션 ID가 동일한 메시지 시퀀스는 동일한 세션 ID를 사용하여 원래 시퀀스에서 일괄 처리로 대상 큐 또는 토픽에 제출되도록 세션을 사용해야 합니다. 자세한 내용은 시퀀스 및 순서 유지를 검토하세요.

Important

복제 작업은 원본에서 중단 이벤트가 발생할 때 이미 처리된 메시지를 추적하지 않습니다. 이미 처리된 메시지를 다시 처리하지 않도록 하려면, 처리되지 않은 메시지만 사용하여 처리가 다시 시작되도록 이미 처리된 메시지를 추적하는 방법을 설정해야 합니다.

예를 들어 각 메시지에 대한 처리 상태를 저장하는 데이터베이스를 설정할 수 있습니다. 메시지가 도착하면 메시지의 상태를 확인하고 메시지가 처리되지 않은 경우에만 처리합니다. 이렇게 하면 이미 처리된 메시지가 처리되지 않습니다.

이 패턴은 입력 시 동작을 반복하면 다른 부작용 없이 동일한 결과가 산출되거나 입력 값이 변경되지 않는 멱등성 개념을 보여 줍니다.

복제 작업을 만들 수 있는 Azure 서비스에 대한 다중 사이트 및 다중 지역 페더레이션에 대해 자세히 알아보려면 다음 설명서를 검토하세요.

가격 책정

아래의 복제 작업은 단일 테넌트 Azure Logic Apps에서 호스트되는 논리 앱(표준) 리소스의 상태 비저장 워크플로를 기반으로 합니다. 이 복제 작업을 만들면 요금이 즉시 발생되기 시작합니다. 사용량, 계량, 청구 및 가격 책정 모델은 표준 호스팅 계획표준 계획 가격 책정 계층을 따릅니다.

Event Hubs가 수신하는 이벤트의 수 또는 Service Bus가 처리하는 메시지에 따라 호스팅 계획이 스케일 업되거나 스케일 다운되어 활성 복제 작업 중에 최소한의 vCPU 사용량과 짧은 대기 시간을 유지할 수 있습니다. 이 동작을 수행하려면 복제 작업에 사용할 논리 앱 리소스를 만들 때 Azure Logic Apps가 CPU 사용량을 제한하거나 최대화하지 않고 빠른 복제 속도를 계속 보장할 수 있도록 적절한 표준 계획 가격 책정 계층을 선택해야 합니다.

참고 항목

앱이 WS1 계획의 한 인스턴스로 시작해서 두 개의 인스턴스로 스케일 아웃되는 경우, 계획이 온종일 실행된다고 가정하면 비용은 WS1 비용의 두 배입니다. 앱을 WS2 계획으로 스케일 업하고 하나의 인스턴스를 사용하는 경우, 비용은 두 개의 WS1 계획 인스턴스와 사실상 동일합니다. 마찬가지로 앱을 WS3 계획으로 스케일 업하고 한 인스턴스를 사용하는 경우, 비용은 두 개의 WS2 계획 인스턴스 또는 네 개의 WS1 계획 인스턴스와 사실상 동일합니다.

다음 예제에는 시나리오가 Event Hubs 또는 Service Bus인지, 구성 값이 다양한지에 따라 특정 복제 작업 시나리오에 가장 적합한 처리량과 비용을 제공하는 호스팅 계획 가격 책정 계층 및 구성 옵션이 나와 있습니다.

참고 항목

다음 섹션의 예제에서는 이벤트 또는 메시지 크기가 1KB라고 가정하여 프리페치 수, Event Hubs의 최대 이벤트 일괄 처리 크기, Service Bus의 최대 메시지 수에 대해 기본값으로 800을 사용합니다. 이벤트 크기에 따라 프리페치 수, 최대 이벤트 일괄 처리 크기 또는 최대 메시지 수를 조정할 수 있습니다. 예를 들어 이벤트 크기 또는 메시지 크기가 1KB를 초과하는 경우 프리페치 수의 값과 최대 이벤트 일괄 처리 크기 또는 메시지 수를 800에서 줄일 수 있습니다.

Event Hubs 스케일 아웃

다음 예제에서는 파티션 수, 초당 이벤트 수, 기타 구성 값에 따라 동일한 지역에 있는 두 Event Hubs 네임스페이스 간의 복제 작업에서 사용할 수 있는 호스팅 계획 가격 책정 계층 및 구성 옵션을 설명합니다.

이 섹션의 예제에서는 이벤트 크기가 1KB라고 가정하여 프리페치 수 및 최대 이벤트 일괄 처리 크기의 기본값으로 800을 사용합니다. 이벤트 크기에 따라 프리페치 수와 최대 이벤트 일괄 처리 크기를 조정할 수 있습니다. 예를 들어 이벤트 크기가 1KB를 초과하는 경우 프리페치 수 및 최대 이벤트 일괄 처리 크기의 값을 800에서 줄일 수 있습니다.

가격 책정 계층 파티션 수 초당 이벤트 수 최대 버스트* 상시 준비 인스턴스* 프리페치 수* 최대 이벤트 일괄 처리 크기*
WS1 1 1000 1 1 800 800
WS1 2 2000 1 1 800 800
WS2 4 4000 2 1 800 800
WS2 8 8000 2 1 800 800
WS3 16 16000 2 1 800 800
WS3 32 32000 3 1 800 800

* 각 가격 책정 계층에서 변경할 수 있는 값에 대한 자세한 내용은 다음 표를 검토하세요.

설명
최대 버스트 로드에서 스케일 아웃할 탄력적 작업자의 최대 수입니다. 기본 앱에서 다음 테이블 행의 상시 준비 인스턴스를 초과하는 인스턴스가 필요한 경우, 인스턴스 수가 최대 버스트 제한에 도달할 때까지 앱을 계속 스케일 아웃할 수 있습니다. 이 값을 변경하려면 이 문서의 뒷부분에 나오는 호스팅 계획 스케일 아웃 설정 편집을 검토하세요.

참고: 계획 크기를 초과하는 모든 인스턴스는 초 단위로 사용자에게 할당되었고 실행 중인 경우에 한해 요금이 청구됩니다. 플랫폼을 사용하면 정의된 최대 한도까지 애플리케이션을 스케일 아웃하는 것이 가장 좋습니다.

: 권장 사항으로, 사용되지 않는 인스턴스는 청구되지 않으므로 필요한 경우 플랫폼을 스케일 아웃하여 더 많은 로드를 처리할 수 있도록 필요할 수 있는 것보다 더 큰, 최댓값을 선택합니다.

워크플로 표준 계획은 Azure Functions 프리미엄 계획과 몇 가지 측면을 공유하므로, 자세한 내용은 다음 설명서를 검토하세요.

- 계획 및 SKU 설정 - Azure Functions 프리미엄 계획
- 클라우드 버스팅이란?

상시 준비된 인스턴스 앱을 호스트하기 위해 항상 준비되어 있고 웜 상태인 최소 인스턴스 수입니다. 최소 수는 항상 1입니다. 이 값을 변경하려면 이 문서의 뒷부분에 나오는 호스팅 계획 스케일 아웃 설정 편집을 검토하세요.

참고: 계획 크기를 초과하는 인스턴스는 사용자에게 할당될 때 실행 중인지 여부에 상관없이 요금이 청구됩니다.

워크플로 표준 계획은 Azure Functions 프리미엄 계획과 몇 가지 측면을 공유하므로, 자세한 내용은 상시 준비 인스턴스 - Azure Functions 프리미엄 계획 설명서를 검토하세요.

프리페치 수 기본 EventProcessorHost 클래스에서 사용하는 프리페치 수를 결정하는 논리 앱 리소스의 AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__prefetchCount 앱 설정 기본값입니다. 이 앱 설정에 다른 값을 추가하거나 지정하려면 앱 설정 관리 - local.settings.json을 검토합니다. 예를 들면 다음과 같습니다.

- 이름: AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__prefetchCount
- : 800 (최대 제한 없음)

prefetchCount 속성에 대한 자세한 내용은 다음 설명서를 검토하세요.

- host.json 설정 - Azure Functions에 대한 Azure Event Hubs 트리거 및 바인딩
- EventProcessorOptions.PrefetchCount 속성
- 애플리케이션의 여러 인스턴스에 걸쳐 파티션 로드 분산
- 이벤트 프로세서 호스트
- EventProcessorHost 클래스

최대 이벤트 일괄 처리 크기 각 수신 루프에서 받은 최대 이벤트 수를 결정하는 논리 앱 리소스의 AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__maxBatchSize 앱 설정 기본값입니다. 이 앱 설정에 다른 값을 추가하거나 지정하려면 앱 설정 관리 - local.settings.json을 검토합니다. 예를 들면 다음과 같습니다.

- 이름: AzureFunctionsJobHost__extensions__eventHubs__eventProcessorOptions__maxBatchSize
- : 800 (최대 제한 없음)

maxBatchSize 속성에 대한 자세한 내용은 다음 설명서를 검토하세요.

- host.json 설정 - Azure Functions에 대한 Azure Event Hubs 트리거 및 바인딩
- EventProcessorOptions.MaxBatchSize 속성
- 이벤트 프로세서 호스트

Service Bus 스케일 아웃

다음 예제에서는 초당 메시지 수와 다른 구성 값에 따라 동일한 지역에 있는 두 Service Bus 네임스페이스 간의 복제 작업에서 사용할 수 있는 호스팅 계획 가격 책정 계층 및 구성 옵션을 설명합니다.

이 섹션의 예제에서는 메시지 크기가 1KB라고 가정하여 프리페치 수 및 최대 메시지 수의 기본값으로 800을 사용합니다. 메시지 크기에 따라 프리페치 수와 최대 메시지 수를 조정할 수 있습니다. 예를 들어 메시지 크기가 1KB를 초과하는 경우 프리페치 수 및 최대 메시지 수의 값을 800에서 줄일 수 있습니다.

가격 책정 계층 초당 메시지 최대 버스트* 상시 준비 인스턴스* 프리페치 수* 최대 메시지 수*
WS1 2000 1 1 800 800
WS2 2500 1 1 800 800
WS3 3500 1 1 800 800

* 각 가격 책정 계층에서 변경할 수 있는 값에 대한 자세한 내용은 다음 표를 검토하세요.

설명
최대 버스트 로드에서 스케일 아웃할 탄력적 작업자의 최대 수입니다. 기본 앱에서 다음 테이블 행의 상시 준비 인스턴스를 초과하는 인스턴스가 필요한 경우, 인스턴스 수가 최대 버스트 제한에 도달할 때까지 앱을 계속 스케일 아웃할 수 있습니다. 이 값을 변경하려면 이 문서의 뒷부분에 나오는 호스팅 계획 스케일 아웃 설정 편집을 검토하세요.

참고: 계획 크기를 초과하는 모든 인스턴스는 초 단위로 사용자에게 할당되었고 실행 중인 경우에 한해 요금이 청구됩니다. 플랫폼을 사용하면 정의된 최대 한도까지 애플리케이션을 스케일 아웃하는 것이 가장 좋습니다.

: 권장 사항으로, 사용되지 않는 인스턴스는 청구되지 않으므로 필요한 경우 플랫폼을 스케일 아웃하여 더 많은 로드를 처리할 수 있도록 필요할 수 있는 것보다 더 큰, 최댓값을 선택합니다.

워크플로 표준 계획은 Azure Functions 프리미엄 계획과 몇 가지 측면을 공유하므로, 자세한 내용은 다음 설명서를 검토하세요.

- 계획 및 SKU 설정 - Azure Functions 프리미엄 계획
- 클라우드 버스팅이란?

상시 준비된 인스턴스 앱을 호스트하기 위해 항상 준비되어 있고 웜 상태인 최소 인스턴스 수입니다. 최소 수는 항상 1입니다. 이 값을 변경하려면 이 문서의 뒷부분에 나오는 호스팅 계획 스케일 아웃 설정 편집을 검토하세요.

참고: 계획 크기를 초과하는 인스턴스는 사용자에게 할당될 때 실행 중인지 여부에 상관없이 요금이 청구됩니다.

워크플로 표준 계획은 Azure Functions 프리미엄 계획과 몇 가지 측면을 공유하므로, 자세한 내용은 상시 준비 인스턴스 - Azure Functions 프리미엄 계획 설명서를 검토하세요.

프리페치 수 기본 ServiceBusProcessor 클래스에서 사용하는 프리페치 수를 결정하는 논리 앱 리소스의 AzureFunctionsJobHost__extensions__serviceBus__prefetchCount 앱 설정 기본값입니다. 이 앱 설정에 다른 값을 추가하거나 지정하려면 앱 설정 관리 - local.settings.json을 검토합니다. 예를 들면 다음과 같습니다.

- 이름: AzureFunctionsJobHost__extensions__serviceBus__eventProcessorOptions__prefetchCount
- : 800 (최대 제한 없음)

prefetchCount 속성에 대한 자세한 내용은 다음 설명서를 검토하세요.

- host.json 설정 - Azure Functions에 대한 Azure Service Bus 바인딩
- ServiceBusProcessor.PrefetchCount 속성
- ServiceBusProcessor 클래스

최대 메시지 수 트리거된 경우 보낼 수 있는 메시지의 최대 수를 결정하는 논리 앱 리소스의 AzureFunctionsJobHost__extensions__serviceBus__batchOptions__maxMessageCount 앱 설정 기본값입니다. 이 앱 설정에 다른 값을 추가하거나 지정하려면 앱 설정 관리 - local.settings.json을 검토합니다. 예를 들면 다음과 같습니다.

- 이름: AzureFunctionsJobHost__extensions__serviceBus__batchOptions__maxMessageCount
- : 800 (최대 제한 없음)

속성에 대한 maxMessageCount 자세한 내용은 host.json 설정 - Azure Functions에 대한 Azure Service Bus 바인딩 설명서를 검토하세요.

필수 조건

  • Azure 계정 및 구독 구독이 없는 경우 Azure 체험 계정에 등록합니다.

  • 지리적 재해 복구 장애 조치(failover) 시나리오를 테스트할 수 있도록 다른 Azure 지역에 있어야 하는 원본/대상 리소스 또는 엔터티입니다. 이러한 엔터티는 사용하려는 작업 템플릿에 따라 달라질 수 있습니다. 이 문서의 예제에서는 서로 다른 네임스페이스와 Azure 지역에 있는 두 개의 Service Bus 큐를 사용합니다.

  • 복제 작업을 만들 때 다시 사용할 수 있는 논리 앱(표준) 리소스입니다. 이렇게 하면 복제 시나리오의 요구 사항(예: 용량, 처리량, 크기 조정)에 따라 호스팅 계획과 가격 책정 계층을 선택하는 등 복제 작업 전용으로 이 리소스를 사용자 지정할 수 있습니다. 복제 작업을 만들 때 이 리소스를 만들 수는 있지만 지역, 호스팅 계획, 가격 책정 계층을 변경할 수는 없습니다. 다음 목록에는 이전에 만든 논리 앱 리소스에 대한 모범 사례와 다른 이유가 나와 있습니다.

    • 복제 작업의 원본/대상 엔터티와 다른 지역에 이 논리 앱 리소스를 만들 수 있습니다.

      현재 이 참고 자료는 Azure 리소스 내에 복제 작업이 네이티브 통합되어 있기 때문에 제공됩니다. 엔터티 간에 복제 작업을 만들고 기존 논리 앱 리소스를 사용하는 대신 새 논리 앱 리소스를 만들도록 선택하면 새 논리 앱이 원본 엔터티와 동일한 지역에 만들어집니다. 원본 지역을 사용할 수 없게 되면 복제 작업도 작동할 수 없습니다. 장애 조치(failover) 시나리오에서 해당 작업으로는 능동-수동 복제 패턴이 달성하려고 하는 대상 엔터티인 새 원본(이전의 대상 엔터티)에서 데이터를 읽기 시작할 수도 없습니다.

    • 기본 특성을 사용하는 대신 호스팅 계획 및 가격 책정 계층을 선택하여 이 논리 앱 리소스를 미리 사용자 지정할 수 있습니다. 이렇게 하면 복제 작업에서 더 빠르게 복제하기 위해 1초에 더 많은 이벤트나 메시지를 처리할 수 있습니다. 복제 작업을 만들 때 이 리소스를 만들면 이러한 기본 특성이 수정됩니다.

    • 특히 능동-수동 복제 패턴을 따르려는 경우, 이 논리 앱 리소스에 복제 작업 워크플로만 포함되도록 할 수 있습니다. 기존 논리 앱을 사용하여 복제 작업을 만드는 경우, 이 옵션은 해당 논리 앱 리소스에 작업(상태 비지정 워크플로)을 추가합니다.

    자세한 내용은 Azure Portal에서 단일 테넌트 Azure Logic Apps(표준)로 통합 워크플로 만들기를 검토하세요.

  • 선택 사항: 대상 네임스페이스에 대한 연결 문자열. 이 옵션을 사용하면 대상을 다른 구독에 존재하게 하여 구독 간 복제를 설정할 수 있습니다.

    대상 엔터티에 대한 연결 문자열을 찾으려면 다음 단계를 따릅니다.

    1. Azure portal에서 대상 네임스페이스로 이동합니다.

    2. 네임스페이스 탐색 메뉴의 설정에서 공유 액세스 정책을 선택합니다.

    3. 열린 공유 액세스 정책 창의 정책에서 RootManageSharedAccessKey를 선택합니다.

    4. 열린 SAS 정책: RootManageSharedAccessKey 창에서 기본 연결 문자열 값을 복사합니다.

    5. 나중에 문자열을 사용하여 대상 네임스페이스에 연결할 수 있도록 연결 문자열을 저장해 둡니다.

명명 규칙

아직 만들지 않은 경우, 복제 작업 또는 엔터티에서 사용하는 명명 전략을 신중하게 고려합니다. 이름을 쉽게 식별하고 구분할 수 있는지 확인합니다. 예를 들어 Event Hubs 네임스페이스를 사용하는 경우 원본 네임스페이스의 모든 Event Hubs 인스턴스에서 복제 작업이 복제됩니다. Service Bus 큐를 사용하는 경우 다음 표에 엔터티/복제 작업의 이름을 지정하는 예제를 나와 있습니다.

원본 이름 예시 복제 앱 예시 대상 이름 예시
네임스페이스: <name>-sb-<region> fabrikam-sb-weu 논리 앱: <name-source-region-target-region> fabrikam-rep-weu-wus 네임스페이스: <name>-sb-<region> fabrikam-sb-wus
큐: <name> jobs-transfer 워크플로: <name> jobs-transfer-workflow 큐: <name> jobs

복제 작업 만들기

이 예제에서는 Service Bus 큐에 대한 복제 작업을 만드는 방법을 보여 줍니다.

  1. Azure Portal에서 원본으로 사용할 Service Bus 네임스페이스를 찾습니다.

  2. 네임스페이스 탐색 메뉴의 Automation 섹션에서 작업(미리 보기)을 선택합니다.

    “작업(미리 보기)”이 선택된 Azure Portal 및 Azure Service Bus 네임스페이스 메뉴를 보여 주는 스크린샷

  3. 작업 템플릿을 선택할 수 있도록 작업 창에서 작업 추가를 선택합니다.

    “작업 추가”가 선택된 “작업(미리 보기)” 창을 보여 주는 스크린샷

  4. 작업 추가 창의 템플릿 선택에서 만들려는 복제 작업의 템플릿에 있는 선택을 선택합니다. 다음 페이지가 표시되지 않으면 다음: 인증을 선택합니다.

    이 예제에서는 Service Bus 큐에서 큐로 복제 작업 템플릿을 선택하여 Service Bus 큐 간에 콘텐츠를 복제합니다.

    “Service Bus 큐에서 큐로 복제” 템플릿이 선택된 “작업 추가” 창을 보여 주는 스크린샷

  5. 인증 탭의 연결 섹션에서 모든 연결에 대한 인증 자격 증명을 제공할 수 있도록 작업에 표시되는 모든 연결에 대해 만들기를 선택합니다. 각 작업의 연결 유형은 작업에 따라 다릅니다.

    이 예제에서는 대상 큐가 있는 대상 Service Bus 네임스페이스에 대한 연결을 만드는 프롬프트를 보여 줍니다. 원본 Service Bus 네임스페이스에 대한 연결이 있습니다.

    대상 Service Bus 네임스페이스에 대한 연결에 대해 선택된 “만들기” 옵션을 보여 주는 스크린샷

  6. 대상에 관해 필요한 정보를 입력한 후 만들기를 선택합니다.

    이 예제에서는 연결의 표시 이름을 입력한 후 대상 큐가 있는 Service Bus 네임스페이스를 선택합니다.

    지정된 연결 표시 이름과 Service Bus 네임스페이스가 선택된 “연결” 창을 보여 주는 스크린샷

    대신 연결 문자열을 사용하여 연결을 만들 수도 있습니다. 이 옵션을 사용하면 다른 구독에서 대상을 사용할 수 있어 구독 간 복제를 설정할 수 있습니다. 대상 또는 복제 작업을 만들기 시작한 위치를 기준으로 하는 원본은 대상을 연결하기만 하면 되도록 동적으로 구성됩니다. 연결 문자열을 사용하려면 다음 단계를 사용합니다.

    1. 연결 창에서 연결 문자열을 통해 연결을 선택합니다.

    2. 연결 문자열 상자에 대상 네임스페이스의 연결 문자열을 입력합니다.

    다음 예제에서는 성공적으로 만들어진 연결을 보여 줍니다.

    Service Bus 네임스페이스에 대한 연결이 완료된 “작업 추가” 창을 보여 주는 스크린샷

  7. 모든 연결을 완료한 후 다음: 구성을 선택합니다.

  8. 구성 탭에 작업 이름과 작업에 필요한 기타 정보를 입력합니다.

    참고 항목

    작업 이름은 만든 후에 변경할 수 없으므로 기본 워크플로를 편집하는 경우에도 계속 적용되는 이름을 고려해야 합니다. 기본 워크플로에 대한 변경 내용은 작업 템플릿이 아니라 사용자가 만든 작업에만 적용됩니다.

    예를 들어 fabrikam-rep-weu-wus 작업의 이름을 지정했지만 나중에 다른 목적을 위해 기본 워크플로를 편집하는 경우 일치시키기 위해 작업 이름을 변경할 수 없습니다.

    1. 기존 논리 앱(표준) 리소스에 작업 워크플로를 추가하려면 논리 앱 목록에서 기존 논리 앱을 선택합니다. 대신 새로운 논리 앱(표준) 리소스를 만들려면 논리 앱 목록에서 새로 만들기를 선택하고 새 논리 앱에서 사용할 이름을 입력합니다.

      참고 항목

      복제 작업을 만드는 동안 새 논리 앱 리소스를 만드는 경우 논리 앱은 원본 엔터티와 동일한 지역에 만들어지며, 원본 지역을 사용할 수 없게 되고 장애 조치(failover) 시나리오에서 작동하지 않으면 문제가 됩니다. 모범 사례는 원본과 다른 지역에 논리 앱(표준) 리소스를 만드는 것입니다. 복제 작업을 만들 때 기존 논리 앱을 대신 선택하고 기본 상태 비저장 워크플로를 기존 논리 앱에 추가합니다. 자세한 내용은 필수 구성 요소를 검토하세요.

    2. 완료되면 검토 + 만들기를 선택합니다.

    작업 이름, 원본 및 대상 큐 이름, 논리 앱 리소스에 사용할 이름과 같은 복제 작업 정보가 있는 “작업 추가” 창을 보여 주는 스크린샷

  9. 검토 + 만들기 탭에서 복제 작업 시 작업에 필요한 Azure 리소스를 확인합니다.

    • 복제 작업에 새 논리 앱 리소스를 만들기로 선택한 경우 복제 작업이 작동하도록 만드는 데 필요한 Azure 리소스가 창에 표시됩니다. 예를 들어 이러한 리소스에는 논리 앱 리소스, 워크플로 및 기타 런타임 작업에 대한 구성 정보를 포함하는 Azure Storage 계정이 포함됩니다. 예를 들어 Event Hubs를 사용하는 이 스토리지 계정에는 원본 지역이 중단되거나 사용할 수 없게 되면 원본 엔터티가 중지되는 스트림의 위치 또는 오프셋과 검사점 정보가 포함됩니다.

      다음 예제에서는 새 논리 앱을 만들기로 선택한 경우의 검토 + 만들기 탭을 보여 줍니다.

      새 논리 앱을 만들 때 리소스 정보가 포함된 “검토 + 만들기” 창을 보여 주는 스크린샷

    • 복제 작업에 기존 논리 앱 리소스를 다시 사용하도록 선택한 경우 복제가 작동하는 데 다시 사용할 Azure 리소스가 창에 표시됩니다.

      다음 예제에서는 기존 논리 앱을 다시 사용하도록 선택한 경우의 검토 + 만들기 탭을 보여 줍니다.

      기존 논리 앱을 다시 사용할 때 리소스 정보가 포함된 “검토 + 만들기” 창을 보여 주는 스크린샷

    참고 항목

    원본, 대상 또는 둘 다 가상 네트워크 뒤에 있는 경우 작업을 만든 후에 권한과 액세스 권한을 설정해야 합니다. 이 시나리오에서는 논리 앱 워크플로가 복제 작업을 수행할 수 있도록 권한과 액세스 권한이 필요합니다.

  10. 준비가 되면 만들기를 선택합니다.

    자동으로 실시간 실행 중인 사용자가 만든 작업이 이제 작업 목록에 표시됩니다.

    작업이 즉시 표시되지 않으면 작업 목록을 새로 고치거나 잠시 기다렸다가 새로 고칩니다. 도구 모음에서 새로 고침을 선택합니다.

    생성된 복제 작업이 있는 “작업” 창을 보여 주는 스크린샷

  11. 리소스가 가상 네트워크 뒤에 있는 경우 논리 앱 리소스 및 워크플로에 대한 권한을 설정하여 해당 리소스에 액세스해야 합니다.

재시도 정책 설정

복제 관계 어느 쪽에서든 가용성 이벤트 중 데이터가 손실되지 않도록 하려면 재시도 정책을 강력하게 구성해야 합니다. 복제 작업에 대한 재시도 정책을 구성하려면 Azure Logic Apps 재시도 정책에 대한 설명서기본 워크플로의 편집 단계를 검토합니다.

작업 기록 검토

이 예제에서는 작업 워크플로 실행 기록을 각각의 상태, 입/출력, 기타 정보와 함께 보고 Service Bus 큐 복제 작업의 예제를 계속 사용하는 방법을 보여 줍니다.

  1. Azure Portal에서 검토하려는 작업 기록이 있는 Azure 리소스 또는 엔터티를 찾습니다.

    이 예제에서 이 리소스는 Service Bus 네임스페이스입니다.

  2. 리소스 탐색 메뉴의 설정 아래 Automation 섹션에서 작업(미리 보기)을 선택합니다.

  3. 작업 목록에서 검토하려는 작업을 찾습니다. 해당 작업의 실행 열에서 보기를 선택합니다.

    “작업” 창, 복제 작업 및 선택한 “보기” 옵션을 보여 주는 스크린샷

    이 단계에서는 표준 논리 앱 리소스에 포함된 기본 상태 비저장 워크플로의 개요 창을 엽니다.

  4. 상태 비저장 워크플로의 실행 기록을 보려면 개요 창 도구 모음에서 디버그 모드 사용을 선택합니다.

    실행 기록 탭에는 각각의 식별자, 상태, 시작 시간, 실행 기간과 함께 작업의 이전 실행 및 진행 중, 대기 중인 실행이 표시됩니다.

    작업의 실행, 상태 및 기타 정보를 보여 주는 스크린샷

    다음 표에는 가능한 실행 상태가 설명되어 있습니다.

    상태 레이블 설명
    취소됨 실행하는 동안 작업이 취소되었습니다.
    실패함 작업에 실패한 하나 이상의 동작이 있지만 실패를 처리하기 위한 후속 동작이 없었습니다.
    실행 중 작업이 현재 실행되고 있습니다.
    성공함 모든 작업에 성공했습니다. 동작이 실패한 경우에도 작업이 성공적으로 완료될 수 있지만 실패를 처리하기 위한 후속 동작이 있었습니다.
    대기 중 작업의 이전 인스턴스가 아직 실행 중이므로 실행이 아직 시작되지 않았으며 일시 중지되었습니다.
  5. 실행의 각 단계에 대한 상태 및 기타 정보를 보려면 해당 실행을 선택합니다.

    실행 세부 정보 창이 열리고, 실행된 기본 워크플로가 표시됩니다.

    • 워크플로는 항상 트리거로 시작합니다. 이 작업의 경우 워크플로는 메시지가 원본 Service Bus 큐에 도착하기를 기다리는 Service Bus 트리거로 시작합니다.

    • 각 단계에는 상태 및 실행 기간이 표시됩니다. 기간이 0초인 단계를 실행하는 데 1초 미만이 걸렸습니다.

    워크플로에서 실행, 상태 및 실행 기간의 각 단계를 보여 주는 스크린샷

  6. 각 단계의 입/출력을 검토하려면 단계를 선택합니다. 그러면 해당 단계의 입/출력, 속성 세부 정보를 보여 주는 창이 열립니다.

    이 예제에서는 Service Bus 트리거 입력을 보여 줍니다.

    트리거 입력, 출력 및 속성을 보여 주는 스크린샷

Azure 리소스에 대한 복제 작업 컨텍스트와는 별도로 앱, 데이터, 서비스, 시스템을 통합할 수 있도록 사용자 고유의 자동화된 워크플로를 빌드하는 방법을 알아보려면 단일 테넌트의 Azure Logic Apps(표준)를 사용하여 통합 워크플로 만들기 - Azure Portal을 검토하세요.

복제 작업 모니터링

복제 작업 또는 기본 논리 앱 워크플로의 성능과 상태를 확인하려면 Azure Monitor의 기능인 Application Insights를 사용하면 됩니다. Application Insights 애플리케이션 맵은 복제 작업을 모니터링하는 데 사용할 수 있는 유용한 시각적 도구입니다. 이 맵은 복제 작업 원본/대상 전송의 성능과 안정성을 탐색할 수 있도록 캡처된 모니터링 정보에서 자동으로 생성됩니다. 즉각적인 진단 인사이트를 얻고 짧은 대기 시간으로 로그 세부 정보를 시각화하기 위해서는 Azure Monitor의 기능인 라이브 메트릭 포털 도구를 사용할 수 있습니다.

작업 편집

작업을 변경하려면 다음 옵션을 사용할 수 있습니다.

"인라인"으로 작업 편집

  1. Azure Portal에서 업데이트하려는 작업이 있는 리소스를 찾습니다.

  2. 리소스 탐색 메뉴의 Automation 섹션에서 작업(미리 보기)을 선택합니다.

  3. 작업 목록에서 업데이트하려는 작업을 찾습니다. 작업의 줄임표(...) 메뉴를 열고, 인라인 편집을 선택합니다.

    열린 줄임표 메뉴 및 선택한 “인라인 편집” 옵션을 보여 주는 스크린샷

    기본적으로 인증 탭이 표시되고 기존 연결을 보여 줍니다.

  4. 새 인증 자격 증명을 추가하거나 연결에 대해 다른 기존 인증 자격 증명을 선택하려면 연결의 줄임표(...) 메뉴를 열고, 새 연결 추가를 선택하거나 사용 가능한 경우 다른 인증 자격 증명을 선택합니다.

    참고 항목

    원본 연결이 아닌 대상 연결만 편집할 수 있습니다.

    “인증” 탭, 기존 연결 및 선택한 줄임표 메뉴를 보여 주는 스크린샷

  5. 다른 작업 속성을 업데이트하려면 다음: 구성을 선택합니다.

    이 예제의 작업에서는 다른 원본과 대상 큐를 지정할 수 있습니다. 그러나 작업 이름과 기본 논리 앱 및 워크플로는 동일하게 유지됩니다.

    “구성” 탭과 편집할 수 있는 속성을 보여 주는 스크린샷

  6. 완료되면 저장을 선택합니다.

작업의 기본 워크플로 편집

복제 작업 뒤에 있는 기본 워크플로를 편집할 수 있습니다. 이 워크플로는 사용자가 만든 작업의 원래 구성을 변경하지만 작업 템플릿 자체를 변경할 수는 없습니다. 내용을 변경한 후 저장하면 편집한 작업이 더 이상 원래 작업과 동일한 기능을 수행하지 않습니다. 원래 기능을 수행하는 작업을 원하는 경우 동일한 템플릿으로 새 작업을 만들어야 할 수도 있습니다. 원래 작업을 다시 만들지 않으려면 디자이너를 사용해 작업 뒤에 있는 워크플로를 변경하지 마세요. 대신 통합 요구 사항에 맞게 논리 앱(표준) 상태 비지정 워크플로를 만듭니다. 자세한 내용은 Azure Portal에서 단일 테넌트 Azure Logic Apps(표준)로 통합 워크플로 만들기를 검토하세요.

  1. Azure Portal에서 업데이트하려는 작업이 있는 리소스를 찾습니다.

  2. 리소스 탐색 메뉴의 Automation 섹션에서 작업을 선택합니다.

  3. 작업 목록에서 업데이트하려는 작업을 찾습니다. 작업의 줄임표(...) 메뉴를 열고, Logic Apps에서 열기를 선택합니다.

    열린 줄임표 메뉴 및 선택한 “Logic Apps에서 열기” 옵션을 보여 주는 스크린샷

    Azure Portal은 이제 워크플로를 편집할 수 있는 디자이너로 컨텍스트를 변경합니다.

    디자이너 및 기본 워크플로를 보여 주는 스크린샷

    이제 워크플로의 트리거와 동작뿐만 아니라 트리거와 동작의 속성을 편집할 수 있습니다.

  4. 트리거 또는 동작의 속성을 보려면 해당 트리거나 동작을 선택합니다.

    Service Bus 트리거 속성 창을 보여 주는 스크린샷

    이 예제에서는 트리거의 IsSessionsEnabled 속성이 로 변경됩니다.

  5. 변경 내용을 저장하려면 디자이너 도구 모음에서 저장을 선택합니다.

    디자이너 도구 모음 및 선택한 “저장” 명령을 보여 주는 스크린샷

  6. 업데이트된 워크플로를 테스트하고 실행하려면, 업데이트된 워크플로를 포함하는 논리 앱 리소스를 엽니다. 워크플로 탐색 메뉴에서 개요>트리거 실행>실행을 선택합니다.

    실행이 완료되면 디자이너에서 워크플로의 실행 세부 정보를 표시합니다. 각 단계의 입/출력을 검토하려면 단계를 선택합니다. 그러면 해당 단계의 입/출력, 속성 세부 정보를 보여 주는 창이 열립니다.

    이 예제에서는 업데이트된 트리거 속성 값과 함께 선택한 Service Bus 트리거의 입/출력과 속성을 보여 줍니다.

    트리거의 입력, 출력 및 속성이 있는 워크플로의 실행 세부 정보를 보여 주는 스크린샷

  7. 작업이 계속 실행되지 않도록 워크플로를 사용하지 않으려면 개요 도구 모음에서 사용 안 함을 선택합니다. 자세한 내용은 단일 테넌트 워크플로 사용 안 함 또는 사용을 검토하세요.

Azure Event Hubs에 대한 장애 조치(failover) 설정

동일한 엔터티 형식 간에 Azure Event Hubs를 복제하는 경우 지리적 재해 복구를 사용하려면 원본 엔터티에서 대상 엔터티로 장애 조치(failover)를 수행한 후 관련 이벤트 소비자/프로듀서에게 새 원본이 되는 대상 엔터티의 엔드포인트를 사용하라고 알려 주어야 합니다. 따라서 재해가 발생하고 원본 엔터티가 장애 조치(failover)되면 복제 작업을 포함한 소비자와 프로듀서가 새 원본으로 리디렉션됩니다. 복제 작업에서 만든 스토리지 계정에는 원본 지역이 중단되거나 사용할 수 없게 되면 원본 엔터티가 중지되는 스트림의 위치 또는 오프셋과 검사점 정보가 포함됩니다.

스토리지 계정에 원래 원본의 레거시 정보가 포함되지 않고 복제 작업이 새 원본 스트림의 처음부터 이벤트를 읽고 복제하기 시작하도록 하려면, 원래 원본에서 레거시 정보를 수동으로 정리하고 복제 작업을 다시 구성해야 합니다.

  1. Azure Portal에서 복제 작업 뒤에 있는 논리 앱 리소스 또는 기본 워크플로를 엽니다.

    참고 항목

    논리 앱 리소스는 복제 작업 워크플로만 포함해야 합니다.

  2. 리소스 또는 워크플로의 탐색 메뉴에서 개요를 선택합니다. 개요 도구 모음에서 워크플로에 대해 사용 안 함을 선택하거나, 논리 앱 리소스에 대해 중지를 선택합니다.

  3. 복제 작업의 기본 논리 앱 리소스에서 검사점을 저장하고 원본 엔터티를 통해 오프셋 정보를 스트림하는 데 사용되는 스토리지 계정을 찾으려면 다음 단계를 따릅니다.

    1. 논리 앱 리소스 메뉴의 설정에서 구성을 선택합니다.

    2. 구성 창의 애플리케이션 설정 탭에서 AzureWebJobsStorage 앱 설정을 선택합니다.

      이 설정은 논리 앱 리소스에서 사용하는 연결 문자열과 스토리지 계정을 지정합니다.

      참고 항목

      앱 설정이 목록에 표시되지 않으면 값 표시를 선택합니다.

    3. 스토리지 계정 이름을 볼 수 있도록 AzureWebJobsStorage 앱 설정을 선택합니다.

    이 예제에서는 이 스토리지 계정(여기에서는 storagefabrikamreplb0c)의 이름을 찾는 방법을 보여 줍니다.

    “AzureWebJobsStorage” 앱 설정이 있는 기본 논리 앱 리소스의 “Configuration” 창 및 스토리지 계정 이름이 있는 연결 문자열을 보여 주는 스크린샷

    1. 스토리지 계정 리소스가 있는지 확인하려면 Azure Portal 검색 상자에 이름을 입력한 후 스토리지 계정을 선택합니다. 예를 들면 다음과 같습니다.

    스토리지 계정 이름이 입력된 Azure Portal 검색 상자를 보여 주는 스크린샷

  4. 이제 다음 단계를 사용하여 원본 엔터티의 검사점과 오프셋 정보가 포함된 폴더를 삭제합니다.

    1. 최신 버전이 없는 경우 최신 Azure Storage Explorer 데스크톱 클라이언트를 다운로드하여 설치하고 엽니다.

      참고 항목

      삭제 정리 작업의 경우 현재 Azure Portal의 스토리지 탐색기, 브라우저, 편집기 또는 관리 환경이 아닌 Azure Storage Explorer 클라이언트를 사용해야 합니다.

      PowerShell Remove-AzStorageDirectory 명령을 사용하여 컨테이너 폴더를 삭제할 수는 있지만, 이 명령은 폴더에서만 작동합니다.

    2. 아직 로그인하지 않은 경우 Azure 계정으로 로그인하고, 스토리지 계정 리소스에 대한 Azure 구독이 선택되어 있는지 확인합니다. 자세한 내용은 Storage Explorer 시작을 검토하세요.

    3. 탐색기 창의 Azure 구독 이름에서 스토리지 계정>{your-storage-account-name}>Blob 컨테이너>azure-webjobs-eventhub로 이동합니다.

      참고 항목

      azure-webjobs-eventhub 폴더가 없다면 복제 작업이 아직 실행되지 않았습니다. 폴더는 복제 작업이 한 번 이상 실행된 후에만 표시됩니다.

      선택한 “azure-webjobs-eventhub” 폴더를 표시하기 위해 열려 있는 스토리지 계정 및 Blob 컨테이너가 있는 Azure Storage Explorer를 보여 주는 스크린샷

    4. 열린 azure-webjobs-eventhub 창에서 <source-Event-Hubs-namespace-name>.servicebus.windows.net 형식을 사용하는 이름이 있는 Event Hubs 네임스페이스 폴더를 선택합니다.

    5. 네임스페이스 폴더가 열리면 azure-webjobs-eventhub 창에서 <former-source-entity-name> 폴더를 선택합니다. 도구 모음 또는 폴더의 바로 가기 메뉴에서 삭제를 선택합니다. 예를 들면 다음과 같습니다.

      “삭제” 단추도 선택된 상태에서 선택한 이전 원본 Event Hubs 엔터티 폴더를 보여 주는 스크린샷

    6. 폴더를 삭제할지 확인합니다.

  5. 복제 작업 뒤에 있는 논리 앱 리소스 또는 워크플로로 돌아갑니다. 논리 앱을 다시 시작하거나 워크플로를 다시 사용합니다.

프로듀서와 소비자가 새 원본 엔드포인트를 사용하도록 하려면, 새 원본 엔터티에 대한 정보를 사용할 수 있게 하며 쉽게 연결하고 업데이트할 수 있는 위치에서 찾을 수 있도록 해야 합니다. 프로듀서나 소비자에게 자주 또는 지속적으로 오류가 발생하면 해당 위치를 확인하고 각각의 구성을 조정해야 합니다. 해당 구성을 공유하는 방법은 여러 가지가 있지만, 예로 DNS 및 파일 공유를 들 수 있습니다.

지리적 재해 복구에 대한 자세한 내용은 다음 설명서를 검토하세요.

호스팅 계획 스케일 아웃 설정 편집

  1. Azure Portal에서 복제 작업에 대한 기본 논리 앱 리소스를 엽니다.

  2. 논리 앱 리소스 메뉴의 설정에서 스케일 아웃(App Service 요금제)을 선택합니다.

    최대 버스트, 최소 인스턴스, 항상 준비된 인스턴스 및 확장 제한 적용에 대한 호스팅 플랜 설정을 보여 주는 스크린샷

  3. 시나리오의 요구 사항에 따라 계획 스케일 아웃앱 스케일 아웃에서 최대 버스트와 상시 준비 인스턴스의 값을 각각 변경합니다.

  4. 완료되면 스케일 아웃(App Service 요금제) 창 도구 모음에서 저장을 선택합니다.

워크플로 표준 계획은 Azure Functions 프리미엄 계획과 몇 가지 측면을 공유하므로, 자세한 내용은 다음 설명서를 검토하세요.

복제 문제 및 실패

이 섹션에서는 복제가 실패하거나 작동을 중지할 수 있는 가능한 방법에 대해 설명합니다.

  • 메시지 크기 제한

    복제 작업은 복제 속성을 추가하므로, 1MB보다 작은 메시지를 보내야 합니다. 그렇지 않은 경우 메시지 크기가 작업에서 복제 속성을 추가한 후 Event Hubs 엔터티로 보낼 수 있는 이벤트 크기보다 크면 복제 프로세스가 실패합니다.

    예를 들어 메시지 크기가 1MB라고 가정해 보겠습니다. 작업에서 복제 속성을 추가하면 메시지 크기가 1MB보다 큽니다. 메시지를 보내려고 시도하는 아웃바운드 호출이 실패합니다.

  • 파티션 키

    이벤트에 파티션 키가 있는 경우, 해당 인스턴스의 파티션 수가 같으면 Event Hubs 인스턴스 간의 복제가 실패합니다.

다음 단계