type
status
date
slug
summary
tags
category
icon
password
 

理論

AWS 災害復旧とパフォーマンス最適化のポイント


1. RDSリードレプリカ

  • 概要: Amazon RDSのリードレプリカは、読み取り専用のデータベースインスタンスを作成可能。
  • 利点:
    • 読み取りクエリを分散し、パフォーマンスを最適化。
    • マルチリージョンのレプリケーションで災害復旧にも対応。
  • 注意点: 災害時には手動でリードレプリカを昇格する必要がある。

2. S3クロスリージョンレプリケーション(CRR)

  • 概要: S3バケット間でデータを自動的に複製し、別リージョンに冗長性を確保。
  • 利点:
    • リアルタイムでデータを同期。
    • バケット間で災害対策が可能。

3. AMI(Amazon Machine Image)

  • 概要: EC2インスタンスのスナップショットを作成し、他リージョンにコピー可能。
  • 利点:
    • 新しいインスタンスを迅速に起動。
    • 災害時のリカバリーに有効。

4. 災害復旧の基本戦略

  • RPO(Recovery Point Objective): 許容できるデータ損失の最大値を定義。
    • 例: S3のCRRやRDSリードレプリカを使えば、RPOを最小化可能。
  • RTO(Recovery Time Objective): システムを復旧させる目標時間。
    • 例: AMIを使用すれば、短時間でシステムを復旧可能。

5. パフォーマンス最適化のアプローチ

  • ElastiCache: クエリをキャッシュし、データベース負荷を軽減。
  • リードレプリカ: 読み取り専用クエリを分離して、本番環境の性能を確保。

まとめ

AWSでは、RDSリードレプリカ、S3のCRR、AMIなどを組み合わせることで、災害復旧とパフォーマンス最適化を同時に達成できる。特にマルチリージョン構成は、データ損失を最小化し、迅速な復旧を可能にする強力なソリューションです。

実践

一問道場

問題 #462

ある企業が、単一のAWSリージョンで稼働している重要なアプリケーションの災害復旧を実装する必要があります。このアプリケーションのユーザーは、Application Load Balancer (ALB) の背後にあるAmazon EC2インスタンスにホストされたWebフロントエンドを介してアプリケーションとやり取りします。アプリケーションはAmazon RDS for MySQLデータベースに書き込みを行い、処理されたドキュメントをAmazon S3バケットに保存します。
この企業の財務チームは、データベースに直接クエリを実行してレポートを生成しますが、繁忙期にはこれらのクエリがリソースを消費し、アプリケーションのパフォーマンスに悪影響を与えています。
ソリューションアーキテクトは、災害時の復元性を提供するソリューションを設計する必要があります。このソリューションは、データ損失を最小限に抑え、財務チームのクエリによるパフォーマンス問題を解決する必要があります。
どのソリューションがこれらの要件を満たしますか?

A.

データベースをAmazon DynamoDBに移行し、DynamoDBグローバルテーブルを使用します。財務チームには、別のリージョンにあるグローバルテーブルをクエリするよう指示します。AWS Lambda関数を作成して、元のS3バケットの内容を別のリージョンにある新しいS3バケットに定期的に同期します。別のリージョンにEC2インスタンスを起動し、ALBを作成します。アプリケーションを新しいS3バケットに向けるように設定します。

B.

別のリージョンにアプリケーションをホストする追加のEC2インスタンスを起動します。それらのインスタンスを既存のALBに追加します。別のリージョンでRDS DBインスタンスのリードレプリカを作成します。財務チームには、このリードレプリカに対してクエリを実行するよう指示します。元のS3バケットから別のリージョンにある新しいS3バケットへのS3クロスリージョンレプリケーション(CRR)を設定します。災害時には、リードレプリカをスタンドアロンDBインスタンスに昇格させます。アプリケーションを新しいS3バケットと昇格したリードレプリカに向けるように設定します。

C.

