- Provision S3 bucket, write HTML to S3, add READ policy to S3, and configure static website documents using Terraform (see step1).
terraform init # Initialize working directory
terraform validate # Verify syntax and dependencies
terraform plan # Preview changes to be made
terraform apply -auto-approve # Apply changes to infrastructure
- Current Issues:
- No custom domain name.
- No cache for static files.
- Public bucket; not aligned with security best practices.
- Does not support HTTPS.
- Configure Cloudfront Distribution (see step2_cf-only), Route53 and ACM using Terraform (see step2_cf_rt53).
terraform init # Initialize working directory
terraform validate # Verify syntax and dependencies
terraform plan # Preview changes to be made
terraform apply -auto-approve # Apply changes to infrastructure
- Outcome (before Route53): https://d1v23uzmtzdfq0.cloudfront.net
- Integrate AWS with Github Actions:
- Create Github User in AWS (see step3).
- Create Access Keys for Github User.
- Add Access Keys to Github Secrets.
- Sync Github Repo to S3 (see sync_to_s3.yml).
- Tear down infrastructure using Terraform.
terraform destroy -auto-approve
- Challenge Source: 10weeksofcloudops
- Cloud Platform: AWS
- IaC Tooling: Terraform
- CI/CD: Github Actions