>  기사  >  백엔드 개발  >  AWS Aurora의 글로벌 재해 복구

AWS Aurora의 글로벌 재해 복구

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-20 15:45:14438검색

글로벌 재해 복구가 발생할 경우 데이터베이스 백업을 다른 AWS 계정에 저장하는 것이 중요합니다. Aurora RDS는 DB 백업을 다른 리전이나 다른 계정에 복사할 수 있지만 둘 다에는 복사할 수 없습니다. 또한 Aurora DB 클러스터가 AWS 관리형 키를 사용하여 배포된 경우 교차 계정 복사가 지원되지 않습니다. 클러스터 키를 변경하려면 클러스터를 다시 배포해야 합니다.

이러한 사용 사례의 접근 방식 중 하나는 AWS 백업을 사용하는 것입니다.

이러한 사용 사례의 경우 AWS 문서에 설명된 접근 방식 중 하나인 교차 계정 및 교차 리전 백업으로 암호화된 Amazon RDS 인스턴스 보호

그러나 AWS 설명서는 AWS cloudformation 템플릿을 기반으로 합니다. 테라폼을 이용해서 다시 만들어 봤습니다.

이 접근 방식은 AWS Aurora 백업을 교차 계정 및 교차 지역 모두에서 Vault에 복사할 수 있는 유연성을 제공합니다. 사용자 지정 KMS 키를 사용하여 Aurora 클러스터를 배포할 필요는 없습니다.

이 솔루션은 AWS 백업 계획을 사용하여 Amazon RDS 데이터베이스의 예약된 백업을 소스 저장소(Prod 지역, Prod 계정)에 생성합니다.
동일한 백업 계획은 동일한 계정이지만 DR 지역(Prod 계정, DR 스토리지 지역)에 있는 중간 저장소에 백업을 복사하는 복사 규칙을 정의합니다.

그런 다음 솔루션은 EventBridge를 사용하여 성공적인 AWS Backup 복사 작업 완료를 캡처하고 이러한 이벤트를 사용하여 AWS Lambda 함수를 트리거합니다. 그런 다음 AWS Lambda 함수는 AWS Backup을 사용하여 다른 백업 복사 작업을 수행하여 Prod 계정의 중간 볼트에서 DR 계정(DR 계정, DR 스토리지 지역)에 있는 대상 볼트로 백업을 복사합니다. .

Global Disaster recovery for AWS Aurora

출처: https://aws.amazon.com/blogs/storage/protecting-encrypted-amazon-rds-instances-with-cross-account-and-cross-region-backups/

프로덕션 계정의 기본 RDS KMS AWS 관리형 키로 암호화된 RDS DB 인스턴스는 AWS Backup을 통해 SourceVault에 백업됩니다(cmk-source-vault-account-a-region-a 암호화를 사용하도록 구성됨). ) 그런 다음 백업이 IntermediateVault(cmk-intermediate-vault-account-a-region-b 암호화를 사용하도록 구성됨)에 복사됩니다. SourceVault는 "cmk-source-vault-account-a-region-a" 암호화를 사용하도록 구성되어 있지만 SourceVault에 저장된 Amazon RDS 스냅샷은 여전히 ​​기본 RDS KMS AWS 관리 방식으로 암호화됩니다. 키(aws/rds). SourceVault에서 IntermediateVault로 스냅샷을 복사하는 단계에서는 스냅샷의 암호를 해독하고 IntermediateVault의 "cmk-intermediate-vault-account-a-region-b"를 사용하여 스냅샷을 다시 암호화합니다. 그러면 "cmk-intermediate-vault-account-a-region-b" 고객 관리 키를 DR 백업 계정에 공유하여 계정 간 복사에 사용할 수 있습니다. 계정 간 복사 중에 스냅샷은 대상 볼트 키 “cmk-destination-vault-account-b-region-b”를 사용하여 다시 암호화됩니다.

IntermediateVault에 대한 복사가 완료된 후 프로덕션 계정(계정 A, 지역 A)의 EvenBridge 규칙은 "복사 작업 완료" 이벤트를 식별하고 해당 이벤트를 계정 A, 지역 B의 EventBridge로 전달합니다. Turn은 Lambda 함수를 트리거합니다. Lambda 함수는 복구 지점에 적절한 태그가 있는지 확인하고 프로덕션 계정(계정 A, 지역 B, IntermediateVault)의 백업을 DR 백업 계정(계정 B, 지역 B, DestinationVault)으로 복사하도록 AWS Backup에 요청합니다. 교차 계정 및 교차 지역 백업 복사본을 생성합니다.

장점

  • Aurora 클러스터를 재배포할 필요가 없습니다
  • 다른 지역의 DR 백업 복사본.

단점

  • 복잡한 솔루션.

구현

전제조건

  • AWS Organizations에 구성된 기존 조직 구조
  • 조직 내 AWS Backup의 교차 계정 기능 활성화
  • 각 지역에서 Amazon RDS 백업 선택

백업 흐름
RDS/S3/EFS 인스턴스 → 계정의 Vault에 AWS 백업 → Vault에서 GDR Vault로 계정 간 복사 백업

Github Repo에서 Terraform 코드를 얻을 수 있습니다

위 내용은 AWS Aurora의 글로벌 재해 복구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.