제퍼넷 로고

Amazon MWAA를 위한 재해 복구 전략 – 1부 | 아마존 웹 서비스

시간

역동적인 클라우드 컴퓨팅 세계에서는 중요한 애플리케이션의 복원력과 가용성을 보장하는 것이 무엇보다 중요합니다. 재해 복구 (DR)은 조직이 기술 관련 재해를 예측하고 해결하는 프로세스입니다. 다음을 사용하여 중요한 워크로드 조정을 구현하는 조직의 경우 Apache Airflow용 Amazon 관리형 워크플로 (Amazon MWAA) 비즈니스 연속성을 보장하려면 DR 계획을 마련하는 것이 중요합니다.

이 시리즈에서는 Amazon MWAA 재해 복구의 필요성을 살펴보고 의도하지 않은 중단으로부터 Amazon MWAA 환경을 유지할 수 있는 솔루션을 처방합니다. 이를 통해 비즈니스 연속성 계획의 일부로 중단 위험을 정의, 방지 및 처리할 수 있습니다. 이 게시물은 전반적인 DR 아키텍처 설계에 중점을 둡니다. 이 시리즈의 향후 게시물에서는 AWS 서비스를 사용하여 개별 구성 요소를 구현하는 데 중점을 둘 것입니다.

Amazon MWAA 재해 복구의 필요성

완전 관리형 서비스인 Amazon MWAA 아파치 에어 플로우, 추출, 변환 및 로드(ETL), DevOps 및 기계 학습(ML) 워크로드에 대한 워크플로 조정을 자동화하여 조직에 엄청난 가치를 제공합니다. 아마존 MWAA에는 분산 아키텍처 스케줄러, 작업자, 웹 서버, 대기열 및 데이터베이스와 같은 여러 구성 요소가 있습니다. 이로 인해 포괄적인 DR 전략을 구현하기가 어렵습니다.

활성 Amazon MWAA 환경은 지속적으로 Airflow를 구문 분석합니다. 방향성 비순환 그래프 (DAG), 구성된 것에서 읽습니다. 아마존 단순 스토리지 서비스 (Amazon S3) 버킷. 네트워크 연결 불가, 의도하지 않은 손상 또는 삭제로 인해 DAG 소스를 사용할 수 없으면 가동 중지 시간이 길어지고 서비스 중단이 발생합니다.

Airflow 내에서 메타데이터 데이터베이스는 구성 변수, 역할, 권한, DAG 실행 기록을 저장하는 핵심 구성요소입니다. 따라서 정상적인 메타데이터 데이터베이스는 Airflow 환경에 매우 중요합니다. 모든 핵심 Airflow 구성 요소와 마찬가지로 메타데이터 데이터베이스에 대한 백업 및 재해 복구 계획을 마련하는 것이 필수적입니다.

Amazon MWAA는 Airflow 구성 요소를 여러 곳에 배포합니다. 가용 영역 원하는 VPC 내에서 AWS 리전. 이는 단일 가용 영역 장애에 대한 내결함성과 자동 복구를 제공합니다. 미션 크리티컬 워크로드의 경우 다중 지역 배포를 통해 단일 지역의 장애에 대한 복원력을 갖추는 것도 고가용성과 비즈니스 연속성을 보장하는 데 중요합니다.

Amazon MWAA 환경에서는 중복 인프라, 복잡성 및 복구 시간을 유지하기 위한 비용의 균형을 맞추는 것이 필수적입니다. 조직은 비용을 최소화하는 비용 효율적인 솔루션을 목표로 합니다. 복구 시간 목표 (RTO) 및 복구 지점 목표 (RPO) 서비스 수준 계약을 충족하고 경제적으로 실행 가능하며 고객의 요구 사항을 충족합니다.

기본 환경의 재해 감지: 지표 및 경보를 통한 사전 모니터링

