Cloudformation Exercises
A series of 3-4 part self-guided exercises for exposure to AWS services
I recently completed a series of AWS certifications. While studying, I set a goal
for myself to build a full CloudFormation template every day over a month. The result was 25 CloudFormation exercises, which I've diagrammed and documented for others to follow.
The templates...
- have no dependencies
- are often very simplistic
- increase in complexity
- reuse patterns from earlier exercises
The exercises...
- are intentionally vague to encourage research
- are intentionally unrefined to encourage experimentation
Disclaimers
- Most of these can be done on free tier. They are very lightweight and should incur very little billing, but please keep an eye on it.
- Most exercises do not use the principle of least privilege.
- These are not production ready.
- These are not production ready.
Topics (last updated 2/21)
- 1. S3 encryption, replication
- 2. EC2, VPC, NACL
- 3. EC2, EBS, EFS
- 4. Bastion pattern, NAT gateway pattern
- 5. KMS, CloudTrail
- 6. IPv6, EIP, egress-only gateway
- 7. ENI, flow logs
- 8. Cloudwatch agent, SSM,
cfn-init
- 9.
httpd
server, Global Accelerator
- 10. EC2 Auto Scaling, Launch Templates, Cloudwatch Alarms
- 11. ECR, ECS (Fargate mode), Launch Templates
- 12. ECR, ECS (EC2 + network mode), Autoscaling Groups, Launch Configurations
- 13. RDS Multi-AZ, RDS Read Replicas
- 14. Network load balancer, load balancer listeners,
Forward
LB action
- 15. Application load balancer, sticky sessions,
FixedResponse
LB action
- 16. Lambda, API Gateway
- 17. Lambda, SQS, SNS
- 18. Route53 health checks, Route53 public hosted zones, failover
- 19. S3 static hosting, CloudFront, WAF, Lambda@Edge, Lambda versions
- 20. SSH forwarding, VPC interface endpoint, VPC gateway endpoint
- 21. Spot fleets, Kinesis, EventBridge, Step Functions
- 22. DynamoDB tables, streams and triggers, GSI, LSI, DAX
- 23. CodeCommit, CodeBuild, CodeDeploy, CodePipeline
- 24. Cognito user pools, identity pools, application clients, Cognito LambdaConfig
- 25. Elastic Beanstalk configuration, extensions, versions