📖 Scenario: You are working as a cloud architect for a small company. Your task is to set up a simple AWS infrastructure that follows the cost optimization pillar best practices. This means you will create resources that are efficient and avoid unnecessary expenses.
🎯 Goal: Build a basic AWS infrastructure using AWS CloudFormation that includes a cost-effective EC2 instance and an S3 bucket with lifecycle rules to reduce storage costs.
📋 What You'll Learn
Create a CloudFormation template with a minimal EC2 instance using a t3.micro instance type
Add an S3 bucket with a lifecycle rule to transition objects to cheaper storage after 30 days
Use parameters to allow easy adjustment of instance type and lifecycle days
Ensure the template follows AWS best practices for cost optimization
💡 Why This Matters
🌍 Real World
Companies use cost optimization to reduce their cloud bills while maintaining performance and reliability.
💼 Career
Cloud architects and engineers must design infrastructure that balances cost and functionality to meet business goals.
Progress0 / 4 steps
1
Create the basic CloudFormation template structure
Create a CloudFormation template with the root keys AWSTemplateFormatVersion set to '2010-09-09' and Description set to 'Cost optimization example template'. Also, add an empty Resources section.
AWS
Hint
Start with the basic keys of a CloudFormation template: version, description, and resources.
2
Add parameters for instance type and lifecycle days
Add a Parameters section with two parameters: InstanceType of type String with default t3.micro, and LifecycleDays of type Number with default 30.
AWS
Hint
Parameters allow you to customize the template without changing the code.
3
Add a cost-effective EC2 instance resource
Add a resource named MyEC2Instance of type AWS::EC2::Instance with the property InstanceType set to { Ref: 'InstanceType' } and ImageId set to ami-0c02fb55956c7d316 (Amazon Linux 2 in us-east-1).
AWS
Hint
Use the parameter InstanceType to set the EC2 instance type for cost savings.
4
Add an S3 bucket with lifecycle rule for cost savings
Add a resource named MyS3Bucket of type AWS::S3::Bucket with a LifecycleConfiguration that transitions objects to STANDARD_IA storage class after { Ref: 'LifecycleDays' } days.
AWS
Hint
Use lifecycle rules to move data to cheaper storage after a set number of days.
Practice
(1/5)
1. Which AWS tool helps you understand and analyze your cloud spending over time?
easy
A. EC2 Dashboard
B. CloudTrail
C. Cost Explorer
D. IAM
Solution
Step 1: Identify AWS tools for cost management
Cost Explorer is designed to analyze and visualize AWS spending over time.
Step 2: Compare other tools' purposes
CloudTrail tracks API calls, EC2 Dashboard manages instances, IAM manages access, none focus on cost analysis.
Final Answer:
Cost Explorer -> Option C
Quick Check:
Cost analysis tool = Cost Explorer [OK]
Hint: Cost Explorer = spending analysis tool [OK]
Common Mistakes:
Confusing CloudTrail with cost tool
Thinking EC2 Dashboard shows costs
Mixing IAM with billing
2. Which of the following is the correct AWS pricing option to save costs for steady-state workloads?
easy
A. On-Demand Instances
B. Reserved Instances
C. Spot Instances
D. Dedicated Hosts
Solution
Step 1: Understand pricing options
Reserved Instances offer a discount for long-term, steady workloads by committing to usage.
Step 2: Compare other options
On-Demand is pay-as-you-go, Spot is for interruptible workloads, Dedicated Hosts are costly physical servers.
Final Answer:
Reserved Instances -> Option B
Quick Check:
Steady workload savings = Reserved Instances [OK]
Hint: Reserved = save on steady workloads [OK]
Common Mistakes:
Choosing On-Demand for savings
Using Spot for steady workloads
Confusing Dedicated Hosts with cost-saving
3. Consider this AWS Lambda function usage pattern: it runs 1000 times per day, each execution lasts 1 second, and uses 128 MB memory. Which change will reduce cost the most?
medium
A. Increase memory to 512 MB to reduce execution time
B. Decrease memory to 64 MB to save memory cost
C. Increase execution time to batch more work per run
D. Keep memory at 128 MB and reduce execution time by optimizing code
Solution
Step 1: Understand Lambda cost factors
Cost depends on memory size and execution duration multiplied by invocations.
Step 2: Evaluate options
Increasing memory may reduce time but might increase cost; decreasing memory may increase time; optimizing code reduces time without increasing memory.
Final Answer:
Keep memory at 128 MB and reduce execution time by optimizing code -> Option D
Quick Check:
Optimize code to reduce time = save cost [OK]
Hint: Lower execution time saves more than just lowering memory [OK]
Common Mistakes:
Assuming more memory always saves cost
Reducing memory without checking time
Increasing execution time to batch
4. You notice your AWS Trusted Advisor reports underutilized EC2 instances. What is the best immediate action to optimize cost?
medium
A. Resize instances to smaller types matching usage
B. Terminate the underutilized instances immediately
It flags underutilized instances to help reduce waste by resizing or terminating.
Step 2: Choose best cost optimization action
Resizing to smaller instances keeps service running but reduces cost; terminating immediately may disrupt service; ignoring wastes money; Dedicated Hosts are expensive.
Final Answer:
Resize instances to smaller types matching usage -> Option A
Quick Check:
Resize underutilized = save cost safely [OK]
Hint: Resize before terminating to avoid downtime [OK]
Common Mistakes:
Terminating without backup
Ignoring Trusted Advisor
Switching to costly Dedicated Hosts
5. A company wants to reduce AWS costs by automating resource scaling and tracking spending. Which combination of AWS services best supports this goal?
hard
A. AWS Auto Scaling + AWS Budgets + AWS Cost Explorer
AWS Auto Scaling automatically adjusts resource capacity based on demand.
Step 2: Identify services for cost tracking
AWS Budgets sets spending limits and alerts; Cost Explorer analyzes spending patterns.
Step 3: Evaluate other options
CloudTrail and Config track changes and security, not cost; Lambda, S3, RDS are compute/storage services; Trusted Advisor gives recommendations but not automation; CloudWatch Logs monitor logs.
Final Answer:
AWS Auto Scaling + AWS Budgets + AWS Cost Explorer -> Option A
Quick Check:
Auto scale + budgets + cost explorer = cost optimization [OK]
Hint: Auto Scaling + Budgets + Cost Explorer = automate cost control [OK]
Common Mistakes:
Confusing CloudTrail with cost tools
Choosing unrelated services
Ignoring automation tools
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.