Q17 — AWS SAP-C02 第2章

第 17/75 問 | ← 第2章

Q167. ある企業では、オンプレミスでホストしているアプリケーションからメタデータを収集するサービスを利用しています。このアプリケーションには、テレビやインターネットラジオなどのエンドユーザー端末からアクセスされます。ただし、一部の古い端末は特定のHTTPヘッダーをサポートしておらず、これらのヘッダーがレスポンスに含まれているとエラーが発生します。企業は現在、オンプレミスのロードバランサーを設定し、User-Agent ヘッダーに基づいて古い端末を識別したうえで、それらへのレスポンスから非対応ヘッダーを削除しています。企業はこのサービスをAWSへ移行し、サーバーレス技術を採用したいと考えており、同時に古い端末への対応も維持したいとしています。すでにアプリケーションは一連のAWS Lambda関数へ移行済みです。これらの要件を満たすソリューションはどれですか?

正解: D. メタデータサービス向けにAmazon CloudFrontディストリビューションを作成します。Application Load Balancer(ALB)を作成し、CloudFrontディストリビューションがALBへリクエストを転送するよう設定します。ALBを設定して、各タイプのリクエストに対して適切なLambda関数を呼び出せるようにします。Lambda@Edge関数を作成し、User-Agentヘッダーの値に基づいて、ビューアーからのレスポンスにおいて問題のあるヘッダーを削除します。

解説

サーバーレス技術の採用と古い端末への対応という両方の要件を満たすには、Amazon CloudFrontとLambda@Edgeを組み合わせたソリューションが有効です。選択肢Dが正解です。これは、メタデータサービス向けにAmazon CloudFrontディストリビューションを作成し、そのリクエストをApplication Load Balancer(ALB)へ転送するよう設定するものです。ALBは各リクエストタイプに応じて適切なLambda関数を呼び出します。さらに、Lambda@Edge関数を活用することで、レスポンスがエンドユーザー端末(ビューアー)に送信される直前に、User-Agentヘッダーの値に基づいて問題のあるHTTPヘッダーを削除できます。これにより、古い端末との互換性が確保され、他の端末へのレスポンスには影響を与えません。このアプローチは、高速かつスケーラブルなコンテンツ配信を実現しつつ、運用負荷を最小限に抑え、古い端末への対応も維持できます。他の選択肢は、必要な機能を十分に提供しないか、過剰な設定を必要とするため、要件を完全には満たしません。