Q69 — AWS ANS-C01 第1章

第 69/100 問 | ← 第1章

ある企業が、Application Load Balancer(ALB)の後ろで動作するWebアプリケーションをAmazon EC2インスタンス上でホストしています。ALBはAmazon CloudFrontディストリビューションのオリジンです。企業は、認証済み顧客にトークンを提供するカスタム認証システムを実装したいと考えています。 Webアプリケーションは、コンテンツを配信する前にGET/POSTリクエストが認証済み顧客から送信されたことを保証しなければなりません。ネットワークエンジニアは、Webアプリケーションが承認済み顧客を識別できるようにするソリューションを設計しなければなりません。 これらの要件を満たす最も運用効率の高いソリューションはどれですか?

正解: C. AWS Lambda@Edge関数を用いてGET/POSTリクエストペイロード内の認証済みトークンを検査します。Lambda@Edge関数を用いて、認証済み顧客リクエストであることをWebアプリケーションに通知するカスタマイズヘッダーも挿入します。

解説

CloudFrontのエッジロケーションで実行されるAWS Lambda@Edge関数を用いることで、リクエストがオリジンサーバー(EC2)に到達する前に認証トークンを検査し、カスタマイズヘッダーを挿入できます。これにより、認証済みユーザーのみがコンテンツにアクセスできるようになり、低遅延かつ高効率な運用が可能になります。Lambda@Edgeはユーザーに近い場所で実行されるため、レイテンシが低減され、ユーザーエクスペリエンスが向上します。また、運用上のオーバーヘッドも最小限に抑えられます。他の選択肢は、ALBやEC2での処理となるため、レイテンシ増加や運用負荷の増大を招きます。