The Cloud Resume Challenge is a project created by Forrest Brazeal, a cloud advocate, and AWS Community Hero. It is designed to help people learn and showcase their skills in cloud computing, particularly with Amazon Web Services (AWS). The challenge involves creating a resume-style website and deploying it on AWS, using services such as Amazon S3, Amazon DynamoDB, AWS Lambda, and more.
The Cloud Resume Challenge is a project created by Forrest Brazeal, a cloud advocate and AWS Community Hero. It is designed to help people learn and showcase their skills in cloud computing, particularly with Amazon Web Services (AWS). The challenge involves creating a resume-style website and deploying it on AWS. Participants are encouraged to use AWS services like Amazon S3 for hosting static content, Amazon DynamoDB for storing data, AWS Lambda for serverless functions, and more. The idea is to demonstrate technical skills and gain practical experience by building a real-world project.
Cloud Resume Challenge Prerequirements
For work on this project, I decided to use Terraform for creating all resources in the AWS Cloud, as an additional challenge. Also I will use Gitpod as workspace.
-
Terraform Account: While not mandatory, having a Terraform Cloud account is recommended for storing tfstate files. Terraform Cloud offers a convenient and centralized way to manage state files, allowing for collaboration and version control. Alternatively, you can choose to store state files locally or in an external backend, such as an S3 bucket.
-
AWS User: An AWS user account with admin rights or the necessary permissions to create and manage resources. Ensure you have a valid AWS access key for this user.
-
Clouflare account: Before using this Terraform module, ensure you have a Cloudflare account. If not, you can sign up here.
-
Clouflare api token: To authenticate Terraform with Cloudflare, you'll need to generate an API token. Follow the official documentation here.
- You need to set up Terraform account if you want use it. Else - just comment section in
main.tf
related to Terraform:#cloud { # organization = "ITCrowd" # workspaces { # name = "cloudResumeChallengeAWS" # } # }
- Ensure you replace values in
terraform.tfvars
with your specific configurations, such as user domain, public path, and S3 bucket name. - Take note of the outputs, especially the CloudFront domain name, ACM certificate ARN and CNAME as they are crucial for configuring DNS records.
-
Clone the repository:
git clone https://github.com/codecloudmaster/cloudResumeChallengeAWS.git
-
Navigate to the directory:
cd cloudResumeChallengeAWS
-
Initialize Terraform:
terraform init
-
Apply the configuration:
terraform apply
-
After applying, check the outputs for important information:
terraform output cloudfront_domain_name #Domain name for CloudFront distribution terraform output cloudfront_distribution_id #ID of the CloudFront distribution terraform output acm_certificate_arn #ARN of the ACM certificate for the custom domain terraform output aws_acm_certificate # CNAME records that are added to the DNS zone to complete certificate validation