type
status
date
slug
summary
tags
category
icon
password
理論
- 高可用性のためのデータベース設計 高可用性を確保するためには、データベースを複数のリージョンにまたがってレプリケートすることが基本です。これにより、あるリージョンが障害を受けても、別のリージョンで即座にデータにアクセスでき、業務が停止しないようにします。
- Amazon Aurora MySQL グローバルデータベースAurora MySQLのグローバルデータベース機能は、データベースを複数のリージョンにまたがってレプリケートするための最も効果的な方法です。この機能は、読み取り専用レプリカを作成するだけでなく、書き込みレプリカにも対応しており、グローバルに分散したアプリケーションのための高可用性を提供します。これにより、主リージョンがダウンした場合、セカンダリリージョンで書き込みが可能となり、RTOとRPOの要件を満たすことができます。
- Amazon DynamoDB グローバルテーブルDynamoDBは、AWSのフルマネージドNoSQLデータベースであり、グローバルテーブル機能を利用することで、複数リージョンにデータを自動的に同期できます。これにより、異なるリージョンにあるデータベース間でリアルタイムでデータが同期され、高可用性が確保されます。
- クロスリージョンバックアップ vs. リアルタイムレプリケーションクロスリージョンバックアップは、災害復旧戦略の一環として有効ですが、RTOとRPOの要件を満たすためには不十分です。バックアップは主にデータ損失を防ぐために使用されますが、リアルタイムでのデータ同期(レプリケーション)は、即時のデータ回復と高可用性に不可欠です。
具体的な要素:
- RTO (復旧時間目標) と RPO (復旧点目標) は、ビジネスにおける「ダウンタイム」や「データ損失」の許容範囲を示す指標です。RTOが数分以内ということは、システム障害時に数分以内でサービスを復旧させる必要があることを意味します。同様に、RPOが数分以内ということは、データ損失が数分分に制限されるべきであることを示します。
- Aurora MySQLのグローバルデータベースやDynamoDBグローバルテーブルは、データを複数リージョンで自動的に同期するため、これらを使うことが最もコスト効率が良く、運用負荷が少ないソリューションです。
実践
略
一問道場
問題 #160
トピック 1
ある会社が重要なアプリケーションを運用しており、データ層は単一のAWSリージョンに展開されています。データ層はAmazon DynamoDBテーブルとAmazon Aurora MySQL DBクラスターを使用しています。現在のAurora MySQLエンジンのバージョンはグローバルデータベースをサポートしています。アプリケーション層はすでに2つのリージョンに展開されています。
会社のポリシーでは、重要なアプリケーションはアプリケーション層とデータ層の両方を2つのリージョンに展開しなければならないとされています。RTOとRPOはそれぞれ数分以内である必要があります。ソリューションアーキテクトは、データ層を会社のポリシーに準拠させるためのソリューションを推奨する必要があります。
どの組み合わせのステップがこれらの要件を満たしますか?(2つ選択してください)
A. Aurora MySQL DBクラスターに別のリージョンを追加する
B. Aurora MySQL DBクラスターの各テーブルに別のリージョンを追加する
C. DynamoDBテーブルとAurora MySQL DBクラスターのためにスケジュールされたクロスリージョンバックアップを設定する
D. 既存のDynamoDBテーブルをグローバルテーブルに変換し、設定に別のリージョンを追加する
E. Amazon Route 53 Application Recovery Controllerを使用して、セカンダリーリージョンへのデータベースバックアップと復旧を自動化する
解説
この問題では、データ層の高可用性と災害復旧の要件に対して、AWSのサービスをどう活用するかが問われています。特に、アプリケーションのデータ層が複数のリージョンに展開され、**RTO(復旧時間目標)とRPO(復旧点目標)**が数分以内であることが求められています。この要件を満たすためには、リアルタイムのデータ同期と複数リージョンでのデータアクセスが重要です。
問題の要点:
- 会社のポリシーでは、データ層が2リージョンに展開されている必要がある。
- RTOとRPOは数分以内という厳しい要件。
- 現在のデータ層はAmazon Aurora MySQL DBクラスタとDynamoDBテーブルを使用。
必要な対応:
- 高可用性を確保するため、データベースを複数のリージョンに展開することが求められます。
- リアルタイムでのデータ同期を行い、データ損失を防ぎ、即時のデータ復旧を可能にする必要があります。
各選択肢の評価:
- A. Aurora MySQL DBクラスタに別のリージョンを追加
- 正解。Aurora MySQLのグローバルデータベースは、複数リージョンにまたがるデータベースの書き込みと読み取りを可能にします。この機能を利用すれば、2つのリージョンにまたがってデータを同期し、RTOとRPOの要件を満たすことができます。
- B. Aurora MySQL DBクラスタの各テーブルに別のリージョンを追加
- 不正解。Aurora MySQLでは、データベース全体をグローバルデータベースに設定するため、個別のテーブルごとにリージョンを追加することはできません。
- C. DynamoDBテーブルとAurora MySQL DBクラスタのクロスリージョンバックアップを設定
- 不正解。バックアップは災害復旧の一環として有効ですが、RTOとRPOが数分以内という要件には適していません。バックアップはリアルタイムの同期ではないため、即座のデータ回復を提供できません。
- D. DynamoDBテーブルをグローバルテーブルに変換
- 正解。DynamoDBのグローバルテーブルを使用すると、複数のリージョンにまたがってデータがリアルタイムで同期されます。これにより、データ層が2リージョンで利用可能となり、RTOとRPOの要件を満たすことができます。
5.選択肢 E である Amazon Route 53 Application Recovery Controller に関してですが、このサービスは主に アプリケーションレベルのフェイルオーバー に関するものであり、データベースのバックアップや復旧を自動化するための直接的な方法を提供するものではありません。
結論:
この問題では、データベースを複数リージョンに展開して、リアルタイムでデータを同期することが最も重要な要素です。これを実現するためには、Aurora MySQLのグローバルデータベースやDynamoDBのグローバルテーブルを使用することが推奨されます。
したがって、正解は選択肢 A と D です。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/170d7ae8-88e2-80ba-98fe-f641bebecd18
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章