Q13 — AWS SAA-C03 第10章
第 13/100 問 | ← 第10章
Q613. ある企業が AWS 上で Web アプリケーションを構築したいと考えています。クライアントからのアクセス要求は予測できず、長時間アイドル状態になる可能性があります。また、サブスクリプション料金を支払った顧客のみがサインインしてアプリケーションを利用できるようにする必要があります。 これらの要件を最もコスト効率よく満たすための手順の組み合わせはどれですか?(3つ選択してください。)
- A. Amazon DynamoDB からユーザー情報を取得する AWS Lambda 関数を作成します。RESTful API を受け付ける Amazon API Gateway エンドポイントを作成し、API 呼び出しをその Lambda 関数に送信します。 ✓
- B. Amazon RDS からユーザー情報を取得する Amazon Elastic Container Service(Amazon ECS)サービスを Application Load Balancer の後ろに配置します。RESTful API を受け付ける Amazon API Gateway エンドポイントを作成し、API 呼び出しを Lambda 関数に送信します。
- C. ユーザー認証のための Amazon Cognito ユーザープールを作成します。 ✓
- D. ユーザー認証のための Amazon Cognito ID プール(Identity Pool)を作成します。
- E. HTML、CSS、JavaScript を用いたフロントエンド Web コンテンツを AWS Amplify でホスティングします。統合された Amazon CloudFront 設定を使用します。 ✓
- F. PHP、CSS、JavaScript を用いたフロントエンド Web コンテンツを Amazon S3 の静的ウェブサイトホスティングで提供し、Amazon CloudFront を使用して配信します。
正解: A. Amazon DynamoDB からユーザー情報を取得する AWS Lambda 関数を作成します。RESTful API を受け付ける Amazon API Gateway エンドポイントを作成し、API 呼び出しをその Lambda 関数に送信します。, C. ユーザー認証のための Amazon Cognito ユーザープールを作成します。, E. HTML、CSS、JavaScript を用いたフロントエンド Web コンテンツを AWS Amplify でホスティングします。統合された Amazon CloudFront 設定を使用します。
解説
要件(予測不能なアクセス、長時間のアイドル、有料サブスクライバー限定の認証アクセス)を最もコスト効率よく満たす組み合わせは、以下の3つのオプションです:A、C、E。 理由: ・オプションAでは、サーバーレスである AWS Lambda と Amazon DynamoDB を活用し、API Gateway 経由で RESTful API を提供します。リクエストに応じてスケールし、アイドル時にも課金されないため、コスト効率が極めて高いです。 ・オプションCの Amazon Cognito ユーザープールは、サインアップ/サインイン/認証を完全マネージドで実現し、サブスクリプション制御やカスタム認証フローとの連携も容易です。Web アプリケーション向けのユーザー管理に最適です。 ・オプションEの AWS Amplify は、静的フロントエンド(HTML/CSS/JS)を簡単にホスティング可能で、CloudFront との統合により低レイテンシ・高可用性・キャッシュ最適化を実現します。サーバー管理不要であり、トラフィックに比例した課金となるため、予測不能なアクセスにも非常にコスト効率的です。 一方、他の選択肢には以下のような課題があります: ・オプションBは、Amazon ECS と RDS を使用するため、常に稼働するコンテナやデータベースインスタンスの維持コストが発生し、アイドル時間が長いケースでは過剰な支出につながります。 ・オプションDの Cognito ID プールは、AWS リソースへの一時的なアクセス許可(例:S3 へのアップロード)に適しており、Web アプリケーションのエンドユーザー認証にはユーザープール(C)が標準かつ適切です。 ・オプションFの Amazon S3 静的ホスティングは、PHP の実行をサポートしません(S3 は静的コンテンツのみ)。また、認証機能や動的バックエンドとの統合が本質的に不足しており、要件を満たしません。 以上より、サーバーレスアーキテクチャ(Lambda+API Gateway)、マネージド認証(Cognito ユーザープール)、および最適化されたフロントエンドホスティング(Amplify+CloudFront)の組み合わせ(A・C・E)が、コスト効率・スケーラビリティ・運用簡易性のすべてにおいて最適解です。