Q94 — AWS SAA-C03 第12章

第 94/100 問 | ← 第12章

Q894. ある企業は、Webアプリケーションのコンテンツへのアクセスを制限したいと考えています。同社は、AWSで利用可能な認可手法を用いてコンテンツを保護する必要があります。また、ログイン遅延が小さいサーバーレスな認証・認可アーキテクチャを実装したいと考えており、そのソリューションはWebアプリケーションと統合可能で、グローバルにWebコンテンツを配信できる必要があります。現在アプリケーションのユーザー数は少ないですが、今後ユーザー数が増加すると予想されています。これらの要件を満たすソリューションはどれでしょうか?

正解: A. Amazon Cognito を認証に設定します。認可には Lambda@Edge を実装します。Webアプリケーションをグローバルに配信するために Amazon CloudFront を設定します。

解説

正解は選択肢 A です。Amazon Cognito は、モバイルおよびWebアプリケーション向けのフルマネージドな認証・ユーザーマネジメントサービスであり、低遅延のサーバーレス認証を提供します。Lambda@Edge は、CloudFront のエッジロケーションで実行されるサーバーレス関数であり、リクエストの認可(例:JWT検証、カスタムヘッダーによるアクセス制御など)をエッジで実行できるため、低レイテンシかつグローバルな認可処理が可能です。CloudFront は、世界中のエッジロケーションから静的および動的コンテンツを高速かつ安全に配信できるCDNであり、グローバルなWebコンテンツ配信に最適です。他の選択肢は以下の理由で不適切です:B では、AWS Directory Service は主にエンタープライズ内でのAD統合向けであり、Webアプリケーション向けの低遅延認証には不向きで、Application Load Balancer はグローバルな配信ではなくリージョン単位の負荷分散に特化しています;C では、S3 Transfer Acceleration は大規模なS3オブジェクトのアップロード加速に特化しており、Webアプリケーションのグローバル配信には適しておらず、またLambdaはエッジではなくオリジン側で実行されるため、認可のレイテンシが高くなります;D では、Elastic Beanstalk はサーバーフルなPaaSであり、サーバーレス要件に反し、またDirectory Service と Lambda@Edge の組み合わせは、認証・認可フローの統合性や運用性に課題があります。