적시에 재해를 복구하려면 기본 환경에서 재해를 신속하게 감지하는 것이 중요합니다. 모니터링 아마존 클라우드 워치 스케줄러하트비트 측정항목 활성 Amazon MWAA 환경의 Airflow 상태에 대한 통찰력을 제공합니다. 업스트림 또는 다운스트림 시스템의 가용성 및 네트워크 연결 가능성 확인과 같은 다른 상태 확인 지표를 평가 기준에 추가할 수 있습니다. 와 결합 CloudWatch 경보를 사용하면 일정 기간 동안 이러한 임계값이 충족되지 않을 때 알림을 보낼 수 있습니다. 대시보드에 경보를 추가하여 여러 지역의 AWS 리소스 및 애플리케이션에 대한 알림을 모니터링하고 수신할 수 있습니다.

AWS는 서비스 가용성에 대한 최신 정보를 다음 사이트에 게시합니다. 서비스 상태 대시보드. 언제든지 현재 상태 정보를 확인하거나 RSS 피드를 구독하여 운영 지역의 각 개별 서비스 중단에 대한 알림을 받을 수 있습니다. 그만큼 AWS 상태 대시보드 계정에 영향을 미칠 수 있는 AWS 상태 이벤트에 대한 정보를 제공합니다.

지표 모니터링, 사용 가능한 대시보드 및 자동 경보를 결합하면 기본 환경의 가용성을 즉시 감지하여 DR 계획으로 전환하기 위한 사전 조치를 취할 수 있습니다. 비즈니스 가치를 제공하는 현실적이고 달성 가능한 목표를 제공하려면 DR 계획 및 구현에 사고 감지, 알림, 에스컬레이션, 검색 및 선언을 고려하는 것이 중요합니다.

다음 섹션에서는 두 가지 Amazon MWAA DR 전략 솔루션과 해당 아키텍처에 대해 설명합니다.

DR 전략 솔루션 1: 백업 및 복원

백업 및 복원 전략에는 기본 Amazon MWAA 환경과 동일하거나 다른 지역에서 Airflow 구성 요소 백업을 생성하는 작업이 포함됩니다. 연속성을 보장하기 위해 기본 Amazon MWAA 환경에 대한 성능 영향을 최소화하면서 이를 DR 리전에 비동기식으로 복제할 수 있습니다. 드물게 주요 지역 장애 또는 서비스 중단이 발생하는 경우 이 전략은 새로운 Amazon MWAA 환경을 생성하고 기존 백업에서 기록 데이터를 복구합니다. 그러나 복구 프로세스 중에는 새 환경이 완전히 프로비저닝되고 사용 가능한 것으로 표시될 때까지 워크플로를 처리하기 위해 Airflow 환경이 작동하지 않는 기간이 있다는 점에 유의하는 것이 중요합니다.

이 전략은 기본 지역 내에서 데이터 손실 또는 손상을 완화하는 데에도 적합한 저비용 및 복잡성이 낮은 솔루션을 제공합니다. 백업되는 데이터의 양과 새로운 Amazon MWAA 환경을 생성하는 데 걸리는 시간(일반적으로 20~30분)이 복원 속도에 영향을 미칩니다. 인프라를 오류 없이 신속하게 재배포하려면 다음을 사용하여 배포하세요. 코드로서의 인프라 (IAC). IaC가 없으면 유사한 DR 환경을 복원하는 것이 복잡할 수 있으며, 이로 인해 복구 시간이 늘어나고 RTO를 초과할 수도 있습니다.

다음 그림과 같이 기본 Amazon MWAA 환경이 활발히 실행 중일 때 필요한 설정을 살펴보겠습니다.

백업 및 복원 - 사전

이 솔루션은 세 가지 주요 구성 요소로 구성됩니다. 첫 번째 구성요소는 Airflow 워크플로가 처음에 배포되고 활발하게 실행되는 기본 환경입니다. 두 번째 구성 요소는 재해 모니터링 구성 요소로, CloudWatch와 AWS 단계 함수 상태 머신과 AWS 람다 기능. 세 번째 구성 요소는 복원에 필요한 모든 구성 및 메타데이터의 백업을 생성하고 저장하기 위한 것입니다. 이는 기본과 동일한 지역에 있거나 다음을 사용하여 DR 지역에 복제될 수 있습니다. S3 교차 리전 복제 (CRR). CRR의 경우 Amazon S3에서 각 대상 지역으로의 지역 간 데이터 전송에 대한 비용도 지불합니다.

