다음을 통해 공유


Azure Logic Apps의 안정성

Azure Logic Apps 를 사용하면 작성해야 하는 코드의 양을 줄여 앱, 클라우드 서비스 및 온-프레미스 시스템 간에 데이터를 보다 쉽게 통합하고 오케스트레이션할 수 있습니다.

Azure를 사용하는 경우 안정성은 공유 책임입니다. Microsoft는 복원력 및 복구를 지원하는 다양한 기능을 제공합니다. 이러한 기능이 사용하는 모든 서비스 내에서 작동하는 방식을 이해하고 비즈니스 목표 및 가동 시간 목표를 충족하는 데 필요한 기능을 선택할 책임이 있습니다.

이 문서에서는 일시적인 오류, 가용성 영역 중단 및 지역 중단을 비롯한 다양한 잠재적 중단 및 문제에 대해 논리 앱 워크플로를 복원할 수 있도록 하는 방법을 설명합니다. 또한 Azure Logic Apps SLA(서비스 수준 계약)에 대한 몇 가지 주요 정보도 강조 표시합니다.

안정성을 위한 프로덕션 배포 권장 사항

프로덕션 워크로드의 경우 다음을 수행하는 것이 좋습니다.

  • 격리 또는 네트워크 보안 요구 사항이 있는 엔터프라이즈 및 보안 워크플로의 경우 다중 테넌트 Azure Logic Apps의 소비 워크플로가 아닌 단일 테넌트 Azure Logic Apps에서 표준 워크플로를 만들고 실행합니다. 자세한 내용은 만들기 및 다른 환경에 배포를 참조 하세요.
  • 단일 테넌트 Azure Logic Apps를 사용하는 프로덕션 배포의 경우 영역 중복을 사용하여 여러 가용성 영역에 논리 앱 리소스를 분산할 수 있습니다.

안정성 아키텍처 개요

이 섹션에서는 안정성 관점에서 가장 관련성이 높은 서비스가 작동하는 방식의 몇 가지 중요한 측면을 설명합니다. 이 섹션에서는 배포하고 사용하는 일부 리소스 및 기능을 포함하는 논리 아키텍처를 소개합니다. 또한 서비스의 작동 방식에 대한 세부 정보를 제공하는 물리적 아키텍처에 대해서도 설명합니다.

논리 아키텍처

배포하는 기본 리소스는 논리 앱입니다. 소비 논리 앱에는 하나의 워크플로만 있지만 표준 논리 앱에는 둘 이상의 워크플로가 있을 수 있습니다. 대부분의 워크플로는 하나 이상의 연결을 사용하여 다른 앱, 서비스 및 시스템에 액세스합니다.

온-프레미스 시스템의 데이터에 액세스하는 경우 온-프레미스 데이터 게이트웨이를 배포할 수 있습니다. 각 게이트웨이 리소스는 로컬 컴퓨터에 있는 별도의 데이터 게이트웨이 설치를 나타냅니다. 여러 컴퓨터를 사용하여 고가용성을 위해 온-프레미스 데이터 게이트웨이를 구성할 수 있습니다. 자세한 내용은 고가용성 지원을 참조하세요.

B2B(Business-to-Business) 엔터프라이즈 통합 시나리오에 Azure Logic Apps를 사용하는 경우 논리 앱 워크플로에서 사용하는 아티팩트 정의 및 저장 위치에 통합 계정을 배포할 수 있습니다.

물리적 아키텍처

소비 논리 앱의 경우 Azure Logic Apps는 컴퓨팅 인프라, 상태 스토리지 및 기타 리소스를 자동으로 관리합니다. VM(가상 머신)을 구성하거나 관리할 필요가 없습니다. 소비 논리 앱은 많은 고객 간에 컴퓨팅 인프라를 공유합니다.

표준 논리 앱의 경우 Azure Logic Apps는 사용자에게 전용인 워크플로 서비스 계획 또는 계획이라는 컴퓨팅 리소스를 사용합니다. 각 계획에는 여러 인스턴스가 있을 수 있으며, 필요에 따라 여러 가용성 영역에 분산할 수 있습니다. 각 인스턴스는 대략 VM(가상 머신)에 매핑되지만 해당 VM은 표시되지 않으며 직접 구성하거나 관리할 필요가 없습니다. 워크플로는 계획의 인스턴스에서 실행됩니다.

표준 논리 앱은 상태 저장 워크플로의 상태를 유지 관리하도록 스토리지를 구성해야 합니다. 자세한 내용은 상태 유지 및 무상태 워크플로를 참조하세요.

