복구를 위한 디자인

완료됨
워크로드는 사용자 환경과 비즈니스 목표를 최소한으로 중단하면서 모든 규모의 대부분의 장애를 예상하고 복구할 수 있어야 합니다.

복원력이 뛰어난 시스템조차도 아키텍처 디자인과 워크로드 운영 측면에서 재해 대비 방식이 필요합니다. 데이터 레이어에서는 손상이 있는 경우 워크로드 상태를 복구할 수 있는 전략이 있어야 합니다.

예제 시나리오

Contoso는 현재 온-프레미스 SQL Server 데이터베이스에 방대한 양의 데이터를 호스팅하고 있으며 최근 Azure 서비스를 사용하여 해당 데이터의 분석 솔루션을 현대화했습니다.

새로운 분석 솔루션은 Azure Analysis Services, Azure Data Factory, Azure Synapse Analytics, Power BI 및 Azure Virtual Machines를 활용합니다. 솔루션의 모든 사용자는 내부자입니다. 솔루션의 가용성 요구 사항을 고려한 후 팀은 단일 지역에 솔루션을 구현하기로 결정했습니다.

데이터는 Azure Data Factory를 사용하여 수집되고 처리된 후 Analysis Services 스토리지에 저장됩니다. 이 프로세스의 일부에는 클라우드의 VM에 배포된 레거시 Windows 프로세스가 필요합니다.

재난에 대비

협상된 복구 대상에 맞춰 구조화되고, 테스트되고, 문서화된 복구 계획을 갖춥니다. 계획에는 시스템 전체뿐만 아니라 모든 구성 요소도 포함되어야 합니다.

잘 정의된 프로세스는 신속한 복구로 이어지며, 회사의 재정과 평판에 부정적인 영향을 끼치는 것을 방지할 수 있습니다. 정기적인 복구 훈련을 실시하면 시간과 데이터 무결성이 성공의 주요 척도인 경우 혼동을 피하기 위해 시스템 구성 요소, 데이터, 장애 측정(failover) 및 장애 복구(failback) 단계를 복구하는 프로세스를 테스트합니다.

Contoso의 과제

  • 해당 솔루션은 내부적으로만 사용되며 중요 업무로 간주되지 않습니다. 따라서 워크로드 팀과 비즈니스 관련자는 배포된 Azure 지역이 손실되거나 다른 이유로 전체 솔루션을 사용할 수 없게 되는 경우를 대비해 보조 지역에서 솔루션을 다시 빌드하는 것이 충분한 복구 모델이라는 데 동의합니다.
  • 워크로드 팀은 DR 계획에 따라 다른 지역에 솔루션을 빌드하는 방법을 설명했지만, 아직 전체 DR 훈련을 수행할 기회가 없었습니다.

접근 방식 및 결과 적용

  • 지역적 중단이 발생한 경우 DR 대응 팀은 DR 계획의 지침에 따라 다른 지역에 분석 솔루션을 다시 배포할 수 있습니다.
  • 팀은 솔루션 배포에 필요한 일부 작업에 대한 DR 계획에서 차이점을 검색하고 향후 복구를 보다 효율적으로 수행할 수 있도록 계획을 업데이트합니다.
  • 워크로드 팀과 관련자들은 업데이트된 계획으로 더 효율적인 복구가 가능하도록 계획된 DR 테스트를 앞당기기로 합의했습니다.

상태 저장 데이터 처리

복구 대상 내의 모든 상태 저장 구성 요소의 데이터를 복구할 수 있는지 확인합니다.

백업은 마지막으로 알려진 양호한 상태와 같은 신뢰할 수 있는 복구 지점을 사용하여 시스템을 작동 상태로 되돌리는 데 필수적입니다.

변경 불가능하고 트랜잭션 일관성이 있는 백업은 데이터가 변경되지 않고 복원된 데이터가 손상되지 않았음을 보장합니다.

Contoso의 과제

  • 워크로드 팀은 분석 처리 시간을 단축하기 위해 SQL 데이터베이스를 Azure로 옮기기로 결정했습니다. 데이터베이스 중 하나는 VM에서 분석 프로세스 중에 많이 사용되므로 팀에서는 가능한 가장 낮은 RPO로 데이터베이스 상태를 복구할 수 있도록 해야 합니다.

접근 방식 및 결과 적용

  • 각 데이터베이스가 4TB가 넘을 정도로 크기 때문에 단기적으로 Azure SQL Database로 마이그레이션하는 것은 불가능합니다. 따라서 팀은 SQL Server 2022를 실행하는 Azure VM으로 마이그레이션합니다.
  • 팀은 VM에서 사용하는 것과 같은 중요한 데이터베이스를 포함하여 모든 데이터베이스에 자동 백업 함수를 사용하기로 결정했습니다.
  • 중요한 데이터베이스의 경우, 팀은 자동 백업 함수와 Managed Instance 연결 함수를 함께 사용하여 데이터베이스를 Azure SQL Managed Instance에 적극적으로 복제할 계획입니다.

디자인에 자동화된 자체 복구 기능 구현

자체 복구 기능은 워크로드의 구성 요소가 영향을 받은 구성 요소를 복구하고 필요한 경우 중복된 인프라로 장애 조치(failover)하여 문제를 자동으로 해결할 수 있는 메커니즘입니다. 디자인 패턴을 사용하여 자체 복구 메커니즘을 통해 워크로드에 회복성을 추가합니다.

자체 복구 자동화는 사람의 개입과 같은 외부 요인으로 인한 위험을 줄이고, 고장 수리 주기를 단축하는 데 도움이 됩니다.

Contoso의 과제

  • 데이터를 수집할 때 Azure Data Factory에서 호출되는 Windows 프로세스는 처음에 가용성을 높이기 위해 여러 VM에 배포되었습니다.
  • 레거시 Windows 프로세스가 충돌하여 VM을 다시 시작해야 하는 경우가 몇 번 있었습니다. 전체 처리 시간은 중복 수준으로 인해 최소 영향만 받았지만, 팀에서는 장애 검색 및 복구를 자동화하는 솔루션을 구현하고자 합니다.

접근 방식 및 결과 적용

  • 팀은 VM 프로세스의 상태를 지속적으로 모니터링하기 위해 애플리케이션 상태 확장을 배포하도록 구성된 Azure Virtual Machine Scale Set 솔루션을 구현하기로 결정했습니다.
  • 자동 인스턴스 복구가 사용하도록 설정되면 확장 집합은 이제 VM을 다시 시작하거나 동일한 이미지를 기반으로 새 인스턴스를 만들어 구성 요소를 복구할 수 있습니다.

지식 점검

1.

다음 중 재해 복구 계획을 추진하는 데 도움이 되는 메트릭의 예는 무엇인가요?

2.

다음 시나리오 중 복구 목적으로 상태 저장 데이터를 처리하는 방법의 예는 무엇인가요?

3.

Contoso는 Azure에서 중요 업무용 기간 업무 애플리케이션을 보유하고 있습니다. 애플리케이션의 안정성을 개선하기 위해 자가 복구 기능을 구현할 수 있는 한 가지 방법은 무엇일까요?