type
status
date
slug
summary
tags
category
icon
password
书籍
 

理論

1. 高可用性とスケーラビリティの重要性

  • 高可用性: アプリケーションが稼働し続けるためには、障害が発生してもダウンタイムを最小限に抑える必要があります。これを実現するためには、冗長性のあるアーキテクチャや、障害発生時に自動で回復する仕組みを取り入れることが求められます。
  • スケーラビリティ: 特にeコマースなど、トラフィックの増減が予測できないシステムでは、アプリケーションが柔軟にスケールできることが重要です。必要に応じてコンピューティングリソースを動的に増減させることができるアーキテクチャが求められます。

2. 疎結合なアーキテクチャ

  • 疎結合: コンポーネント間の依存性を最小限にし、障害が発生しても他の部分に影響を与えないようにする設計が重要です。AWSでは、Amazon SQSAWS Lambda などのサーバーレスサービスを使用することで、疎結合の設計が簡単に実現できます。

3. AWSサービスの利用

  • Amazon SQS (Simple Queue Service): スケーラブルで高可用なメッセージキューサービス。メッセージをキューに格納し、後続の処理で取り出して処理するため、システム全体の疎結合性を高め、耐障害性を確保できます。
  • AWS Lambda: サーバーレスコンピューティングサービスで、リクエストに基づいて自動的にスケールします。メッセージがSQSに到着すると自動的にLambda関数が起動し、必要な処理を行います。Lambdaは使用した分だけ料金が発生するため、トラフィックの変動にも柔軟に対応でき、コスト効率が高いです。

4. シンプルなシステム設計

  • システム設計をシンプルに保つことは、運用負荷を軽減し、問題が発生した際に迅速に対応できることを意味します。AWS LambdaとSQSを使用することで、サーバーレスでシンプルかつスケーラブルなシステムを構築できます。

結論

  • eコマースなど、トラフィックに変動があるシステムにおいては、Amazon SQSAWS Lambda の組み合わせが、高可用性スケーラビリティ疎結合 を実現する最適なアーキテクチャとなります。このアーキテクチャは、障害に強く、トラフィックの増減に柔軟に対応できます。

実践

一問道場

問題 #408
あるeコマース会社がITインフラを刷新し、AWSサービスを使用することを計画しています。同社のCIOは、ソリューションアーキテクトに、シンプルで高可用性かつ疎結合の注文処理アプリケーションの設計を依頼しました。このアプリケーションは、注文を受け取り処理した後、Amazon DynamoDBテーブルに格納する役割を担います。アプリケーションはまばらなトラフィックパターンを持ち、マーケティングキャンペーン中に注文を処理する際に遅延を最小限に抑えてスケールできる必要があります。
次のうち、要件を満たす最も信頼性の高いアプローチはどれですか?
A. Amazon EC2でホストされたデータベースに注文を受け取り、EC2インスタンスで処理する。
B. Amazon SQSキューで注文を受け取り、AWS Lambda関数を呼び出して処理する。
C. AWS Step Functionsプログラムを使用して注文を受け取り、Amazon ECSコンテナを起動して処理する。
D. Amazon Kinesis Data Streamsで注文を受け取り、Amazon EC2インスタンスで処理する。

解説

この問題では、シンプルで高可用性かつ疎結合な注文処理アプリケーションを設計するための最適なアプローチを選択する必要があります。重要な要素としては、以下の点が挙げられます:
  • 高可用性: システムがダウンしないように、スケーラブルで耐障害性のあるアーキテクチャが求められます。
  • 疎結合: コンポーネント間の依存関係が最小化されており、スケールしやすく、障害発生時にも影響を最小限に抑えられること。
  • スケーラビリティ: マーケティングキャンペーンなどの高トラフィックに対応できるように、トラフィック量に応じてスケールアップまたはスケールダウンできること。
これらの要素を考慮した上で、各選択肢を解説します。

選択肢の評価

A. Amazon EC2でホストされたデータベースに注文を受け取り、EC2インスタンスで処理する。
  • 問題点: EC2インスタンスを使用する方法は、スケーラビリティに制限があり、アプリケーションが急激にスケールする場合や障害が発生した場合に柔軟性が欠けます。高可用性や疎結合の要件に最適ではありません。
B. Amazon SQSキューで注文を受け取り、AWS Lambda関数を呼び出して処理する。
  • 最適な選択肢:
    • 高可用性: Amazon SQSは分散型で、耐障害性が高く、メッセージが失われることはありません。
    • 疎結合: SQSとLambdaを使用することで、注文受け取りと処理の間に明確な分離ができ、異常が発生しても他の部分への影響を最小限に抑えられます。
    • スケーラビリティ: Lambdaは自動的にスケールし、負荷が増えても適切に対応できます。
    • コスト効率: Lambdaはリクエスト数に応じて課金され、トラフィックが少ない時はコストを抑えられます。
C. AWS Step Functionsプログラムを使用して注文を受け取り、Amazon ECSコンテナを起動して処理する。
  • 問題点: Step FunctionsとECSコンテナの組み合わせはスケーラブルで強力ですが、セットアップが複雑であり、またLambdaに比べて管理が必要となります。シンプルなアーキテクチャを求めている場合、オーバーヘッドが増える可能性があります。
D. Amazon Kinesis Data Streamsで注文を受け取り、Amazon EC2インスタンスで処理する。
  • 問題点: Kinesisはリアルタイムデータストリーミングに強力ですが、EC2インスタンスを使用することで、スケーリングの柔軟性がやや欠け、管理の手間が増えます。また、注文処理のシンプルさを求めている場合には過剰なソリューションとなります。

結論

Bは最も信頼性が高く、シンプルでスケーラブルな解決策です。Amazon SQSとAWS Lambdaを使用することで、注文の受け取りと処理を効率的に分離し、高可用性と疎結合を実現できます。また、Lambdaは自動的にスケールし、負荷の増加に対応できるため、マーケティングキャンペーンなどのピークトラフィックにも適切に対応できます。
したがって、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
409-AWS SAP AWS 「理論・実践・一問道場」AWS Secrets Manager407-AWS SAP AWS 「理論・実践・一問道場」AWS Budgets
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 学习笔记

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

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

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