Skip to main content

Prerequisites

Before deploying the Cloud Classroom Provisioning system, ensure you have the following prerequisites installed and configured.

Install Required Tools

macOS

brew install terraform awscli python3

Linux

sudo apt-get update
sudo apt-get install terraform awscli python3 python3-pip

Configure AWS Credentials

aws configure
# Enter your AWS Access Key ID, Secret Access Key, and default region

# Verify access
aws sts get-caller-identity

Verify Terraform

terraform version  # Should be >= 1.0.0

Custom Domain Requirements

Optional but Recommended

Custom domains are optional but recommended for better user experience.

EC2 Manager (Instructor Interface)

  • With custom domain: https://ec2-management-dev.testingfantasy.com
  • Without custom domain: Access via CloudFront distribution URL (e.g., https://d1234567890abc.cloudfront.net)
  • The infrastructure will create ACM certificates automatically, but DNS validation records must be added post-deployment

Workshop Lambda Functions (Student Access)

  • With custom domain: https://testus-patronus.testingfantasy.com
  • Without custom domain: Access via Lambda Function URL (e.g., https://abc123xyz.lambda-url.eu-west-1.on.aws)
  • Workshop functions work fully without custom domains

Route53 Hosted Zone

Required if you want to use custom domains:

  • You need a Route53 hosted zone for your domain (e.g., testingfantasy.com)
  • Or configure DNS manually with your DNS provider

See the Custom Domain Configuration section for detailed setup instructions.