표준 논리 앱은 Azure Functions 및 Azure App Service와 유사한 기본 인프라를 사용합니다. 그러나 다른 서비스에 비해 논리 앱에 대한 계획을 구성하는 방식에는 몇 가지 차이점이 있습니다.

자세한 내용은 표준 논리 앱과 소비 논리 앱 간의 차이점을 참조하세요.

일시적인 오류에 대한 복원력

일시적인 오류는 구성 요소에서 짧고 간헐적인 오류입니다. 클라우드와 같은 분산 환경에서 자주 발생하며 작업의 일반적인 부분입니다. 일시적인 오류는 짧은 시간 후에 스스로 수정됩니다. 애플리케이션은 일반적으로 영향을 받는 요청을 다시 시도하여 일시적인 오류를 처리할 수 있는 것이 중요합니다.

모든 클라우드 호스팅 애플리케이션은 클라우드 호스팅 API, 데이터베이스 및 기타 구성 요소와 통신할 때 Azure 임시 오류 처리 지침을 따라야 합니다. 자세한 내용은 임시 오류 처리를 위한 권장 사항을 참조하세요.

Azure Logic Apps에서 많은 워크플로 트리거 및 작업은 일시적 오류로 인해 실패하는 요청을 자동으로 다시 시도하는 재시도 정책을 자동으로 지원합니다. 재시도 정책을 변경하거나 사용하지 않도록 설정하는 방법에 대한 자세한 내용은 Azure Logic Apps의 오류 및 예외 처리를 참조하세요.

작업이 실패하면 후속 작업의 동작을 사용자 지정할 수 있습니다. 함께 실패하거나 성공할 수 있는 관련 작업을 그룹화하기 위한 범위를 만들 수도 있습니다.

자세한 내용은 Azure Logic Apps에서 오류 및 예외 처리를 참조하세요.

가용성 영역 오류에 대한 복원력

가용성 영역은 Azure 지역 내에서 물리적으로 별도의 데이터 센터 그룹입니다. 한 영역이 실패하면 서비스가 다른 남은 영역 중 하나로 전환될 수 있습니다.

Azure Logic Apps는 여러 가용성 영역에 컴퓨팅 리소스 및 상태를 분산하는 영역 중복성을 지원합니다. 가용성 영역에 논리 앱 워크로드 리소스를 배포하면 프로덕션 논리 앱 워크로드의 복원력과 안정성이 향상됩니다.

새로운 및 기존의 다중 테넌트 Azure Logic Apps에서의 소비 기반 로직 앱 워크플로우는 자동으로 영역 중복을 활성화합니다.

Azure Logic Apps는 여러 가용성 영역에 컴퓨팅 리소스를 분산하는 영역 중복성을 지원합니다. 필요에 따라 논리 앱 워크플로가 저장하는 상태에 대한 영역 중복성을 구성할 수 있습니다. 가용성 영역에 논리 앱 워크로드 리소스를 배포하면 프로덕션 논리 앱 워크로드의 복원력과 안정성이 향상됩니다.

단일 테넌트 Azure Logic Apps에서 워크플로 서비스 계획 호스팅 옵션을 사용하는 표준 워크플로의 경우 선택적으로 영역 중복을 사용하도록 설정할 수 있습니다.

App Service Environment v3 호스팅 옵션을 사용하는 표준 워크플로의 경우 선택적으로 영역 중복을 사용하도록 설정할 수 있습니다. App Service Environment v3에서 가용성 영역을 지원하는 방법에 대한 자세한 내용은 App Service Environment의 안정성을 참조하세요.

Requirements

  • 지역 지원:가용성 영역을 지원하는 모든 지역에 배포된 소비 논리 앱은 자동으로 영역 중복성을 가집니다. 일본 서부는 일부 종속 서비스가 아직 영역 중복을 지원하지 않기 때문에 현재 영역 중복 논리 앱을 지원하지 않는 예외입니다.
  • 지역 지원: Azure App Service에 대한 가용성 영역을 지원하는 모든 지역에서 Workflow Service Plans를 사용하여 영역 중복 표준 논리 앱을 배포할 수 있습니다. 일본 서부는 일부 종속 서비스가 아직 영역 중복을 지원하지 않기 때문에 현재 영역 중복 논리 앱을 지원하지 않는 예외입니다. 자세한 내용은 Azure 앱 Service의 안정성을 참조하세요.
  • 지역 지원: App Service Environment v3의 가용성 영역을 지원하는 지역을 보려면 지역을 참조하세요.
  • 인스턴스 수: 워크플로 서비스 계획의 인스턴스를 두 개 이상 배포해야 합니다. 각 인스턴스는 대략 하나의 VM에 해당하므로 이러한 인스턴스(VM)를 여러 가용성 영역에 분산하려면 최소한 두 개의 인스턴스가 있어야 합니다.

