An enterprise manages a multi-account environment under AWS Organizations with consolidated billing enabled. The Production account runs a microservices application on Amazon Elastic Container Service (ECS) using AWS Fargate across three Availability Zones. Each Fargate task is configured with and of memory. However, Amazon CloudWatch metrics show that the tasks average CPU utilization and experience a peak memory utilization of (). In the Development account, testing environments run on various transient Amazon EC2 instances that change instance families frequently based on testing needs. The company wants to optimize compute costs across both accounts while maintaining high availability in the Production environment.
Which strategy should a solutions architect recommend to achieve these goals?
- ADownsize the Fargate tasks in the Production account to and of memory. Keep a NAT Gateway deployed in each of the three Availability Zones. Purchase EC2 Instance Savings Plans at the Organization's management account level.
- BDownsize the Fargate tasks in the Production account to and of memory. Consolidate the NAT Gateways in the Production account to a single NAT Gateway in one Availability Zone to save on hourly gateway charges. Purchase Compute Savings Plans at the Organization's management account level.
- Downsize the Fargate tasks in the Production account to and of memory. Keep a NAT Gateway deployed in each of the three Availability Zones. Purchase Compute Savings Plans at the Organization's management account level.Cevap
- DKeep the Fargate tasks at their current sizes. Share the EC2 capacity from the Development account with the Production account using AWS Resource Access Manager (RAM) to consolidate compute allocations before purchasing EC2 Instance Savings Plans.