Q10 — AWS SAA-C03 第15章
第 10/100 問 | ← 第15章
Q1110. ある企業が、ユーザー数の急激な増加を経験しているSNSアプリケーションを運用しています。現在のアーキテクチャでは、tファミリーのAmazon EC2インスタンスを使用していますが、ユーザーによる投稿や画像の増加に対応できず、ピーク時のパフォーマンスが低下しています。ソリューションアーキテクトは、このパフォーマンス問題を解決し、利用状況の増加に応じてスケール可能な新しいアーキテクチャを設計する必要があります。これらの要件を満たすとともに、運用オーバーヘッドが最も少ないソリューションはどれですか?
- A. 同じファミリーで最も大きなAmazon EC2インスタンスを使用してアプリケーションをホストします。このインスタンス上にリレーショナルデータベースをインストールし、すべてのアカウント情報および投稿・画像を保存します。
- B. Amazon Simple Queue Service (Amazon SQS) を使用して受信投稿をバッファリングします。同じファミリーでより大きなEC2インスタンスを使用してアプリケーションをホストします。アカウント情報はAmazon DynamoDBに保存し、投稿および画像はEC2インスタンスのローカルファイルシステムに保存します。
- C. Amazon API Gateway の REST API および AWS Lambda 関数を使用してリクエストを処理します。アカウント情報はAmazon DynamoDBに保存し、投稿および画像はAmazon S3に保存します。 ✓
- D. 同じファミリーの複数のEC2インスタンスをデプロイし、Application Load Balancer を使用してトラフィックを分散します。アカウント情報および投稿・画像の保存には共有ファイルシステムを使用します。
正解: C. Amazon API Gateway の REST API および AWS Lambda 関数を使用してリクエストを処理します。アカウント情報はAmazon DynamoDBに保存し、投稿および画像はAmazon S3に保存します。
解説
ユーザー数が急速に増加するSNSアプリケーションのパフォーマンス問題とスケーラビリティ要件に対応するには、運用オーバーヘッドを最小限に抑えつつ、増大する負荷を効果的に処理できるソリューションを検討する必要があります。各選択肢を評価します。 A:単一EC2インスタンスへの垂直スケーリング(より大きなインスタンスへの変更)は、コスト増加や単一障害点のリスク、パフォーマンスボトルネックの発生といった課題があります。また、すべてのデータ(アカウント、投稿、画像)を1台のインスタンス上に格納するのは非推奨です。 B:Amazon SQSによる受信投稿のバッファリングは、疎結合とスケーリングにおいて有効ですが、投稿・画像をEC2インスタンスのローカルファイルシステムに保存するのは、スケーラビリティと信頼性の面で問題があります。DynamoDBによるアカウント情報の管理は適切ですが、全体としてAWSのマネージドサービスを十分に活用したアーキテクチャとは言えません。 C:API GatewayとLambdaによるサーバーレスアーキテクチャは、運用オーバーヘッドを最小限に抑えます。API GatewayおよびLambda関数はリクエスト数に応じて自動的にスケールし、DynamoDBおよびAmazon S3は高度にスケーラブルかつ完全にマネージドされたサービスであるため、インフラの管理・スケーリング作業が不要です。これは、急激なユーザー増加に対応する上で堅牢かつコスト効率の高いソリューションです。 D:複数のEC2インスタンスとApplication Load Balancerの導入は負荷分散に有効ですが、アカウント情報および投稿・画像の保存に共有ファイルシステムを用いることで、複雑さと潜在的なパフォーマンスボトルネックが生じます。また、複数のEC2インスタンスの管理は、完全にマネージドなサービスを利用する場合と比較して、運用オーバーヘッドが大きくなります。 以上より、要件を満たしつつ運用オーバーヘッドが最も少ないソリューションは、 C:Amazon API Gateway の REST API および AWS Lambda 関数を使用してリクエストを処理し、アカウント情報をAmazon DynamoDBに、投稿および画像をAmazon S3に保存するソリューションです。このサーバーレスアーキテクチャは、AWSのマネージドサービスを活用して利用状況に自動的にスケールし、運用オーバーヘッドを最小化するとともに、スケーラビリティと信頼性を最大化します。