Microsoft Dynamics 365(온라인)에서 재해 복구

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

재해 복구는 계획되거나 계획되지 않은 서비스 중단을 복구하는 Microsoft Dynamics 365(온라인)의 기능입니다. 계획된 서비스 중단 예로는 정기적이고 주기적인 데이터 센터 시스템 유지 보수가 있습니다. 계획되지 않은 서비스 중단 예로 데이터 센터의 주요 컴퓨터 시스템 또는 네트워크 구성 요소 오류가 있습니다. 어느 경우든 일시적으로 조직의 데이터와 Microsoft Dynamics 365(온라인) 서비스에 대해 액세스할 수 없습니다.

계획된 서비스 중단은 웹 응용 프로그램 또는 Outlook용 Dynamics 365에서 서비스 유지 관리 날짜와 시간을 사전에 공개적으로 알려 비즈니스 조직의 데이터 액세스 중단에 대비하여 계획을 세울 수 있습니다. 계획되지 않은 서비스 중단은 조직이 현재 계획되지 않은 유지 관리를 수행하고 있음을 알게 됩니다.

오류 또는 재해가 발생하면 잘 정의된 프로세스가 Microsoft Dynamics 365(온라인) 데이터 센터의 관리자에 의해 적용되어 서비스 중단에서 복구됩니다. 이러한 서비스 중단으로부터 복구하는 프로세스 및 소프트웨어를 재해 복구 장애 조치라고 합니다.Microsoft Dynamics 365(온라인) 데이터 센터는 조직의 데이터 복제 및 동기화(대체) 사본을 다른 서버에서 유지 관리합니다. 개발자의 데이터에 대한 액세스 권한이 없는 데이터 센터에서 재해가 발생하면 데이터 센터를 모니터링하는 관리자가 기본 조직의 액세스 권한을 이 대체 조직으로 전환하여 서비스 중단을 최소화합니다. 오류가 수정되면 기본 조직에 대한 서비스 액세스를 복원할 수 있습니다.

이러한 복구는 데이터 센터에서 수행되고 사용자 및 .NET 관리 응용 프로그램에서 투명하게 처리됩니다. 하지만 응용 프로그램 개발자가 처리해야 하는 데이터 손실 문제가 있습니다.Microsoft Dynamics 365(온라인) 서비스에 오류가 발생하면 웹 서비스 호출을 사용하여 응용 프로그램에서 수행하는 데이터 변경 작업이 성공적으로 완료되지 않을 수도 있습니다. 이 경우 데이터가 손실될 수 있습니다. 이 항목의 다음 섹션에서는 데이터 손실 문제를 처리하기 위해 응용 프로그램을 작성하는 방법에 대해 설명합니다.

이 항목의 내용

장애 조치 복구를 위한 .NET 관리 코드 응용 프로그램 개발

장애 조치 복구를 위한 .NET 이외 응용 프로그램 개발

유용한 정보

장애 조치 복구를 위한 .NET 관리 코드 응용 프로그램 개발

개발자는 정상적으로 장애 조치 이벤트를 확인하고 처리하는 코드를 구현하여 데이터 센터 오류 및 복구를 설명하는 응용 프로그램을 작성할 수 있습니다. 응용 프로그램은 EndpointSwitchedEndpointSwitchRequired 알림 이벤트를 구독할 수 있습니다. 이러한 이벤트는 OrganizationServiceProxy와 같은 파생된 클래스에서도 사용할 수 있습니다. 이러한 이벤트에 대한 자세한 내용은 ServiceProxy<TService> 클래스 설명서를 참조하십시오.

응용 프로그램에서는 EndpointAutoSwitchEnabled 속성을 확인하여 조직에서 자동 장애 조치 동작을 사용할지 여부를 결정할 수 있습니다. 장애 조치 대체 끝점을 사용할 수 있는 조직의 경우 이 속성은 true로 설정됩니다.EndpointAutoSwitchEnabledtrue이면 필요에 따라 알림 이벤트를 구독하는 것을 제외하면 응용 프로그램에 필요한 특별한 다른 코드가 필요하지 않습니다.

