Question

Difficulty: MediumBilling, Cost Management, and Resource Sharing Strategy

A company uses AWS Organizations to manage a multi-account environment with consolidated billing. The environment consists of a Management account, a Shared Services account, and multiple Development accounts. The Development accounts run a mix of Amazon EC2 instances, AWS Fargate tasks, and AWS Lambda functions. The Infrastructure team needs to share several subnets from a central VPC in the Shared Services account with the Development accounts. Additionally, the Finance team wants to purchase a single Savings Plan that provides maximum cost optimization for all of these compute workloads across all accounts in the organization. Which set of actions should a Solutions Architect recommend to meet these requirements?

  1. A
    In the Management account, do not enable organization sharing in AWS RAM. In the Shared Services account, create an AWS RAM resource share for the subnets, set the principal type to allow external accounts, and manually add each Development account ID. Purchase a Compute Savings Plan in the Management account.
  2. B
    Attach a Service Control Policy (SCP) to the Development accounts that allows ram:CreateResourceShare to authorize cross-account subnet usage. Purchase a Compute Savings Plan in each individual Development account, disabling billing sharing in the Management account.
  3. In the Management account, enable resource sharing within AWS Organizations in the AWS RAM console. In the Shared Services account, create a resource share in AWS RAM for the subnets and associate it with the Development accounts' Organizational Unit. Purchase a Compute Savings Plan in the Management account.Answer
  4. D
    In the Management account, enable resource sharing within AWS Organizations. In the Shared Services account, create a resource share in AWS RAM for the subnets and associate it with the Development accounts' Organizational Unit. Purchase an EC2 Instance Savings Plan in the Management account.

Answer

The correct recommendation is to enable resource sharing within AWS Organizations in the Management account, share the subnets from the Shared Services account to the Development Organizational Unit via AWS Resource Access Manager (RAM), and purchase a Compute Savings Plan in the Management account.
The correct solution involves enabling organization-level sharing in AWS RAM from the Management account. This permits seamless sharing of resources such as subnets to accounts within the Organization or specific OUs. The subnets can then be shared from the Shared Services account to the Development OU. Purchasing a Compute Savings Plan in the Management account ensures that the cost discount applies to EC2, Fargate, and Lambda across all member accounts via consolidated billing.

Step-by-Step Solution

1
Enable organization sharing in AWS RAM.
Resource sharing within AWS Organizations is allowed across the entire organization without requiring manual handshakes.
AWS RAM requires explicit authorization from the Management account to share resources with accounts inside the organization without sending invitation emails.
2
Share subnets from the Shared Services account using AWS RAM.
The Development accounts' Organizational Unit is associated with the subnets resource share.
This allows the Development accounts to deploy resources (like Fargate tasks) directly into the shared subnets.
3
Purchase a Compute Savings Plan in the Management account.
The discount benefit is shared across all member accounts under consolidated billing and applies to EC2, Fargate, and Lambda.
Compute Savings Plans offer the greatest flexibility by covering EC2, Fargate, and Lambda, and purchasing them in the Management account ensures the discount applies to all consolidated accounts.

Key Concept

AWS Resource Access Manager (RAM) organization-level sharing and Compute Savings Plans application in a consolidated billing family.
Rate this question