Q89 — AWS SAA-C03 第14章

第 89/100 問 | ← 第14章

Q1089. ある企業がソーシャルメディアアプリケーションを開発しています。同社は、ユーザー数およびデータ量の急激かつ予測困難な増加を予想しています。このアプリケーションは、継続的な高トラフィックなユーザー要求を処理する必要があります。ユーザー要求には、大量のユーザーコンテンツおよび関係形式(リレーショナル)で保存されるユーザープロファイルを格納する長時間実行型プロセスが含まれます。これらのプロセスは、特定の順序で実行される必要があります。同社は、需要の急増に応じてリソースをスケールできるアーキテクチャを必要としており、ダウンタイムやパフォーマンス劣化を一切許容しません。また、アプリケーションの各コンポーネントが他の部分に影響を与えることなく独立して進化できるようにする必要があります。 これらの要件を満たすAWSサービスの組み合わせはどれですか?

正解: A. Amazon Elastic Container Service(Amazon ECS)をAWS Fargate起動タイプで使用し、アプリケーションをデプロイします。データベースとしてAmazon RDSを使用します。コンポーネント間のメッセージ処理を非同期化するために、Amazon Simple Queue Service(Amazon SQS)を使用します。

解説

ソーシャルメディアアプリケーションの要件(スケーラビリティ、信頼性、長時間実行型プロセスの順序保証、コンポーネントの独立した進化)を満たすため、各選択肢を検討します。 A:Amazon ECS(Fargate起動タイプ)は、需要に応じた自動スケーリングを提供するサーバーレスなコンテナ実行環境です。Amazon RDSは、適切なインスタンスタイプと構成により、リレーショナルデータの格納・スケーリングに最適です。Amazon SQSは、クラウドアプリケーションのコンポーネントを非同期化するフルマネージドなメッセージキューであり、メッセージの順序保証と高ボリュームなメッセージ処理を確実に実現します。 B:ECS/FargateおよびRDSは適切ですが、Amazon SNSは主にメール・SMSなどの通知配信や、複数エンドポイントへのブロードキャストに使用され、メッセージの順序保証や信頼性の高い処理のための非同期化には不向きです。 C:DynamoDBは、極めて高い要求率に対応可能なフルマネージドNoSQLデータベースであり、DynamoDB Streams+Lambdaによるイベント駆動型処理、およびStep Functionsによる順序付きワークフロー管理も可能ですが、問題文で明記された「リレーショナル形式でのユーザープロファイル保存」という要件を満たしません(DynamoDBはNoSQLです)。 D:Elastic Beanstalk(自動スケーリング)およびRDSは有効ですが、SNSは前述の通り、厳密な順序制御や信頼性のあるメッセージ処理を必要とするコンポーネント間の非同期化には不適切です。 以上より、最も適切な選択肢はAです。これは、ECS/Fargateによるスケーラブルかつサーバーレスなコンテナ実行、RDSによるリレーショナルデータ管理、SQSによる信頼性・順序性を確保したコンポーネント間非同期化という、すべての要件を満たす設計です。