워크플로의 처음 세 단계는 다음과 같습니다.

  1. 백업 생성 프로세스의 일부로 Airflow 메타데이터는 다음을 사용하여 S3 버킷에 복제됩니다. DAG 내보내기 유틸리티는 RPO 간격에 따라 주기적으로 실행됩니다.
  2. 기존 기본 Amazon MWAA 환경은 스케줄러 상태를 CloudWatch에 자동으로 내보냅니다. 스케줄러하트비트 미터법.
  3. 다단계 단계 함수 상태 머신 주기적으로 트리거됩니다. 아마존 이벤트 브리지 예정 스케줄러의 상태를 모니터링합니다. 상태 시스템의 기본 단계로서 Lambda 함수는 상태를 평가합니다. 스케줄러하트비트 미터법. 측정항목이 정상으로 간주되면 아무런 조치도 취하지 않습니다.

다음 그림은 솔루션 워크플로의 추가 단계를 보여줍니다.

백업 및 복원 포스팅

  1. 하트비트 수가 일정 기간 동안 정상 수에서 벗어나면 DR 지역의 새로운 Amazon MWAA 환경으로 복구하기 위한 일련의 작업이 시작됩니다. 이러한 작업에는 새로운 Amazon MWAA 환경 생성 시작, 기본 환경 구성 복제, 새 환경이 사용 가능해질 때까지 기다리는 것이 포함됩니다.
  2. 환경이 사용 가능하면 DAG 가져오기 유틸리티는 백업에서 메타데이터 내용을 복원하기 위해 실행됩니다. 서비스 수준 계약을 유지하려면 기본 환경이 손상되는 동안 중단된 DAG 실행을 수동으로 다시 실행해야 합니다. 향후 DAG 실행은 구성된 다음 일정에 따라 실행되도록 큐에 추가됩니다.

DR 전략 솔루션 2: 주기적인 데이터 동기화를 갖춘 액티브-패시브 환경

주기적인 데이터 동기화 전략을 갖춘 활성-수동 환경은 활성 기본 환경과 수동 Amazon MWAA DR 환경 간의 반복적인 데이터 동기화를 유지하는 데 중점을 둡니다. DAG 저장소와 메타데이터 데이터베이스를 주기적으로 업데이트하고 동기화함으로써 이 전략은 DR 환경을 기본 환경과 최신 상태로 유지하거나 거의 최신 상태로 유지합니다. DR 지역은 기본 Amazon MWAA 환경과 동일하거나 다를 수 있습니다. 재해가 발생하는 경우 백업을 이전에 알려진 양호한 상태로 되돌려 데이터 손실이나 손상을 최소화할 수 있습니다.

이 전략은 빈번한 동기화로 낮은 RTO 및 RPO를 제공하므로 데이터 손실을 최소화하면서 빠른 복구가 가능합니다. 기본 및 DR Amazon MWAA 환경을 모두 유지하려면 인프라 비용과 코드 배포가 복잡해집니다. DR 환경을 즉시 사용하여 DAG를 실행할 수 있습니다.

다음 그림은 기본 Amazon MWAA 환경이 활발하게 실행 중일 때 필요한 설정을 보여줍니다.

액티브 패시브 사전

