Azure Automation 대신 관리 작업을 실행하는 서비스입니다. 실행하려는 Runbook이라는 스크립트를 정의하고, Azure Automation 해당 스크립트를 실행하는 인프라를 제공합니다. 이 문서에서는 서비스의 핵심 기능인 프로세스 자동화에 중점을 둡니다. 고객 관리형 인프라에서 실행되는 Hybrid Runbook Worker는 이 문서의 범위를 벗어납니다.
Azure를 사용하는 경우 안정성은 공유 책임입니다. Microsoft는 복원력 및 복구를 지원하는 다양한 기능을 제공합니다. 이러한 기능이 사용하는 모든 서비스 내에서 작동하는 방식을 이해하고 비즈니스 목표 및 가동 시간 목표를 충족하는 데 필요한 기능을 선택할 책임이 있습니다.
이 문서에서는 일시적인 오류, 가용성 영역 중단, 지역 중단 및 서비스 유지 관리를 포함하여 다양한 잠재적인 중단 및 문제에 Azure Automation 복원력을 제공하는 방법을 설명합니다. 또한 백업 및 복원 옵션과 Azure Automation SLA(서비스 수준 계약)에 대한 주요 정보를 설명합니다.
안정성을 위한 프로덕션 배포 권장 사항
프로세스 자동화를 사용하는 프로덕션 워크로드의 경우 다음 권장 사항을 따르세요.
스크립트에 적절한 재시도 논리를 추가하여 Runbook이 Azure 서비스 및 API와 상호 작용할 때 발생하는 일시적인 오류를 처리합니다.
중단이 발생해도 견딜 수 있도록 런북을 설계하세요. 검사점을 사용하여 작업 다시 시작에서 진행률을 유지하고 상태를 저장해야 하는 경우 외부 스토리지를 사용합니다.
안정성 아키텍처 개요
이 섹션에서는 안정성 관점에서 가장 관련성이 높은 서비스가 작동하는 방식의 몇 가지 중요한 측면을 설명합니다. 이 섹션에서는 배포하고 사용하는 일부 리소스 및 기능을 포함하는 논리 아키텍처를 소개합니다. 또한 서비스의 작동 방식에 대한 세부 정보를 제공하는 물리적 아키텍처에 대해서도 설명합니다.
논리 아키텍처
Azure Automation 배포할 때 자동화를 실행하는 리소스에 대한 논리적 컨테이너인 자동화 계정을 만듭니다.
- 수행할 작업을 나타내는 런북 텍스트 기반 Runbook은 PowerShell 또는 Python으로 작성된 스크립트입니다. 그래픽 런북은 그래픽 편집기를 사용하여 작성됩니다.
- 모듈, 연결, 자격 증명, 인증서 및 변수를 포함하여 Runbook이 공유하는 리소스입니다.
- 일정 및 감시자를 포함하여 Runbook 실행을 시작하는 리소스입니다.
이러한 리소스에 대한 자세한 내용은 Azure Automation Runbook 실행을 참조하세요.
이 문서에서는 Azure Automation 프로세스 자동화의 일부인 이러한 기능의 안정성과 복원력을 다룹니다.
물리적 아키텍처
Runbook은 컴퓨팅 인프라에서 실행됩니다. 프로세스 자동화를 위한 두 가지 배포 모델이 있습니다.
클라우드 작업(Microsoft 관리): 기본적으로 Runbook은 Microsoft 제공된 클라우드 인프라에서 실행됩니다. Microsoft 이 인프라의 고가용성 및 관리를 담당합니다. Runbook 작업을 제출할 때 Azure Automation 사용 가능한 컴퓨팅 리소스 풀에서 클라우드 작업을 할당하고 Runbook을 실행한 다음 리소스를 풀에 반환합니다.
실행하는 동안 클라우드 작업이 중단될 수 있습니다. 작업이 다른 인프라에서 다시 시작될 수 있고 이전 인스턴스의 임시 스토리지에 기록된 모든 데이터에 더 이상 액세스할 수 없다는 가정하에 Runbook을 디자인합니다.
Hybrid Runbook Worker: 필요에 따라 Runbook을 실행하도록 고유한 컴퓨팅 인프라(Azure, 기타 클라우드 또는 온-프레미스의 가상 머신)를 구성할 수 있습니다. Hybrid Runbook Worker를 사용하는 경우 안정성 요구 사항을 충족하도록 구성해야 합니다. Hybrid Runbook Worker는 이 문서에서 다루지 않습니다.
일시적인 오류에 대한 복원력
일시적인 오류는 구성 요소에서 짧고 간헐적인 오류입니다. 클라우드와 같은 분산 환경에서 자주 발생하며 작업의 일반적인 부분입니다. 일시적인 오류는 짧은 시간 후에 스스로 수정됩니다. 애플리케이션은 일반적으로 영향을 받는 요청을 다시 시도하여 일시적인 오류를 처리할 수 있는 것이 중요합니다.
모든 클라우드 호스팅 애플리케이션은 클라우드 호스팅 API, 데이터베이스 및 기타 구성 요소와 통신할 때 Azure 임시 오류 처리 지침을 따라야 합니다. 자세한 내용은 임시 오류 처리를 위한 권장 사항을 참조하세요.
연동되는 서비스 및 API에서 발생하는 일시적인 오류를 처리하는 운영 절차서를 작성할 책임이 있습니다. 텍스트 Runbook의 경우 루프 및 오류 처리를 사용하여 재시도 논리를 구현합니다. 지침 및 예제는 시간 종속 스크립트에서 일시적인 오류 처리를 참조하세요. 그래픽 Runbook의 경우 워크플로의 활동에 대한 재시도 동작을 구성합니다. 구성 세부 정보는 그래픽 runbook의 재시도 작업을 참조하세요.
인프라 유지 관리 또는 기타 플랫폼 이벤트는 Runbook 작업을 중단할 수 있습니다. 이러한 중단 상황을 처리할 수 있도록 런북을 설계하세요.
검사점을 구현합니다. PowerShell 워크플로 런북의 경우 워크플로의 주요 지점에서 진행 상태를 저장할 수 있도록 체크포인트를 사용하세요. 작업이 중단되고 다시 시작되는 경우 다시 시작하는 대신 마지막 검사점에서 다시 시작할 수 있습니다. 자세한 내용은 워크플로에서 검사점 사용을 참조하세요.
작업 제한을 이해합니다. 클라우드 작업에는 런타임 기간에 대한 공평한 공유 제한이 있습니다. 작업 실행 제한 및 적용 방법에 대한 자세한 내용은 Runbook 실행을 참조하세요.
영구 상태를 외부에 저장합니다. 작업은 실행 간에 상태를 유지하지 않습니다. 작업이 중단되고 다른 인스턴스에서 다시 시작되는 경우 첫 번째 실행으로 임시 스토리지에 기록된 모든 항목이 손실될 수 있습니다. 작업 실행 간에 데이터를 유지해야 하는 경우 Azure Blob Storage 데이터베이스와 같은 외부 스토리지에 저장합니다.
가용성 영역 오류에 대한 복원력
가용성 영역은 Azure 지역 내에서 물리적으로 별도의 데이터 센터 그룹입니다. 한 영역이 실패하면 서비스가 나머지 영역 중 하나로 전환될 수 있습니다.
지원되는 지역에서 Automation 계정 및 클라우드 작업은 영역 중복이므로 서비스가 여러 가용성 영역에 리소스를 분산합니다. Microsoft 영역 중복을 자동으로 사용하도록 설정하며 구성이 필요하지 않습니다.
Requirements
지역 지원: 자동화 계정을 다음 지역 중 하나에 배포하면 자동으로 영역 중복됩니다.
| Americas | Europe | 중동 | Africa | Asia Pacific |
|---|---|---|---|---|
| Brazil South | France Central | Israel Central | 남아프리카 북부 | Australia East |
| Canada Central | 독일 중서부 | Qatar Central | Central India | |
| Central US | Italy North | 중국 북부 3 | ||
| East US | North Europe | East Asia | ||
| 미국 동부 2 | Norway East | Japan East | ||
| 미국 중남부 | Poland Central | Korea Central | ||
| USGov 버지니아 | Sweden Central | Southeast Asia | ||
| 미국 서부 2 | UK South | |||
| 미국 서부 3 | West Europe |
현재 지원되는 지역 목록은 Azure Automation 대한 가용성 영역 지원을 참조하세요.
Cost
영역 중복에 대한 추가 요금은 없습니다. 프로세스 자동화의 경우 청구는 작업 및 감시자의 실행 시간을 기준으로 합니다. 자세한 내용은 Azure Automation 가격 책정을 참조하세요.
가용성 영역 지원 구성
지원되는 지역에서 자동화 계정을 만들면 자동으로 영역 중복됩니다. 영역 중복을 사용하지 않도록 설정할 수 없습니다. 자세한 내용은 Azure Automation 대한 가용성 영역 지원을 참조하세요.
모든 영역이 정상인 경우의 동작
이 섹션에서는 자동화 계정이 영역 중복이고 지역의 모든 가용성 영역이 작동할 때 예상되는 사항에 대해 설명합니다.
영역 간 작업: Automation 계정 관리 작업 및 클라우드 작업은 해당 지역의 가용성 영역에 자동으로 분산됩니다. 요청 또는 작업은 가용성 영역의 모든 인스턴스에서 처리될 수 있습니다.
영역 간 데이터 복제: Automation 계정에 배포하는 Automation 계정 구성, Runbook 스크립트 및 기타 리소스는 여러 가용성 영역에서 동기적으로 복제됩니다.
영역 오류 중 동작
이 섹션에서는 자동화 계정이 영역 중복(zone-redundant)으로 구성되어 있고 해당 지역의 가용성 영역 중 하나에서 장애가 발생할 경우 무엇을 예상할 수 있는지 설명합니다.
- 검색 및 응답: Azure Automation 플랫폼은 가용성 영역에서 오류를 감지하는 역할을 담당합니다. 영역 장애 조치(failover)를 시작하기 위해 어떤 작업도 수행할 필요가 없습니다.
- 통지: 영역이 다운된 경우 Microsoft는 자동으로 알리지 않습니다. 그러나 Azure Service Health 를 사용하여 영역 오류를 포함하여 서비스의 전반적인 상태를 파악할 수 있으며, 문제를 알리도록 Service Health 경고를 설정할 수 있습니다.
활성 요청: 비정상 상태의 영역에서 현재 실행 중인 모든 작업 실행은 중단될 수 있습니다. Azure Automation 정상 영역의 인프라를 사용하여 새 작업을 자동으로 시작합니다. Runbook을 일시적인 오류와 중단에도 복원력을 갖도록 설계하여 안전하게 다시 시작할 수 있도록 합니다.
예상 데이터 손실: 작업 실행은 상태를 유지하지 않으므로 영역 오류로 인해 진행 중인 작업에 대한 데이터 손실이 발생하지 않습니다. 작업이 중단에서 복구하는 데 사용할 수 있는 데이터(예: 검사점)를 저장해야 하는 경우 해당 정보를 Azure Storage 또는 데이터베이스와 같은 영구 클라우드 스토리지 서비스에 저장합니다.
Automation 계정 구성 및 Runbook 데이터는 영역 간에 복제되며 영역을 사용할 수 없는 경우에도 계속 액세스할 수 있습니다.
예상 가동 중지 시간: 영역 중단 중에는 서비스가 오류를 감지하고 워크로드를 정상 영역으로 재배포하는 동안 Automation 계정이 잠시 중단될 수 있습니다.
재배포: 서비스는 나머지 정상 영역에서 용량의 균형을 자동으로 조정합니다. 새 작업 실행, 감시자 및 일정은 정상 영역의 인프라에서 계속 실행됩니다. 복구는 장애가 발생한 영역이 다시 서비스 상태로 돌아오는 것에 의존하지 않습니다.
영역 복구
장애가 발생했던 영역이 서비스에 복귀하면 Azure Automation은 해당 영역을 영역 순환에 자동으로 다시 편입합니다. 사용자가 수행할 작업은 없습니다. 이 서비스는 영역의 상태를 모니터링하고 정상 작업이 다시 시작됨에 따라 모든 영역에 워크로드를 다시 배포합니다.
영역 오류 테스트
Azure Automation은 영역 중복 리소스에 대한 트래픽 라우팅, 장애 조치 및 영역 복구를 관리합니다. 아무것도 시작할 필요가 없으며 가용성 영역 오류 프로세스의 유효성을 검사할 필요가 없습니다. 런북을 테스트하여 중단 상황에서도 복원력이 있는지 확인하세요.
지역 전체 오류에 대한 복원력
Azure Automation 단일 지역 서비스입니다. 지역을 사용할 수 없게 되면 Automation 계정도 사용할 수 없습니다.
복원력을 위한 사용자 지정 다중 지역 솔루션
별도의 Automation 계정을 여러 지역에 배포하고 필요할 때 전환할 수 있습니다. 각 지역에 계정을 배포하고, 적절하게 구성하고, 계정 간에 요청을 배포하고, 지역을 사용할 수 없는 경우 장애 조치(failover)를 처리해야 합니다. 고려할 수 있는 방법에 대한 자세한 내용은 Azure Automation 재해 복구를 참조하세요.
백업 및 복원
대부분의 솔루션의 경우 백업에만 의존해서는 안 됩니다. 대신 이 가이드에 설명된 다른 기능을 사용하여 복원력 요구 사항을 지원합니다. 그러나 백업은 다른 방법이 사용하지 않는 일부 위험으로부터 보호합니다. 자세한 내용은 중복도, 복제 및 백업이란?을 참조하세요.
Azure Automation은 Automation 계정 구성 또는 runbook 콘텐츠에 대한 기본 제공 백업 기능을 제공하지 않습니다. 필요한 경우 다시 배포할 수 있도록 자체 복사본을 서비스 외부에 보관합니다.
자동화 계정 구성에 IaC(Infrastructure as Code)를 사용합니다. Bicep 파일, ARM 템플릿 또는 Terraform에서 자동화 계정 및 관련 리소스를 정의합니다. 템플릿을 소스 제어에 저장하고 배포 파이프라인을 사용하여 동일한 지역이나 다른 지역에서 환경을 다시 만듭니다. 아티팩트 및 배포 프로세스에 인증서, 변수, 일정 및 자격 증명 참조를 포함합니다. runbook 코드에 직접 값을 포함하는 대신 Azure Key Vault 같은 서비스에 비밀을 저장합니다.
Runbook 스크립트를 소스 제어에 저장합니다. PowerShell 및 Python Runbook의 원본을 Git과 같은 소스 제어 시스템에 유지합니다. 버전 관리, 분기 및 끌어오기 요청 검토를 사용하여 스크립트 품질을 보호하고 알려진 정상 버전으로 롤백을 사용하도록 설정합니다.
적절한 데이터 저장소에서 상태를 백업합니다. 작업은 상태를 유지하지 않습니다. Runbook에서 생성하는 자세한 작업 로그 또는 기타 데이터를 유지해야 하는 경우 다른 Azure 스토리지 또는 데이터베이스 서비스에 저장하고 여기에서 백업합니다.
실수로 인한 삭제에 대한 복구 능력
Automation 계정을 실수로 삭제하는 경우 제한된 기간 내에 복원할 수 있습니다. 자세한 내용은 삭제된 Automation 계정 복원을 참조하세요.
서비스 유지 관리에 대한 복원력
Microsoft는 정기적으로 서비스 업데이트를 적용하고 다른 유지 관리를 수행합니다. Azure 플랫폼은 이러한 활동을 자동으로 처리하여 유지 관리가 원활하고 투명하도록 합니다. Azure Service Health 계획된 유지 관리를 통해 조언을 받지 않는 한 유지 관리 이벤트 중에 가동 중지 시간이 예상되지 않습니다.
서비스 수준 약정
Azure 서비스에 대한 SLA(서비스 수준 계약)는 각 서비스의 예상 가용성과 솔루션이 가용성 기대치를 달성하기 위해 충족해야 하는 조건을 설명합니다. 자세한 내용은 온라인 서비스 SLA를 참조하세요.