Q9 — AWS SAA-C03 第12章
第 9/100 問 | ← 第12章
Q809. ある企業は、仮想マシン(VM)に基づくマルチティアの決済処理アプリケーションを運用しています。各ティア間の通信は、正確に1回だけ配信することを保証するサードパーティ製ミドルウェアソリューションを介して非同期で行われます。この企業は、インフラストラクチャ管理の負担が最小限で、アプリケーション内のメッセージングにおいて「正確に1回だけ配信(exactly-once delivery)」を保証するソリューションを必要としています。これらの要件を満たすためのアクションの組み合わせはどれですか?(2つ選択してください。)
- A. アーキテクチャ内のコンピュート層に AWS Lambda を使用します。 ✓
- B. アーキテクチャ内のコンピュート層に Amazon EC2 インスタンスを使用します。
- C. コンピュート層間のメッセージングコンポーネントとして Amazon Simple Notification Service(Amazon SNS)を使用します。
- D. コンピュート層間のメッセージングコンポーネントとして Amazon Simple Queue Service(Amazon SQS)FIFO キューを使用します。 ✓
- E. アーキテクチャ内のコンピュート層に Amazon Elastic Kubernetes Service(Amazon EKS)に基づくコンテナを使用します。
正解: A. アーキテクチャ内のコンピュート層に AWS Lambda を使用します。, D. コンピュート層間のメッセージングコンポーネントとして Amazon Simple Queue Service(Amazon SQS)FIFO キューを使用します。
解説
インフラストラクチャ管理の負担を最小限に抑えつつ、マルチティアの決済処理アプリケーションにおいてアプリケーション内メッセージングの「正確に1回だけ配信(exactly-once delivery)」を保証するソリューションを実現するには、以下の2つのアクションの組み合わせが推奨されます: A. アーキテクチャ内のコンピュート層に AWS Lambda を使用します。 D. コンピュート層間のメッセージングコンポーネントとして Amazon SQS FIFO キューを使用します。 1. AWS Lambda をコンピュート層に採用することで、仮想マシン(VM)の管理が不要になります。AWS Lambda はサーバーレスなコンピュートサービスであり、需要に応じて自動的にスケールし、実際に消費されたコンピュート時間のみ課金されるため、インフラストラクチャ管理のオーバーヘッドを大幅に削減できます。 2. メッセージングコンポーネントとして Amazon SQS FIFO キューを採用すると、「正確に1回だけ配信」が保証されます。FIFO キューはメッセージの順序を維持し、重複配信を防ぐことで、正確に1回だけの配信を保証します。サードパーティ製ミドルウェアは引き続き利用可能ですが、SQS FIFO キューを活用することで、信頼性と順序性を備えたメッセージ配信をシンプルに実現できます。 他の選択肢が要件に適合しない理由は以下の通りです: B. Amazon EC2 インスタンスをコンピュート層に使用すると、仮想マシンのプロビジョニング、モニタリング、スケーリングなど、インフラストラクチャ管理の負担が発生します。これは、自動スケーリングや管理負荷低減といったサーバーレスの利点を享受できないことを意味します。 C. Amazon SNS はパブリッシュ/サブスクライブ型のメッセージングサービスであり、「正確に1回だけ配信」を保証しません。メッセージの重複配信や順序保証ができないため、FIFO キューと比べて要件を満たしません。 E. Amazon EKS を基盤とするコンテナは、Kubernetes クラスターのセットアップ、スケーリング、保守など、依然として下位のインフラストラクチャ管理を必要とします。コンテナは抽象化を提供しますが、完全なサーバーレス環境とは異なり、管理負荷は残ります。 したがって、要件を満たす推奨されるアクションの組み合わせは: A. アーキテクチャ内のコンピュート層に AWS Lambda を使用します。 D. コンピュート層間のメッセージングコンポーネントとして Amazon SQS FIFO キューを使用します。