Considerations

  • 스토리지: 상태 저장 표준 워크플로에 대한 외부 스토리지를 구성할 때 영역 중복성을 위해 스토리지 계정을 구성해야 합니다. 자세한 내용은 Azure Functions의 스토리지 고려 사항을 참조하세요.
  • 커넥터: 논리 앱이 영역 중복인 경우 기본 제공 커넥터도 자동으로 영역 중복됩니다.

  • 통합 계정: 프리미엄 SKU 통합 계정은 기본적으로 영역 중복입니다.

Cost

다중 테넌트 Azure Logic Apps의 신규 및 기존 소비 논리 앱에 대해 자동으로 사용하도록 설정되는 영역 중복을 사용하는 데 추가 비용이 적용되지 않습니다.

단일 테넌트 Azure Logic Apps에서 워크플로 서비스 계획을 사용하는 표준 논리 앱이 있는 경우 두 개 이상의 계획 인스턴스가 있는 경우 가용성 영역을 사용하도록 설정하는 데 추가 비용이 적용되지 않습니다. 귀하는 자신의 요금제 SKU, 지정된 용량, 그리고 자동 확장 기준에 따라 크기를 조정하는 인스턴스에 따라 요금이 부과됩니다. 가용성 영역을 사용하도록 설정하지만 두 개 미만의 인스턴스를 지정하는 경우 플랫폼은 최소 두 개의 인스턴스를 적용하고 이러한 두 인스턴스에 대해 요금을 청구합니다.

App Service Environment v3에는 영역 중복에 대한 특정 가격 책정 모델이 있습니다. App Service Environment v3에 대한 가격 책정 정보는 가격 책정을 참조하세요.

가용성 영역 지원 구성

소비 논리 앱 워크플로는 영역 중복을 자동으로 지원하므로 구성이 필요하지 않습니다.

  • 새 영역 중복 논리 앱 만들기: 표준 논리 앱에 대한 영역 중복을 사용하도록 설정하려면 논리 앱에 대한 영역 중복 사용 설정을 참조하세요.

  • 기존 논리 앱에서 영역 중복을 사용하도록 설정: 서비스 계획을 만든 후에는 영역 중복을 사용하도록 설정할 수 없습니다. 대신 영역 중복을 사용하도록 설정된 새 계획을 만들고 이전 계획을 삭제해야 합니다.

  • 영역 중복 사용 안 함: 워크플로 서비스 계획을 만든 후에는 영역 중복을 사용하지 않도록 설정할 수 없습니다. 대신 영역 중복이 비활성화된 새 계획을 만들고 이전 계획을 삭제해야 합니다.

용량 계획 및 관리

가용성 영역의 장애에 대비하기 위해 계획의 용량을 초과하여 프로비전하는 것을 고려하세요. 오버 프로비저닝을 사용하면 솔루션이 어느 정도의 용량 손실을 허용하고 성능 저하 없이 계속 작동할 수 있습니다. 자세한 내용은 과잉 프로비저닝을 사용하여 용량 관리를 참조하세요.

모든 영역이 정상인 경우의 동작

이 섹션에서는 논리 앱 리소스가 영역 중복에 대해 구성되고 모든 가용성 영역이 작동할 때 예상되는 사항에 대해 설명합니다.

  • 영역 간의 트래픽 라우팅: 정상적인 작업 중에 워크플로 호출은 해당 지역의 가용성 영역에서 컴퓨팅 리소스를 사용할 수 있습니다.

  • 영역 간 데이터 복제: 상태 저장 워크플로의 경우 ZRS(영역 중복 스토리지)를 사용하여 가용성 영역 간에 워크플로 상태가 동기적으로 복제됩니다.

  • 영역 간의 트래픽 라우팅: 정상적인 작업 중에 워크플로 호출은 사용 가능한 모든 계획 인스턴스 간에 모든 가용성 영역에 분산됩니다.

  • 영역 간 데이터 복제: 상태 저장 워크플로의 경우 워크플로 상태는 구성한 상태 스토리지에 따라 저장됩니다. Azure Storage를 외부 스토리지 시스템으로 사용하는 경우 가용성 영역 간에 워크플로 상태를 동기적으로 복제하는 ZRS(영역 중복 스토리지)를 사용해야 합니다.

영역 오류 중 동작

