Q46 — AWS SAA-C03 第16章

第 46/100 問 | ← 第16章

Q1246. ある会社が、Application Load Balancer(ALB)の後ろに配置されたAmazon EC2インスタンス上でWebアプリケーションをホストしています。トラフィックのルーティングにはAmazon Route 53を使用しています。また、同社はAmazon S3バケットで構成された静的ウェブサイトも保有しています。ソリューションアーキテクトは、この静的ウェブサイトをWebアプリケーションのバックアップとして使用する必要があります。静的ウェブサイトへのフェイルオーバーは、完全に自動化される必要があります。これらの要件を満たすために実行すべきアクションの組み合わせはどれですか?(2つ選択してください。)

正解: C. プライマリフェイルオーバールーティングポリシーレコードを作成し、その値をALBに設定します。また、このレコードをRoute 53のヘルスチェックに関連付けます。, E. セカンダリフェイルオーバールーティングポリシーレコードを作成し、その値を静的ウェブサイトに設定します。

解説

この要件では、ALB経由で動作するプライマリWebアプリケーション(EC2上)から、S3バケット上の静的ウェブサイトへ、自動的にフェイルオーバーさせる必要があります。これは、Route 53のフェイルオーバールーティング機能とヘルスチェックを活用して実現します。 主な要件: ・プライマリ(ALB)とセカンダリ(S3静的サイト)のエンドポイントを定義すること。 ・手動介入なしの完全自動フェイルオーバー。 ・プライマリの障害を検出するためのヘルスチェック。 ・Route 53によるトラフィック制御。 Route 53フェイルオーバールーティングの基本: ・プライマリレコード:ヘルスチェックが正常な場合に使用されます。 ・セカンダリレコード:プライマリがヘルスチェックに失敗した場合に使用されます。 ・ヘルスチェックは、**プライマリレコードにのみ関連付ける**必要があります(セカンダリは常に利用可能とみなされるため、通常はヘルスチェック不要です)。 各選択肢の検討: ・選択肢A:ヘルスチェックの関連付けがなく、自動フェイルオーバーは発生しません。不十分です。 ・選択肢B:Route 53がネイティブで提供する自動フェイルオーバー機能を無視し、Lambdaによるカスタム制御を導入するのは不要かつ過剰です。 ・選択肢C:ALBを指すプライマリレコード+ヘルスチェックの関連付け — 正解です。ALBの可用性を監視し、障害時に自動でトラフィックを停止させます。 ・選択肢D:セカンダリレコードにヘルスチェックを関連付けるのは誤りです。S3静的ウェブサイトは高可用性であり、通常はヘルスチェックを設定しません。 ・選択肢E:S3静的ウェブサイトを指すセカンダリレコード(ヘルスチェックなし)— 正解です。プライマリが失敗した際に、Route 53が自動でこのエンドポイントにトラフィックを振り向けます。 正解の組み合わせは「C」と「E」です。 これにより: ・ALBが健全な間は、トラフィックはALBへルーティングされます(C)。 ・ALBがヘルスチェックに失敗すると、Route 53は自動でS3静的ウェブサイト(E)へトラフィックを切り替えます。 他の組み合わせが不適切な理由: ・A+D:Aにはヘルスチェックがなく、Dには不要なヘルスチェックがあります。 ・A+E:Aにヘルスチェックが欠けており、フェイルオーバーがトリガーされません。 ・Bを含む任意の組み合わせ:Lambdaは不要です。 ・C+D:Dに不要なヘルスチェックが含まれており、設計ミスです。 ステップバイステップの実装: 1. ALBの可用性を監視するRoute 53ヘルスチェックを作成します。 2. プライマリフェイルオーバーレコード(C)を作成:タイプはAまたはALIAS(ALBを指す)、ルーティングポリシーは「フェイルオーバー」、フェイルオーバー種別は「PRIMARY」、作成したヘルスチェックを関連付けます。 3. セカンダリフェイルオーバーレコード(E)を作成:タイプはAまたはALIAS(S3バケットのエンドポイントを指す)、ルーティングポリシーは「フェイルオーバー」、フェイルオーバー種別は「SECONDARY」、ヘルスチェックは関連付けません。 4. ALBを一時的に停止するなどして、フェイルオーバー動作を検証します。この構成により、ユーザーへのダウンタイムなしで完全自動のフェイルオーバーが実現されます。