AWS Aurora のグローバルディザスターリカバリー

Mary-Kate Olsen
リリース: 2024-11-20 15:45:14
オリジナル
434 人が閲覧しました

世界的な災害復旧が発生した場合には、データベースのバックアップを別の AWS アカウントに保存することが重要です。 Aurora RDS は、DB バックアップを別のリージョンまたは別のアカウントにコピーできますが、両方にコピーすることはできません。さらに、Aurora DB クラスターが AWS 管理のキーを使用してデプロイされている場合、クロスアカウントのコピーはサポートされません。クラスター キーを変更するには、クラスターの再デプロイが必要です。

このようなユースケースの場合、アプローチの 1 つは AWS バックアップを使用することです

このようなユースケースの場合は、AWS ドキュメント「クロスアカウントおよびクロスリージョンバックアップによる暗号化された Amazon RDS インスタンスの保護」で説明されているアプローチの 1 つを使用します。

ただし、AWS ドキュメントは AWS CloudFormation テンプレートに基づいています。 Terraformを使って再作成してみました。

このアプローチでは、アカウント間およびリージョン間で AWS Aurora バックアップを Vault にコピーする柔軟性が提供されます。カスタム KMS キーを使用して Aurora クラスターをデプロイする必要はありません。

このソリューションでは、AWS バックアップ プランを使用して、Amazon RDS データベースのスケジュールされたバックアップをソース コンテナー (本番リージョン、本番アカウント) に作成します。
同じバックアップ プランはコピー ルールを定義し、同じアカウント内の、ただし DR リージョン (本番アカウント、DR ストレージ リージョン) 内の中間コンテナーにバックアップをコピーします。

その後、ソリューションは EventBridge を使用して AWS Backup コピー ジョブの正常な完了をキャプチャし、これらのイベントを使用して AWS Lambda 関数をトリガーします。次に、AWS Lambda 関数は、AWS Backup を使用して別のバックアップ コピー ジョブを実行し、本番アカウントの中間ボールトから 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 スナップショットは、AWS が管理するデフォルトの RDS KMS を使用して暗号化されています。キー (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 に転送します。ターンは 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 へのクロスアカウント コピー バックアップ

Terraform コードは Github リポジトリから入手できます

以上がAWS Aurora のグローバルディザスターリカバリーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート