Question

Difficulty: HardOptimizing Resource Costs and Sizing

An enterprise manages two AWS accounts within an organization in AWS Organizations with consolidated billing enabled:

- Account A runs a microservices application utilizing AWS Fargate tasks and AWS Lambda functions to process bursty, unpredictable customer requests. It also runs a production Amazon RDS for MySQL database. The database CPU utilization averages 12%12\% over a 30-day30\text{-day} period, while its database buffer pool usage remains constant at 85%85\%.
- Account B runs a legacy backend service on a steady-state fleet of Amazon EC2 `m6i.2xlarge` instances (8 vCPUs8\text{ vCPUs}, 32 GiB32\text{ GiB} memory) in an Auto Scaling group across three Availability Zones. Average CPU utilization is 38%38\% and memory utilization is 28%28\%. Outbound traffic for these instances is routed through a single NAT Gateway in one Availability Zone to minimize gateway hour costs.

The enterprise wants to optimize its resource costs and sizing while maintaining strict high availability, application performance, and minimizing operational overhead.

Which two recommendations should a solutions architect make to achieve these goals?

  1. Purchase Compute Savings Plans in the AWS Organizations management account to automatically apply discounts to the EC2 instances, Fargate tasks, and Lambda functions across all member accounts.Answer
  2. Modify the EC2 Auto Scaling group launch template in Account B to use `m6i.xlarge` instances (4 vCPUs4\text{ vCPUs}, 16 GiB16\text{ GiB} memory), and adjust the scaling policies based on CPU utilization.Answer
  3. C
    Purchase EC2 Instance Savings Plans at the management account level to cover the EC2 instances, and count on them to automatically apply to the Fargate tasks and Lambda functions in Account A.
  4. D
    Use AWS Resource Access Manager (RAM) to share the Savings Plans purchased in the management account with Account A and Account B to enable discount sharing across the organization.
  5. E
    Retain the single NAT Gateway routing configuration in Account B to minimize NAT Gateway hourly fees, as routing outbound traffic across Availability Zones to a single gateway is the most cost-optimal high-availability design.

Answer

The correct recommendations are to purchase Compute Savings Plans in the management account and to modify the EC2 Auto Scaling group launch template to use smaller instances.
Purchasing Compute Savings Plans in the AWS Organizations management account ensures that discounts are applied to EC2, Fargate, and Lambda workloads across all member accounts through consolidated billing. Modifying the EC2 Auto Scaling group to use `m6i.xlarge` instances is an appropriate right-sizing action because it halves the allocated compute and memory, which fits within the current underutilized metrics (38%38\% CPU and 2828\\% memory) without affecting performance.

Step-by-Step Solution

1
Analyze the compute requirements of both accounts and identify the correct Savings Plan type.
Account A uses Fargate and Lambda, while Account B uses EC2. Since EC2 Instance Savings Plans do not apply to Fargate and Lambda, Compute Savings Plans must be purchased to cover all three resource types.
Compute Savings Plans provide the broadest applicability, covering EC2, Fargate, and Lambda across all member accounts under consolidated billing.
2
Analyze the utilization metrics of the EC2 instances in Account B to identify right-sizing opportunities.
The current instances are `m6i.2xlarge` (8 vCPUs8\text{ vCPUs}, 32 GiB32\text{ GiB}) with 38%38\% CPU and 2828\\% memory utilization. Downsizing to `m6i.xlarge` (4 vCPUs4\text{ vCPUs}, 16 GiB16\text{ GiB}) will double the utilization metrics to approximately 76%76\% CPU and 5656\\% memory.
This right-sizing action is safe, keeps resources within safe utilization thresholds, and cuts instance costs by 50%50\%.
3
Evaluate the database metrics for sizing optimization.
The RDS for MySQL database has low CPU utilization (12%12\%) but high buffer pool usage (85%85\%, indicating high memory cache utilization). Downsizing it would reduce memory, causing cache misses and disk read bottlenecks.
The database should not be downsized, as its performance depends on the current memory size to cache active data.
4
Evaluate network configuration against the high availability constraint.
Relying on a single NAT Gateway across three Availability Zones introduces a single point of failure. Redundant NAT Gateways must be deployed in each Availability Zone to maintain strict high availability.
Strict high availability requirements override the cost savings of having only one NAT Gateway.

Key Concept

Cost optimization in a multi-account environment requires selecting the right type of Savings Plan to cover heterogeneous compute resources and right-sizing underutilized instances without degrading performance or violating high availability constraints.
Rate this question