Q65 — AWS SAP-C02 第1章
第 65/75 問 | ← 第1章
Q140. 小売企業がAWS上でECサイトアプリケーションを運用しています。このアプリケーションは、Application Load Balancer(ALB)の背後に配置されたAmazon EC2インスタンスで実行され、データベースバックエンドとしてAmazon RDS DBインスタンスを使用しています。また、Amazon CloudFrontはALBを1つのオリジンとして設定されており、静的コンテンツがキャッシュされています。すべてのパブリックホストゾーンはAmazon Route 53でホストされています。アプリケーションの更新後、ALBが時折502ステータスコード(Bad Gateway)エラーを返すようになりました。根本原因は、ALBに返されるHTTPヘッダーの不正な形式です。ただし、ソリューションアーキテクトがエラー発生直後にページを再読み込みすると、ウェブページは正常に表示されます。企業がこの問題の修正作業を行っている間、ソリューションアーキテクトは訪問者に対して標準のALBエラーページではなく、カスタムエラーページを表示する必要があります。この要件を、**最小限の運用オーバーヘッド**で満たすための手順の組み合わせはどれですか?(該当する2つを選択してください。)
- A. Amazon S3バケットを作成します。このS3バケットを静的ウェブサイトホスティング用に設定し、カスタムエラーページをAmazon S3にアップロードします。 ✓
- B. Amazon CloudWatchアラームを作成し、ALBのヘルスチェック応答メトリクス「Target.FailedHealthChecks」が0より大きくなった場合にAWS Lambda関数を起動するように設定します。Lambda関数を設定して、ALBの転送ルールを変更し、パブリックにアクセス可能なウェブサーバーを指すようにします。
- C. 既存のAmazon Route 53レコードを変更し、ヘルスチェックを追加します。ヘルスチェックが失敗した場合のフォールバックターゲットを設定し、DNSレコードをパブリックにアクセス可能なウェブページを指すように変更します。
- D. Amazon CloudWatchアラームを作成し、ALBのヘルスチェック応答メトリクス「ELB.InternalError」が0より大きくなった場合にAWS Lambda関数を起動するように設定します。Lambda関数を設定して、ALBの転送ルールを変更し、パブリックにアクセス可能なウェブサーバーを指すようにします。
- E. CloudFrontのカスタムエラーページ機能を活用してカスタムエラー応答を追加します。DNSレコードをパブリックにアクセス可能なウェブページを指すように変更します。 ✓
正解: A. Amazon S3バケットを作成します。このS3バケットを静的ウェブサイトホスティング用に設定し、カスタムエラーページをAmazon S3にアップロードします。, E. CloudFrontのカスタムエラーページ機能を活用してカスタムエラー応答を追加します。DNSレコードをパブリックにアクセス可能なウェブページを指すように変更します。
解説
選択肢Aでは、Amazon S3バケットを静的ウェブサイトホスティング用に設定し、カスタムエラーページをホストすることで、設定・保守のオーバーヘッドが極めて少なくなります。エラー発生時にALBからS3バケット上のカスタムエラーページへリダイレクトするよう構成できます。選択肢Eでは、すでにECサイトアプリケーションで静的コンテンツのキャッシュに利用されているAmazon CloudFrontを活用し、カスタムエラーページを設定します。これも最小限の設定と保守で実現でき、さらにCloudFrontのグローバルエッジロケーションによる高速配信も可能になります。この2つの選択肢を組み合わせることで、障害発生時に訪問者にカスタムエラーページを表示しつつ、運用オーバーヘッドを最小限に抑えることができます。