別のリージョンでRDS DBインスタンスのリードレプリカを作成します。財務チームには、このリードレプリカに対してクエリを実行するよう指示します。アプリケーションフロントエンドをホストするEC2インスタンスのAMIを作成し、そのAMIを別のリージョンにコピーします。元のS3バケットから別のリージョンにある新しいS3バケットへのS3クロスリージョンレプリケーション(CRR)を設定します。災害時には、リードレプリカをスタンドアロンDBインスタンスに昇格させます。AMIからEC2インスタンスを起動し、ALBを作成してエンドユーザーにアプリケーションを提供します。アプリケーションを新しいS3バケットに向けるように設定します。

D.

RDS DBインスタンスのスナップショットを毎時作成し、それを別のリージョンにコピーします。既存のRDSデータベースの前にAmazon ElastiCacheクラスターを追加します。アプリケーションフロントエンドをホストするEC2インスタンスのAMIを作成し、そのAMIを別のリージョンにコピーします。元のS3バケットから別のリージョンにある新しいS3バケットへのS3クロスリージョンレプリケーション(CRR)を設定します。災害時には、最新のRDSスナップショットからデータベースを復元します。AMIからEC2インスタンスを起動し、ALBを作成してエンドユーザーにアプリケーションを提供します。アプリケーションを新しいS3バケットに向けるように設定します。

解説


設問のポイント

  1. 災害復旧 (Disaster Recovery)
      • 別のAWSリージョンでアプリケーションとデータを冗長化する必要があります。
      • データ損失を最小限に抑える設計が求められます。
  1. パフォーマンス問題の解消
      • 財務チームのクエリがアプリケーション性能に悪影響を及ぼさないようにする必要があります。

選択肢の評価

A. DynamoDBに移行し、グローバルテーブルを使用する

  • メリット
    • DynamoDBはスケーラブルであり、グローバルテーブルによりデータの冗長化が簡単に可能。
  • デメリット
    • データベースをDynamoDBに移行するため、アプリケーションコードの変更が必要。この問題では「アプリケーションコードの変更なし」が前提条件。
→ 条件に合わないため、不適切。

B. 別リージョンにリードレプリカを作成し、RDSを昇格させる

  • メリット
    • RDSのリードレプリカを使用することで、財務チームのクエリを分離し、パフォーマンスを改善できる。
    • クロスリージョンレプリケーションによりデータ損失を最小化。
  • デメリット
    • ALBに別リージョンのEC2インスタンスを追加するのは現実的ではない(異なるリージョン間でロードバランシングはサポートされていない)。
→ ALBの設計に不備があるため、不適切。

C. 別リージョンにリードレプリカを作成し、AMIをコピーする

  • メリット
    • RDSのリードレプリカを使用することで、財務チームのクエリを本番環境から分離できる。
    • S3のクロスリージョンレプリケーションにより、ストレージデータの同期を確保。
    • 災害発生時にはリードレプリカを昇格し、AMIから新しいEC2インスタンスを立ち上げることで復旧が可能。
  • デメリット
    • 災害発生時に手動でリードレプリカを昇格させる必要がある。
→ 条件を満たすため、適切。

D. RDSスナップショットとElastiCacheを使用する

  • メリット
    • ElastiCacheにより、クエリのパフォーマンス問題を解消可能。
    • スナップショットを別リージョンにコピーすることでデータ損失を最小限に抑えられる。
  • デメリット
    • スナップショットの復元には時間がかかるため、RPO(復旧ポイント目標)が緩和される可能性がある。
    • リアルタイムのデータ同期が行われないため、データ損失リスクが若干高い。
→ データ損失リスクがあるため、不適切。

正解: C

Cは災害復旧とパフォーマンス問題解消の両方に対応しており、要件を最も適切に満たします。

補足知識

  1. RDSリードレプリカ
      • 読み取り専用のクエリを別のインスタンスにオフロード可能。マルチリージョンでのデータ同期も可能。
  1. S3クロスリージョンレプリケーション(CRR)
      • S3バケット間でデータを自動的に複製し、冗長性を確保する機能。
  1. AMI(Amazon Machine Image)
      • EC2インスタンスの状態を保存し、他リージョンにコピーすることで迅速な復旧が可能。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
463-AWS SAP AWS 「理論・実践・一問道場」PrivateLink NLB461-AWS SAP AWS 「理論・実践・一問道場」Elastic Beanstalk ウェブサイトの移行
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签