ある企業が5台のAmazon EC2インスタンスにアプリケーションをデプロイした。アプリケーションロードバランサー(ALB)は、ターゲットグループを使用してインスタンスにトラフィックを分散する。ソリューションアーキテクトは、アプリケーションのスケーラビリティを自動化するソリューションを実装する必要がある。ソリューションアーキテクトは、アプリケーションのスケーラビリティを自動化するソリューションを実装する必要があります。このソリューションは、アーキテクチャのコストを最適化し、サージが発生したときにアプリケーションが十分なCPUリソースを確保する必要があります。
A. CPUUtilizationメトリックが20%未満のときにALARMステートに入るAmazon CloudWatchアラームを作成する。CloudWatchアラームがALBターゲットグループのEC2インスタンスの1つを終了するために呼び出すAWS Lambda関数を作成する。
B. EC2 Auto Scalingグループを作成する。ロードバランサーとして既存のALBを選択し、ターゲットグループとして既存のターゲットグループを選択する。ASGAverageCPUUtilizationメトリックに基づくターゲット追跡スケーリングポリシーを設定する。最小インスタンスを2、希望容量を3、最大インスタンスを6、目標値を50%に設定する。EC2インスタンスをAuto Scalingグループに追加する。
C. EC2 Auto Scalingグループを作成する。ロードバランサーとして既存のALBを選択し、ターゲットグループとして既存のターゲットグループを選択する。最小インスタンスを2、希望容量を3、最大インスタンスを6に設定する。EC2インスタンスをAuto Scalingグループに追加する。
D. 2つのAmazon CloudWatchアラームを作成する。最初のCloudWatchアラームを、平均CPUUtilizationメトリックが20%未満のときにALARM状態になるように構成する。2つ目のCloudWatchアラームは、平均CPUUtilizationメトリックが50%以上のときにALARMステートになるように構成する。Amazon Simple Notification Service (Amazon SNS)トピックにパブリッシュしてメールメッセージを送信するようにアラームを構成する。メッセージを受信したら、ログインして実行中のEC2インスタンスの数を減らすか増やす。