이 솔루션은 네 가지 주요 구성 요소로 구성됩니다. 백업 및 복원 솔루션과 마찬가지로 첫 번째 구성 요소는 워크플로가 처음 배포되고 활발하게 실행되는 기본 환경입니다. 두 번째 구성 요소는 CloudWatch와 Step Functions 상태 시스템 및 Lambda 함수의 조합으로 구성된 재해 모니터링 구성 요소입니다. 세 번째 구성 요소는 데이터베이스 동기화에 필요한 모든 구성 및 메타데이터에 대한 백업을 생성하고 저장합니다. 이는 기본과 동일한 지역에 있거나 Amazon S3 교차 지역 복제를 사용하여 DR 지역에 복제될 수 있습니다. 앞서 언급했듯이 CRR의 경우 Amazon S3에서 각 대상 지역으로의 지역 간 데이터 전송에 대한 비용도 지불합니다. 마지막 구성 요소는 기본 구성 요소와 동일한 Airflow 코드 및 환경 구성을 갖는 패시브 Amazon MWAA 환경입니다. DAG는 기본 파이프라인과 동일한 CI/CD(지속적 통합 및 지속적 전달) 파이프라인을 사용하여 DR 환경에 배포됩니다. 기본과 달리 DAG는 일시중지 상태로 유지되어 중복 실행이 발생하지 않습니다.

워크플로우의 첫 번째 단계는 백업 및 복원 전략과 유사합니다.

  1. 백업 생성 프로세스의 일부로 Airflow 메타데이터는 DAG 내보내기 유틸리티를 사용하여 S3 버킷에 복제되며 RPO 간격에 따라 주기적으로 실행됩니다.
  2. 기존 기본 Amazon MWAA 환경은 스케줄러 상태를 CloudWatch에 자동으로 보냅니다. 스케줄러하트비트 미터법.
  3. 다단계 Step Functions 상태 시스템은 정기적인 Amazon EventBridge 일정에서 트리거되어 스케줄러 상태를 모니터링합니다. 상태 시스템의 기본 단계로서 Lambda 함수는 상태를 평가합니다. 스케줄러하트비트 미터법. 측정항목이 정상으로 간주되면 아무런 조치도 취하지 않습니다.

다음 그림은 워크플로의 마지막 단계를 보여줍니다.

활성 수동 게시물

  1. 하트비트 수가 일정 기간 동안 정상 수에서 벗어나면 DR 작업이 시작됩니다.
  2. 첫 번째 단계로, Lambda 함수는 가져오기 DAG 유틸리티를 트리거하여 백업의 메타데이터 콘텐츠를 패시브 Amazon MWAA DR 환경으로 복원합니다. 가져오기가 완료되면 동일한 DAG가 다른 Airflow DAG의 일시중지를 해제하여 향후 실행을 위해 활성화할 수 있습니다. 서비스 수준 계약을 유지하려면 기본 환경이 손상되는 동안 중단된 DAG 실행을 수동으로 다시 실행해야 합니다. 향후 DAG 실행은 구성된 다음 일정에 따라 실행되도록 큐에 추가됩니다.

Amazon MWAA의 복원력을 개선하기 위한 모범 사례

Amazon MWAA 환경의 복원력을 강화하고 원활한 재해 복구를 보장하려면 다음 모범 사례 구현을 고려하십시오.

  • 강력한 백업 및 복원 메커니즘 – Amazon MWAA 데이터에 대한 포괄적인 백업 및 복원 메커니즘을 구현하는 것이 필수적입니다. 조직의 보존 정책에 따라 기존 메타데이터를 정기적으로 삭제하면 백업 시간이 줄어들고 Amazon MWAA 환경의 성능이 향상됩니다.
  • IaC를 사용한 자동화 – 다음과 같은 자동화 및 조정 도구 사용 AWS 클라우드 포메이션Walk Through California 프로그램, AWS 클라우드 개발 키트 (AWS CDK) 또는 테라 폼 Amazon MWAA 환경의 배포 및 구성 관리를 간소화할 수 있습니다. 이를 통해 DR 시나리오 중에 일관성, 재현성 및 더 빠른 복구가 보장됩니다.
  • 멱등성 DAG 및 작업 – Airflow에서 동일한 입력으로 동일한 DAG를 여러 번 다시 실행하면 한 번만 실행하는 것과 동일한 효과가 있는 경우 DAG는 멱등성으로 간주됩니다. 멱등성 DAG를 설계하고 작업을 원자성으로 유지하면 복구된 환경에서 중단된 DAG를 수동으로 다시 실행해야 할 때 오류로부터의 복구 시간이 줄어듭니다.
  • 정기적인 테스트 및 검증 – 강력한 Amazon MWAA DR 전략에는 정기적인 테스트 및 검증 연습이 포함되어야 합니다. 재해 시나리오를 시뮬레이션함으로써 DR 계획의 공백을 식별하고, 프로세스를 미세 조정하고, Amazon MWAA 환경이 완전히 복구 가능한지 확인할 수 있습니다.

