type
status
date
slug
summary
tags
category
icon
password
理論
1. マルチリージョンアーキテクチャ
- 高可用性を確保するためには、複数のリージョンにリソースを配置することが重要です。AWSでは、複数のリージョンにまたがるリソースを配置し、リージョン間でのフェイルオーバーを実現することで、高可用性を向上させます。
2. Amazon RDSのクロスリージョンレプリケーション
- クロスリージョンレプリケーションを利用することで、セカンダリリージョンにリアルタイムでデータを複製できます。障害が発生した場合には、セカンダリリージョンに昇格させてサービスを維持できます。
3. AWS Lambdaによる自動フェイルオーバー
- AWS Lambdaを使用して、特定のイベント(例えば、データベースの障害検出)に反応し、必要なアクション(例えば、レプリカの昇格、Route 53のDNS更新)を自動的に実行できます。
4. Route 53のフェイルオーバールーティング
- Route 53はDNSサービスで、フェイルオーバールーティングポリシーを設定することで、プライマリリージョンに障害が発生した際に、トラフィックを自動的にセカンダリリージョンに切り替えます。
5. RTOとRPO
- *RTO(復旧時間目標)とRPO(復旧時点目標)**は、システム障害時のサービス復旧とデータ損失の許容範囲を示す重要な指標です。高可用性アーキテクチャの設計では、これらの目標を満たすためにバックアップ、レプリケーション、フェイルオーバーなどの技術を駆使します。
6. バックアップ戦略
- 自動バックアップやスナップショットを利用して、最新のデータを保持し、障害発生時には迅速に復元できる体制を整えます。バックアップの頻度や保管場所を適切に設定することが、RPOの達成に寄与します。
これらの知識を活用して、AWS上での高可用性アーキテクチャを設計することができます。
実践
略
一問道場
質問 #472
ソリューションアーキテクトは、ウェブアプリケーションをサポートするAmazon RDS for PostgreSQLデータベースのために、マルチリージョンアーキテクチャを実装する必要があります。
データベースは、プライマリリージョンとセカンダリリージョンの両方で利用可能なAWSサービスと機能を含むAWS CloudFormationテンプレートから起動されます。
データベースは自動バックアップを構成しており、RTO(復旧時間目標)は15分、RPO(復旧時点目標)は2時間です。
ウェブアプリケーションは、Amazon Route 53のレコードを使用してデータベースへのトラフィックをルーティングするように構成されています。
どの組み合わせの手順が、すべての要件を満たす高可用性アーキテクチャを実現するでしょうか?(2つ選択してください。)
A. セカンダリリージョンにデータベースのクロスリージョン読み取りレプリカを作成します。
セカンダリリージョンでAWS Lambda関数を設定して、フェイルオーバーイベント時に読み取りレプリカを昇格させます。
B. プライマリリージョンで、データベースのヘルスチェックを作成し、障害が検出されたときにAWS Lambda関数を呼び出します。
Lambda関数をプログラムして、セカンダリリージョンで最新のデータベーススナップショットからデータベースを再作成し、Route 53のホストレコードを更新します。
C. 最新の自動バックアップをセカンダリリージョンに2時間ごとにコピーするAWS Lambda関数を作成します。
D. Route 53でフェイルオーバールーティングポリシーを作成し、データベースのDNSレコードに対してプライマリとセカンダリのエンドポイントを設定します。
E. セカンダリリージョンにホットスタンバイデータベースを作成し、プライマリデータベースが失敗した場合に最新のRDS自動バックアップからセカンダリデータベースを復元するためにAWS Lambda関数を使用します。
解説
このシナリオでは、Amazon RDS for PostgreSQLを使用した高可用性アーキテクチャを構築するために、以下の要件があります:
- *RTO(復旧時間目標)**が15分で、障害が発生した場合にサービスの復旧が迅速に行われる必要があります。
- *RPO(復旧時点目標)**が2時間で、データ損失を最小限に抑える必要があります。
- マルチリージョンで高可用性を提供するために、プライマリとセカンダリリージョン間で適切なバックアップとフェイルオーバー戦略を設定する必要があります。
この要件を満たすために最適な手順を選択する必要があります。
選択肢の解説
A. セカンダリリージョンにデータベースのクロスリージョン読み取りレプリカを作成
- クロスリージョン読み取りレプリカを作成することで、セカンダリリージョンで最新のデータを保持することができます。
- AWS Lambda関数を使用して、プライマリリージョンで障害が発生した場合にレプリカを昇格させてデータベースをプライマリに切り替えることができます。これにより、15分以内のRTOを達成でき、セカンダリリージョンがプライマリリージョンに昇格することでサービスを迅速に復旧できます。
B. プライマリリージョンで、データベースのヘルスチェックを作成し、Lambda関数でデータベースを再作成
- プライマリリージョンでヘルスチェックを行い、障害を検出した際にAWS Lambda関数を呼び出す仕組みです。この関数がセカンダリリージョンで最新のバックアップからデータベースを再作成し、Route 53のDNSレコードを更新することで、トラフィックがセカンダリリージョンに切り替わります。
- これにより、RPOは2時間に保たれ、フェイルオーバーも自動化されるため、15分以内のRTOを達成できます。
C. 最新の自動バックアップをセカンダリリージョンに2時間ごとにコピー
- この選択肢では、バックアップのコピーをセカンダリリージョンに定期的に転送することが提案されていますが、セカンダリリージョンでのバックアップ復元までの時間が確保されないため、RTOやRPOの要件に完全に適合しません。データベースの復旧が手動で行われる場合、RTOの目標は達成できません。
D. Route 53でフェイルオーバールーティングポリシーを作成
- Route 53のフェイルオーバールーティングポリシーを使用すると、プライマリとセカンダリのエンドポイントを設定し、障害が発生した際に自動的にセカンダリリージョンにトラフィックをルーティングできます。これにより、障害発生時にルーティングが迅速に切り替わるため、RTOの目標を達成できます。
- ただし、データベースのレプリケーションやバックアップの管理が別途必要です。このオプションだけではデータベースの可用性を確保するための完全な解決策とは言えません。
E. セカンダリリージョンにホットスタンバイデータベースを作成
- セカンダリリージョンにホットスタンバイデータベースを作成し、AWS Lambda関数を使用して最新のバックアップから復元する方法です。この方法は、RTOやRPOの要件を満たすことができますが、ホットスタンバイであれば、データベースの同期が常に行われている必要があり、これが効果的に機能するためにはレプリケーションの設定が重要です。
結論
RTOとRPOの要件を満たし、マルチリージョンの高可用性を確保するために必要な選択肢は A と D です。
- A は、セカンダリリージョンでのクロスリージョンレプリケーションと、Lambdaによるフェイルオーバーを使用して、迅速にサービスを復旧させる方法です。
- D は、Route 53を使用して自動的にトラフィックを切り替え、障害発生時の高可用性を提供します。
これらの組み合わせにより、両方の要件(RTO 15分、RPO 2時間)を満たす高可用性アーキテクチャを実現できます。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/17cd7ae8-88e2-80e7-b97c-cb64f99c654d
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章