재해 이벤트 및 장애 조치에 대한 일반적인 응용 프로그램 논리 흐름

  1. 재해 이벤트가 Microsoft Dynamics 365(온라인) 데이터 센터에서 발생합니다.

  2. 응용 프로그램에서 OrganizationServiceProxy, DiscoveryServiceProxy 서비스 프록시 클래스 개체를 통해 서비스 호출을 합니다.

  3. 서비스 호출을 시도한 후 서비스 프록시 클래스 개체에 예외가 발생 합니다.

  4. 호출의 대상 조직에서 장애 조치를 사용하지 않을 경우 9단계로 이동합니다.

  5. EndpointSwitchRequired 이벤트가 발생합니다.

  6. EndpointSwitched 이벤트가 발생합니다.

  7. 서비스 프록시 클래스 개체가 자동으로 호출을 다시 시도합니다.

  8. 두 번째 호출에 성공하면 응용 프로그램이 정상적으로 계속됩니다.

  9. 호출에 성공하지 못하면 예외가 응용 프로그램에 반환됩니다. EndpointNotFoundException, TimeoutException, FaultException<OrganizationServiceFault>, fault.Detail.ErrorCode == -2147176347.

끝점 전환 이벤트를 받고 적절하게 처리한 후 잠재적인 데이터 손실을 확인하는 코드를 구현할 수도 있습니다.

데이터 센터에서 기본 조직 끝점에 영향을 주는 재해를 수정한 후 조직의 기본 끝점 URL에 대한 대체 끝점 URL에서 장애 복구가 계획된 조직 유지 관리의 일환으로 수행됩니다.

장애 조치 복구를 위한 .NET 이외 응용 프로그램 개발

SOAP 또는 ODATA를 사용하여 웹 서비스에 액세스하는 Java 응용 프로그램과 같은 Microsoft Dynamics 365 SDK 어셈블리에 연결되지 않은 응용 프로그램은 대상 조직의 장애 조치 URL에 액세스하려고 시도할 수 있습니다. 장애 조치 대체 조직의 URL은 조직 이름에 “--s”가 추가된 기본 조직의 URL과 동일합니다. 예를 들어 Contoso 라는 조직의 기본 및 대체 URL은 다음 표에 표시됩니다.

기본 조직 URL

대체 조직 URL

https://contoso.api.crm.dynamics.com

https://contoso--s.api.crm.dynamics.com

.NET에 연결되지 않은 응용 프로그램의 경우 응용 프로그램에서 구독하여 서비스 중단 및 장애 조치를 받을 수 있는 알림 이벤트가 없습니다. 서비스 중단 중에는 앞에서 나열한 다양한 오류 예외를 받기 시작할 것입니다. 해당 시점에서 응용 프로그램은 대상 조직의 장애 조치 URL에 연결을 시도할 수 있습니다. 재해가 수정된 후 조직의 기본 URL에 대한 장애 복구가 계획된 조직 유지 관리의 일환으로 수행됩니다.

유용한 정보

다음 목록은 서비스 중단 및 장애 복구 처리 시 더욱 강력하게 응용 프로그램에 구현할 수 있는 효율적인 방법에 대해 설명합니다.

  • true로 설정되어 있는지 여부를 확인하기 위해 EndpointAutoSwitchEnabled 속성 값을 확인하는 응용 프로그램 코드를 작성합니다.true이면 EndpointSwitchedEndpointSwitchRequired 알림 이벤트를 구독하는 것이 좋습니다.

  • 응용 프로그램에서 데이터 손실을 돌이킬 수 없는 중요 데이터를 사용하는 경우 이벤트 처리기 코드를 작성하거나 표시된 예외를 찾아 비즈니스 요구에 따라 재해 이벤트 및 장애 조치를 처리합니다.

참고 항목

배포 웹 서비스를 사용하여 배포 관리

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보