Security Professional Takes on the Cloud Resume Challenge

Mino Kim
2 min readAug 25, 2024

--

During my search for cloud learning resources, I discovered the Cloud Resume Challenge. While this challenge is meant for those wanting to start a career in cloud, I found it perfect for deepening my cloud expertise due to the following features:

  • Flexible Roadmap: A high-level plan with the freedom to modify and expand upon it.
  • Hands-On Experience: No theory. You’re building in the cloud ASAP.
  • Real-World Exposure: Use technologies, tools, and workflows used by cloud professionals.

As a cybersecurity analyst with four years of experience but minimal cloud exposure, I completed the challenge in 20 hours. The time spent was valuable. Most of this challenge was completed by referring to AWS’ official documentation.

Initial Setup: AWS Organizations and SSO | S3 Static Site

Using AWS Organizations and IAM Identity Center, three environments were established: personal, production, and test, each with SSO-enabled accounts. A bare-bones HTML page was written and hosted on S3 as a static site.

Frontend Infrastructure: Subdomain Setup | CloudFront | HTTPS

Instead of moving my domain, Minokim.com, to Route 53, I wanted to keep it where it was and use a subdomain instead: cloud.minokim.com. I created a Hosted Zone in Route 53, and added the NS records in Netlify, making the subdomain possible.

To enable HTTPS, I used CloudFront, Certificate Manager, and Route53.

Backend Infrastructure: DynamoDB | API Gateway | Lambda | CI/CD

The backend architecture uses the following AWS services:

  • DynamoDB: For tracking website visitor counts.
  • Lambda: Using a Python function to increment the visitor count.
  • API Gateway: To facilitate communication with the Lambda function.

After testing the API with Postman and enabling CORS, I used JavaScript to fetch and display the visitor count on the webpage. A CI/CD pipeline was set up using GitHub Actions for automated deployment.

Infrastructure as Code: Terraform

This step took the most time to complete as IaC was a new concept to me. I decided to use Terraform, and Terraformer to create .tf files based on the infrastructure. The final step involved deploying the setup to the production environment via Terraform, marking the challenge as complete.

--

--