Q99 — AWS SAA-C03 第12章

第 99/100 問 | ← 第12章

Q899. ある会社が、単一のアベイラビリティーゾーン内で実行される Amazon EC2 インスタンス上にアプリケーションをホストしています。このアプリケーションは、Open Systems Interconnection(OSI)モデルのトランスポート層を介してアクセス可能です。同社は、アプリケーションのアーキテクチャに高い可用性(High Availability)を実現する必要があります。これらの要件を、最もコスト効率よく満たすための手順の組み合わせはどれですか?(2つ選択してください。)

正解: B. EC2 インスタンスの前に Network Load Balancer を設定します。, D. EC2 インスタンス用の Auto Scaling グループを作成します。Auto Scaling グループが複数のアベイラビリティーゾーンを使用するよう設定し、インスタンスに対してアプリケーションのヘルスチェックを実行するよう構成します。

解説

Amazon EC2 インスタンス上でホストされるアプリケーションの可用性を高めるには、以下の2つの手順が有効です。 B. EC2 インスタンスの前に Network Load Balancer(NLB)を設定する。 NLB を導入することで、トラフィックを複数の EC2 インスタンスに均等に分散できます。NLB は、同一または複数のアベイラビリティーゾーン内の健全なインスタンスに自動的にトラフィックをルーティングするため、1つのインスタンスやアベイラビリティーゾーンが利用不能になってもアプリケーションへのアクセスを維持できます。 D. EC2 インスタンス用の Auto Scaling グループ(ASG)を作成し、複数のアベイラビリティーゾーンを対象とし、インスタンスに対してアプリケーションのヘルスチェックを有効化する。 ASG を活用すれば、需要やヘルス状態に応じて EC2 インスタンス数を自動調整できます。複数のアベイラビリティーゾーンにインスタンスを分散させることで、1つのデータセンターの障害に対しても耐性を持たせられます。さらに、アプリケーションレベルのヘルスチェックを有効にすることで、不健全なインスタンスを自動的に置き換えることができ、可用性がさらに向上します。 A は、別のアベイラビリティーゾーンにインスタンスを追加し Route 53 でトラフィックを分散させる手法ですが、これは可用性を一定程度確保できますが、NLB と ASG を組み合わせた場合と比べて自動化・スケーラビリティに劣り、Route 53 の利用による追加コストや管理負荷も発生するため、最もコスト効率の良い選択肢ではありません。 C は、TCP トラフィックには NLB、HTTP/HTTPS トラフィックには Application Load Balancer(ALB)を併用する提案ですが、用途に応じた柔軟性は得られますが、不要な複雑さとコスト増を招く可能性があり、単一の NLB で十分な可用性が得られるため、コスト効率という観点では最適ではありません。 E は、CloudWatch アラームで停止状態のインスタンスを再起動する手法ですが、これは単一インスタンスの復旧には有効でも、複数インスタンス間や複数アベイラビリティーゾーン間でのトラフィック分散を実現せず、可用性の根本的な向上にはつながりません。また、単純な再起動は、根本原因の解消や即時性の面で不十分な場合もあり、最も適切な選択肢とは言えません。 以上より、コスト効率よく EC2 上のアプリケーションの可用性を高めるには、EC2 インスタンスの前に Network Load Balancer を配置する(選択肢 B)ことと、複数のアベイラビリティーゾーンを跨ぎ、アプリケーションのヘルスチェックを有効化した Auto Scaling グループを構成する(選択肢 D)ことが推奨されます。