Before starting the AWS infrastructure deployment for the Rookwork project, ensure all of the following prerequisites are in place.
💡 It is recommended to use an IAM User rather than the Root Account for deployments. Create an IAM User with AdministratorAccess or a custom policy scoped to the required services.
Install the following tools on your local machine:
| Tool | Version | Purpose |
|---|---|---|
| Java JDK | 17+ | Build and run Spring Boot backend |
| Maven | 3.8+ | Dependency management and backend build |
| Node.js | 18+ | Build React 19 frontend |
| Yarn | 1.22+ | Frontend package management |
| Docker | 24+ | Package the application into containers |
| AWS CLI | v2 | Interact with AWS from the command line |
| Git | 2.x | Source code management |
Run the following commands to confirm each tool is installed correctly:
java --version # Java 17+
mvn --version # Maven 3.8+
node --version # Node.js 18+
yarn --version # Yarn 1.22+
docker --version # Docker 24+
aws --version # AWS CLI 2.x
git --version # Git 2.x
Configure the AWS CLI with your IAM User credentials:
aws configure
Enter the following when prompted:
ap-southeast-1 (Singapore)jsonaws sts get-caller-identity
Attach the following IAM policy to your IAM User to grant sufficient permissions for deploying Rookwork infrastructure:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:*",
"rds:*",
"s3:*",
"cloudfront:*",
"wafv2:*",
"route53:*",
"ses:*",
"acm:*",
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:PassRole",
"iam:GetRole",
"iam:CreateInstanceProfile",
"iam:AddRoleToInstanceProfile",
"elasticloadbalancing:*",
"autoscaling:*",
"ecr:*",
"logs:*",
"cloudwatch:*"
],
"Resource": "*"
}
]
}
Clone the Rookwork project source code to your local machine:
# Backend (Spring Boot)
git clone https://github.com/ChauThanhDat720/rookwork-backend.git
# Frontend (React 19)
git clone https://github.com/ChauThanhDat720/rookwork-frontend.git
cd rookwork-backend
mvn clean package -DskipTests
cd rookwork-frontend
yarn install
yarn build:browser
yarn start:browser
Ensure Docker is running and can pull images:
docker info
docker pull amazoncorretto:17
Once all prerequisites are complete, you are ready to begin deploying the AWS infrastructure for Rookwork. Proceed to 5.3 — Initialize VPC, NAT Gateway and Security Groups.