결론

이 게시물에서는 Amazon MWAA 재해 복구의 과제를 살펴보고 복원력을 향상하기 위한 모범 사례에 대해 논의했습니다. 우리는 두 가지 DR 전략 솔루션, 즉 백업 및 복원과 주기적인 데이터 동기화를 통한 액티브-패시브 환경을 조사했습니다. 이러한 솔루션을 구현하고 모범 사례를 따르면 Amazon MWAA 환경을 보호하고 가동 중지 시간을 최소화하며 재해의 영향을 완화할 수 있습니다. 효과적인 Amazon MWAA DR 전략을 위해서는 정기적인 테스트, 검증 및 변화하는 요구 사항에 대한 적응이 중요합니다. 재해 복구 계획을 지속적으로 평가하고 개선하면 예상치 못한 상황이 발생하더라도 Amazon MWAA 환경의 복원력과 중단 없는 운영을 보장할 수 있습니다.

Amazon MWAA에 대한 자세한 내용과 코드 예제는 다음을 참조하세요. Amazon MWAA 사용 설명서 그리고 Amazon MWAA 예제 GitHub 리포지토리.


저자에 관하여

파르납 바삭 AWS의 수석 솔루션 아키텍트이자 서버리스 전문가입니다. 그는 서버리스, DevOps 및 분석과 같은 최신 소프트웨어 개발 방식을 사용하여 클라우드 기반의 새로운 솔루션을 만드는 것을 전문으로 합니다. Parnab은 분석 및 통합 서비스 분야에서 긴밀히 협력하여 고객이 워크플로 조정 요구 사항에 맞게 AWS 서비스를 채택하도록 돕습니다.

찬단 루파케티 AWS의 솔루션스 아키텍트이자 서버리스 전문가입니다. 그는 클라우드에서 혁신적인 솔루션을 구축하고 클라우드 여정에서 이해관계자를 하나로 모으는 데 능숙한 열정적인 기술 리더이자 연구원이자 멘토입니다. 직업 생활 외에도 그는 음악을 듣고 연주하는 것 외에도 가족 및 친구들과 시간을 보내는 것을 좋아합니다.

비노드 자옌드라 그는 Amazon Web Services ISV 계정의 엔터프라이즈 지원 책임자로서 고객이 아키텍처, 운영 및 비용 최적화 문제를 해결하도록 돕습니다. 그는 특히 서버리스 기술에 중점을 두고 애플리케이션 개발에 대한 광범위한 배경을 활용하여 최고 수준의 솔루션을 제공합니다. 일 외에도 그는 가족과 함께 즐거운 시간을 보내고, 자전거 타기 모험을 시작하고, 청소년 스포츠 팀을 지도하는 데서 기쁨을 찾습니다.

루페시 티와리 그는 금융 서비스에 중점을 두고 뉴욕시에 위치한 AWS의 수석 솔루션 아키텍트입니다. 그는 금융, 보험 및 교육 분야에서 18년 이상의 IT 경험을 보유하고 있으며 대규모 애플리케이션 및 클라우드 기반 빅 데이터 워크로드 설계를 전문으로 합니다. 여가 시간에는 Rupesh는 노래방에서 노래를 부르고, 코미디 TV 시리즈를 시청하며, 가족과 함께 즐거운 시간을 보내는 것을 즐깁니다.

spot_img

VC 카페

VC 카페

최신 인텔리전스

spot_img