Which solution will meet these requirements?
Configure the Auto Scaling group to deploy c6g.4xlarge (compute optimized) instances. Configure a minimum capacity of 3, a desired capacity of 3, and a maximum capacity of 12.
Configure the Auto Scaling group to deploy m6g.4xlarge (general purpose) instances. Configure a minimum capacity of 3, a desired capacity of 3, and a maximum capacity of 12.
Configure the Auto Scaling group to deploy r6g.4xlarge (memory optimized) instances. Configure a minimum capacity of 3, a desired capacity of 3, and a maximum capacity of 12.
Configure the Auto Scaling group to deploy r6g.8xlarge (memory optimized) instances. Configure a minimum capacity of 2, a desired capacity of 2, and a maximum capacity of 6.
Explanations:
Deploying c6g.4xlarge instances is not ideal since they are compute optimized, and the application’s memory consumption is more critical based on the initial metrics. Additionally, reducing the instance size may lead to performance issues as memory requirements are not being met.
While m6g.4xlarge instances are general-purpose and could handle both CPU and memory workloads, the original deployment was memory optimized. Switching to general-purpose instances may not address the specific memory utilization needs, which is important given the analysis of the game’s performance.
Deploying r6g.4xlarge instances maintains a focus on memory optimization, matching the original instance type and addressing the application’s primary needs. Setting a minimum capacity of 3 allows for some redundancy, while the maximum of 12 aligns with the previous deployment capacity, providing scalability based on demand.
Configuring r6g.8xlarge instances increases capacity per instance unnecessarily and may result in higher costs without a proportional increase in performance, given that the initial analysis showed that memory consumption was significantly below expectations. The minimum capacity of 2 also does not utilize the previous instance fleet’s capability effectively.