An enterprise runs a high-throughput, memory-intensive backend application across multiple member accounts in AWS Organizations. The primary production compute environment in the main application account consists of:
- An Auto Scaling Group (ASG) of Amazon EC2 instances launched across Availability Zones using `m6g.2xlarge` instances ( vCPUs, GiB RAM). Performance metrics show an average CPU utilization of (peaking at ) and an average memory utilization of (peaking at ).
- Multiple microservices running on AWS Fargate tasks.
- An API routing layer using AWS Lambda.
All software is compiled specifically for the ARM64 architecture, and the application must maintain high availability across all Availability Zones with zero downtime. The company wants to optimize compute costs. Which of the following is the most cost-effective and architecturally sound strategy?
- Modify the EC2 launch template to use `r6g.xlarge` instances ( vCPUs, GiB RAM) to match the memory requirements without risking out-of-memory errors, and purchase a Compute Savings Plan in the AWS Organizations management account.Answer
- BModify the EC2 launch template to use `r6g.xlarge` instances ( vCPUs, GiB RAM) to match the memory requirements. Purchase an EC2 Instance Savings Plan for the `r6g` family in the AWS Organizations management account to cover the EC2 instances, while leaving Fargate and Lambda on On-Demand pricing.
- CModify the EC2 launch template to use `m6g.xlarge` instances ( vCPUs, GiB RAM) to reduce the compute cost. Use AWS Resource Access Manager (RAM) to share the unused instance capacity and savings benefits with external accounts outside the Organization.
- DModify the EC2 launch template to use `r6g.xlarge` instances ( vCPUs, GiB RAM). Consolidate outbound traffic by routing all traffic through a single NAT Gateway in one Availability Zone to eliminate redundant NAT Gateway hourly charges, and purchase a Compute Savings Plan in the management account.