Q90 — AWS DVA-C02 第2章
第 90/100 問 | ← 第2章
開発者は、ユーザーがスマートフォンの写真をクラウドに保存できるアプリケーションを開発しています。このアプリケーションは、多数のユーザーをサポートする必要があります。アプリケーションは、AWS Lambda関数と統合されたAmazon API Gateway REST APIを使用して写真を処理し、写真の詳細情報をAmazon DynamoDBに保存します。 ユーザーはアプリケーションにアクセスする前にアカウントを作成する必要があります。アプリケーション内では、ユーザーが写真をアップロードし、以前にアップロードした写真を取得できる必要があります。写真のサイズは300KBから5MBまで変動します。 この要件を最小限の運用コストで満たす解決策はどれですか?
- A. Amazon Cognitoユーザープールを使用してユーザー アカウントを管理する。API GatewayでAmazon Cognitoユーザープール認可者を作成し、APIへのアクセスを制御する。Lambda関数を使用して写真および詳細情報をDynamoDBテーブルに保存する。以前にアップロードされた写真をDynamoDBテーブルから直接取得する。
- B. Amazon Cognitoユーザープールを使用してユーザー アカウントを管理する。API GatewayでAmazon Cognitoユーザープール認可者を作成し、APIへのアクセスを制御する。Lambda関数を使用して写真をAmazon S3に保存する。S3オブジェクトのキーを写真の詳細情報の一部としてDynamoDBテーブルに保存する。DynamoDBからS3キーを照会して、以前にアップロードされた写真を取得する。 ✓
- C. アプリケーションの各ユーザー登録時にIAMユーザーを作成する。IAM認証を使用してAPI Gateway APIにアクセスする。Lambda関数を使用して写真をAmazon S3に保存する。S3オブジェクトのキーを写真の詳細情報の一部としてDynamoDBテーブルに保存する。DynamoDBからS3キーを照会して、以前にアップロードされた写真を取得する。
- D. DynamoDBにユーザー テーブルを作成する。このテーブルを使用してユーザー アカウントを管理する。ユーザー テーブルに基づいてユーザー資格情報を検証するLambda認可者を作成する。API Gatewayと統合してAPIへのアクセスを制御する。Lambda関数を使用して写真をAmazon S3に保存する。S3オブジェクトのキーを写真の詳細情報の一部としてDynamoDBテーブルに保存する。DynamoDBからS3キーを照会して、以前にアップロードされた写真を取得する。
正解: B. Amazon Cognitoユーザープールを使用してユーザー アカウントを管理する。API GatewayでAmazon Cognitoユーザープール認可者を作成し、APIへのアクセスを制御する。Lambda関数を使用して写真をAmazon S3に保存する。S3オブジェクトのキーを写真の詳細情報の一部としてDynamoDBテーブルに保存する。DynamoDBからS3キーを照会して、以前にアップロードされた写真を取得する。
解説
このユースケースでは、大量のユーザーの登録および認証を容易に処理できるAmazon Cognitoユーザープールを使用することで、管理の複雑さを低減できます。写真をAmazon S3に保存することで、サイズの異なる写真の保存要件に柔軟に対応でき、コスト効率が高く、スケーラビリティも優れています。また、S3キーをDynamoDBテーブルに写真の詳細情報として保存することで、DynamoDBのクエリを通じてS3キーを取得し、写真を取得することが容易になります。他の選択肢と比較して、選択肢Bは最小限の運用コストで要件を満たすため、正解はBです。