이 섹션에서는 논리 앱 리소스가 영역 중복성을 위해 구성된 동안 가용성 영역 중단이 발생할 때 예상되는 사항에 대해 설명합니다.

  • 검색 및 응답: Azure Logic Apps는 가용성 영역에서 오류를 감지하는 역할을 담당합니다. 영역 장애 조치(failover)를 시작하기 위해 어떤 작업도 수행할 필요가 없습니다.
  • 알림: 영역이 다운된 경우 Microsoft는 자동으로 알리지 않습니다. 그러나 Azure Service Health 를 사용하여 영역 오류를 포함하여 서비스의 전반적인 상태를 파악할 수 있으며, 문제를 알리도록 Service Health 경고를 설정할 수 있습니다.
  • 활성 요청: 가용성 영역을 사용할 수 없게 되면 Azure Logic Apps는 잘못된 가용성 영역의 VM에서 실행되는 진행 중인 워크플로 실행을 종료합니다. 플랫폼은 다른 가용성 영역의 다른 VM에서 워크플로를 자동으로 다시 시작합니다. 이 동작으로 인해 새 VM이 나머지 가용성 영역에 추가됨에 따라 활성 워크플로에 일시적인 오류 또는 더 높은 대기 시간이 발생할 수 있습니다.

  • 예상 가동 중지 시간: Azure Logic Apps에는 가동 중지 시간이 필요하지 않습니다. 그러나 가동 중지 시간이 발생하는 다른 서비스에 종속성이 있는 경우 논리 앱도 영향을 받을 수 있습니다.

  • 예상 데이터 손실: 데이터 손실이 예상되지 않습니다.

  • 트래픽 경로 변경: 들어오는 트래픽은 정상 영역의 인프라에 자동으로 분산됩니다.
  • 런타임이 아닌 동작: 가용성 영역에서 중단이 발생하는 경우에도 영역 중복 계획의 논리 앱 워크플로는 계속 실행됩니다. 그러나 가용성 영역 중단 중에는 런타임이 아닌 동작이 영향을 받을 수 있습니다. 자세한 내용 및 이러한 동작 목록은 Azure App Service의 안정성 - 영역 오류 중의 동작을 참조하세요.
  • 런타임이 아닌 동작: 가용성 영역에서 중단이 발생하는 경우에도 영역 중복 계획의 논리 앱 워크플로는 계속 실행됩니다. 그러나 가용성 영역 중단 중에는 런타임이 아닌 동작이 영향을 받을 수 있습니다. 이러한 동작에 대한 자세한 내용과 목록은 Azure App Service Environment의 안정성 - 영역 실패 시의 동작을 참조하세요.

영역 복구

가용성 영역이 복구되면 Azure Logic Apps는 가용성 영역의 인스턴스를 자동으로 복원하고, 다른 가용성 영역에서 만든 임시 인스턴스를 제거하고, 인스턴스 간의 트래픽을 정상적으로 다시 라우팅합니다.

영역 오류 테스트

Azure Logic Apps는 영역 중복 로직 앱 리소스에 대해 트래픽 라우팅, 장애 조치, 및 장애 복구를 관리합니다. 아무것도 시작할 필요가 없습니다. 이 기능은 완전히 관리되므로 가용성 영역 오류 프로세스의 유효성을 검사할 필요가 없습니다.

지역 전체 오류에 대한 복원력

각 논리 앱은 단일 Azure 지역에 배포됩니다. 지역을 사용할 수 없게 되면 논리 앱도 사용할 수 없습니다.

복원력을 위한 사용자 지정 다중 지역 솔루션

복원력을 높이기 위해 보조 지역에 대기 또는 백업 논리 앱을 배포하고 주 지역을 사용할 수 없는 경우 다른 지역으로 페일오버할 수 있습니다. 이 기능을 사용하도록 설정하려면 다음 작업을 완료합니다.

  • 주 지역과 보조 지역 모두에 논리 앱을 배포합니다.
  • 필요에 따라 리소스에 대한 연결을 다시 구성합니다.
  • 부하 분산 및 장애 조치(대체 경로) 정책을 구성합니다.
  • 기본 인스턴스 상태를 모니터링하고 장애 조치(failover)를 시작하도록 계획합니다.

논리 앱 워크플로에 대한 다중 지역 배포에 대한 자세한 내용은 다음을 참조하세요.

서비스 수준 약정

Azure 서비스의 SLA(서비스 수준 계약)는 각 서비스의 예상 가용성과 해당 가용성 예상 결과치를 달성하기 위해 솔루션이 충족해야 하는 조건을 설명합니다. 자세한 내용은 온라인 서비스 SLA를 참조하세요.