type
status
date
slug
summary
tags
category
icon
password
书籍
 

理論

1. メッセージングサービスの活用

  • Amazon SQS (Simple Queue Service) は、非同期的なメッセージキューイングサービスで、システムの耐障害性を高めるために活用されます。処理が失敗した場合でも、メッセージをキューに保存し、後で処理できるため、データの損失を防ぐことができます。
  • デッドレターキュー (DLQ) は、失敗したメッセージを保存する専用のキューです。失敗した処理を分析し、手動で再処理できるようにするための重要なツールです。

2. 冗長性とスケーラビリティ

  • システムの冗長性を確保することで、障害が発生しても別のインスタンスやサービスが処理を引き継げるようになります。例えば、SQSを使うことでメッセージを一時的に保存し、複数の処理ユニット(Lambda関数など)で並行して処理することが可能です。
  • スケーラビリティの確保も重要です。負荷が高くなるとサービスが過負荷になるため、自動スケーリング並列処理を使ってシステムの負荷分散を行うことが求められます。

3. リトライと再試行ポリシー

  • 処理が失敗した場合に備えて、リトライポリシー再試行メカニズムを組み込むことが重要です。失敗したメッセージを一定回数リトライし、最終的に失敗した場合にはデッドレターキューに送る設計が一般的です。

4. イベント駆動型アーキテクチャ

  • Amazon EventBridgeAWS Lambda は、イベント駆動型のシステムでのエラーハンドリングを効率化します。イベントが失敗した場合でも、他のシステムに影響を与えずに後続処理を行うための柔軟性を提供します。

5. モニタリングとアラート

  • システムの監視が欠かせません。Amazon CloudWatch を使って、SQSのキューの長さやLambda関数の実行時間、失敗率を監視し、問題が発生する前に通知を受け取れるようにすることで、迅速に対処できます。

このようなアーキテクチャやサービスを活用することで、システムの耐障害性を強化し、予期しない障害に備えることができます。
 

実践

一問道場

ある企業が、数千の気象観測所からの気象データを分析するソリューションを持っています。気象観測所はデータをAmazon API Gateway REST API経由で送信し、そのAPIはAWS Lambda関数と統合されています。Lambda関数は、データの前処理のためにサードパーティサービスを呼び出します。しかし、サードパーティサービスが過負荷になり、前処理が失敗し、データが失われています。
ソリューションアーキテクトは、ソリューションのレジリエンシー(耐障害性)を改善する必要があります。ソリューションアーキテクトは、データが失われることなく、失敗が発生した場合に後でデータを処理できることを確保する必要があります
この要件を満たすために、ソリューションアーキテクトは何をすべきですか?
A. Amazon Simple Queue Service (Amazon SQS) キューを作成し、そのキューをAPIのデッドレターキューとして設定します。
B. 2つのAmazon Simple Queue Service (Amazon SQS) キューを作成します。1つはプライマリキュー、もう1つはセカンダリキューです。セカンダリキューをプライマリキューのデッドレターキューとして設定します。APIを新しい統合に更新し、プライマリキューを使用します。Lambda関数をプライマリキューの呼び出しターゲットとして設定します。
C. 2つのAmazon EventBridge イベントバスを作成します。1つはプライマリイベントバス、もう1つはセカンダリイベントバスです。APIを新しい統合に更新し、プライマリイベントバスを使用します。プライマリイベントバスのすべてのイベントに反応するEventBridgeルールを設定し、そのルールのターゲットとしてLambda関数を指定します。Lambda関数の失敗先としてセカンダリイベントバスを設定します。
D. カスタムAmazon EventBridgeイベントバスを作成し、Lambda関数の失敗先としてそのイベントバスを設定します。

解説

B. 2つのAmazon Simple Queue Service (Amazon SQS) キューを作成します。1つはプライマリキュー、もう1つはセカンダリキューです。セカンダリキューをプライマリキューのデッドレターキューとして設定します。APIを新しい統合に更新し、プライマリキューを使用します。Lambda関数をプライマリキューの呼び出しターゲットとして設定します。

この選択肢の解説:

  1. プライマリキューとセカンダリキューを使うことで、リクエストが失敗した場合にセカンダリキューにデータを移し、後で処理を再試行できます。これにより、データの損失を防ぎ、後で再処理を行うレジリエンシーを強化できます。
  1. デッドレターキューとしてセカンダリキューを使用することによって、プライマリキューが正常に処理できなかったリクエストを後で処理するためのエラーハンドリングが行われます。この方法では、処理失敗時のメッセージを追跡し、再処理の際に手動で問題を修正できるため、確実にデータを失うことなく処理を行えます。

Bのメリット:

  • 失敗したリクエストをセカンダリキューに保存し、後で再処理を行えるため、データ損失の防止が可能です。
  • 複数のキューを使用することで、処理の優先度を分けることができます(プライマリとセカンダリの使い分け)。
  • エラーハンドリングの柔軟性を持たせることができ、失敗したリクエストに対して手動で対応できる場面が増えます。

Aとの比較:

  • Aの選択肢では、SQSをデッドレターキューとして使用する方法が提案されています。こちらも有効ですが、Bの方法では、より高い柔軟性を持って複数のキューを使用することで、失敗時にさらに多くの制御を持たせることができます。

結論:

Bは、データの損失を防ぎつつ、失敗したデータの処理を後で行うために適切なアーキテクチャです。特に、プライマリキューとセカンダリキューを使い分けることで、エラーハンドリングの手法を強化できるため、こちらのアプローチが最適であると言えます。
相关文章
クラウド技術の共有 | 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
381-AWS SAP AWS 「理論・実践・一問道場」X-Ray APPパフォーマンス379-AWS SAP AWS 「理論・実践・一問道場」AWS Organizations
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
35条書面-64問-1
2025年6月13日
TOKYO自習島
2025年6月10日
平成26年秋期 午後問1
2025年6月6日
令和5年秋期 午後問1
2025年6月6日
令和2年秋期 午後問1
2025年6月6日
業務上の規制-87問-1
2025年6月4日
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享在 IT・MBA・不动产中介 等领域的学习与实践,并推动 学习会 的自主开展。
📖 博客语言使用比例
🇯🇵 日语 90% 🇨🇳 中文 8% 🇬🇧 英语 2%

📚 主要内容

💻 IT・系统与开发

  • 系统管理:Red Hat 等
  • 容器与编排:Kubernetes、OpenShift
  • 云计算:AWS、IBM Cloud
  • AI 入门:人工智能基础与实践
  • 技术笔记与考证经验

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

  • 管理学、经济学、财务分析等

🔍 快速查找内容(标签分类)

由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
📌 定期更新,欢迎常来看看!
📬 有任何建议或想法,也欢迎留言交流!