AWS

Lab Reports

Technical documentation of hands-on labs completed during the AWS re/Start program.

Julian David Quijano · AWS re/Start
AWS Meme
225

Introduction to Amazon Linux AMI

Connecting via SSH with PuTTY and exploring the Linux man pages.

SSH PuTTY man
227

Linux Command Line

System info commands, timezone dates, Julian calendars, and bash history search.

Bash System Info History
229

Managing Users and Groups

Creating users, organizing groups by job role, and understanding sudoers permissions.

useradd groupadd usermod sudo
231

Editing Files

Using vimtutor, creating files with Vim, and editing with nano.

vim nano vimtutor
233

Working with the File System

Creating folder structures, copying, moving, and deleting files and directories.

mkdir cp mv rm
235

Working with Files

Creating tar backups, logging with echo and tee, and transferring files.

tar echo tee pipe
237

Managing File Permissions

Changing ownership and permission modes using absolute and symbolic methods.

chown chmod symbolic absolute
239

Managing Processes

Monitoring processes, checking real-time performance, and creating cron jobs.

ps top crontab grep
241

Managing Services & Monitoring

Controlling background daemons via systemctl and monitoring EC2 health visually.

systemctl httpd CloudWatch
243

Software Management

Upgrading packages, rolling back installations via yum history, and configuring the AWS CLI.

yum history AWS CLI curl
245

Managing Log Files

Auditing system authentication events and historical login data.

less lastlog /var/log/secure
247

Working with Commands

Manipulating data streams using tee, sort, cut, and the pipe operator.

tee sort cut Pipes (|)
249

The Bash Shell

Customizing the command-line interface with aliases and adjusting the PATH variable.

alias tar PATH
253

Bash Shell Scripting Exercise

Automating repetitive tasks in Linux by creating a loop script to generate files sequentially.

Bash Scripting Automation Loops
268

Create and Drop Databases and Tables

Practicing CREATE, SHOW, ALTER, and DROP statements to build and remove a sample world schema.

MariaDB CREATE ALTER DROP
269

Insert, Update, and Delete Data in a Database

Using INSERT, UPDATE, DELETE, and SQL import to manipulate and restore rows in the world database.

INSERT UPDATE DELETE SQL Import
270

Selecting Data from a Database

Querying the world dataset with SELECT, COUNT(*), aliases, ORDER BY, WHERE, and AND conditions.

SELECT COUNT(*) WHERE ORDER BY
271

Query the World Database with Functions and Conditions

Using BETWEEN, LIKE, SUM, aliases, and LOWER to build clearer and more analytical SQL queries.

BETWEEN SUM LOWER
272

Working with Functions

Using aggregate and string functions such as SUM, SUBSTRING_INDEX, LENGTH, TRIM, and DISTINCT to transform query results.

SUM SUBSTRING_INDEX DISTINCT
273

Organizing Data

Using GROUP BY, SUM, OVER, and RANK to summarize regions and rank countries by population.

GROUP BY OVER() RANK
160

Build Your DB Server and Interact With Your DB Using an App

Launching a Multi-AZ RDS MySQL instance and connecting a web application to the managed database.

Amazon RDS Multi-AZ MySQL
162

Challenge Lab: Build Your DB Server and Interact With Your DB

Connecting to Amazon RDS from a Linux server, creating tables, inserting data, and validating an inner join.

Amazon RDS INNER JOIN MySQL Client
274

Introduction to Amazon Aurora

Creating an Aurora MySQL-compatible cluster, connecting from EC2 via Session Manager, and querying data with SQL.

Aurora RDS MySQL Session Manager
275

Introduction to Amazon DynamoDB

Creating a DynamoDB table, entering and querying data, then deleting the table.

DynamoDB NoSQL Partition Key Sort Key
169

[JAWS] AWS Systems Manager

Hands-on Systems Manager four-task lab covering Session Manager, Run Command, Parameter Store, and Patch Manager.

Systems Manager Session Manager Run Command Parameter Store
170

[JAWS] Creating a Website on S3

Hosting a static website on Amazon S3 and managing content from the AWS CLI with scoped IAM permissions.

Amazon S3 Static Website AWS CLI IAM
171

[JAWS] Creating EC2 Instances (Console + CLI)

Launching EC2 instances from the console and the AWS CLI, then connecting through a bastion host.

EC2 AWS CLI Bastion SSH
172

[JAWS] EC2 Instances Challenge — Custom VPC

Building a custom VPC from scratch and launching EC2 workloads inside the new networking stack.

EC2 VPC Subnets Routing
173

[JAWS] Troubleshooting EC2 LAMP with AWS CLI

Diagnosing a broken LAMP stack on EC2 using AWS CLI, systemctl, and security group inspection.

EC2 AWS CLI LAMP Troubleshooting
174

[JAWS] Scaling and Load Balancing

Distributing traffic across multiple EC2 instances with an Application Load Balancer and Auto Scaling.

Auto Scaling ELB Launch Template Multi-AZ
175

[JAWS] Auto Scaling with a Custom AMI

Baking a custom AMI and using it inside an Auto Scaling group for faster, repeatable instance launches.

Auto Scaling Custom AMI EC2 Launch Template
176

[JAWS] Route 53 Failover Routing

Configuring active/passive failover on Amazon Route 53 with health checks to redirect traffic automatically.

Route 53 Failover Health Checks DNS
177

[JAWS] Lambda Word Count Challenge

Triggering a Lambda function on S3 uploads to count words and publishing the result via SNS.

AWS Lambda Amazon S3 Amazon SNS Event-driven
178

[JAWS] Lambda Sales Analysis Report

Running a VPC-attached Lambda that queries Amazon RDS to generate a sales analysis report.

AWS Lambda Amazon RDS VPC
179

[JAWS] Migrating to Amazon RDS MariaDB

Migrating an on-EC2 MariaDB workload to a managed Amazon RDS MariaDB instance with minimal downtime.

Amazon RDS MariaDB Migration
180

[JAWS] VPC with Bastion and NAT Gateway

Designing a VPC with public/private subnets, a bastion host, and a NAT gateway for outbound traffic.

VPC Bastion NAT Gateway Subnets
181

[JAWS] Troubleshooting a VPC with Flow Logs

Using VPC Flow Logs to diagnose blocked traffic and validate NACL and security group rules.

VPC Flow Logs NACL Security Groups
182

[JAWS] Working with Amazon EBS

Creating, attaching, and snapshotting EBS volumes to extend EC2 storage safely.

Amazon EBS Volumes Snapshots EC2
183

[JAWS] Managing Storage: EBS Snapshots & S3 Versioning

Protecting data with EBS snapshots and enabling S3 versioning for object-level recovery.

EBS Snapshots S3 Versioning Backups
184

[JAWS] S3 Challenge from CLI

Driving Amazon S3 entirely from the AWS CLI: buckets, objects, sync, and permissions.

Amazon S3 AWS CLI aws s3 sync
185

[JAWS] S3 File Sharing with IAM and SNS

Sharing S3 objects through scoped IAM access and notifying subscribers via Amazon SNS.

Amazon S3 IAM Amazon SNS
186

[JAWS] Monitoring with CloudWatch Agent and AWS Config

Installing the CloudWatch agent for custom metrics and tracking resource compliance with AWS Config.

CloudWatch AWS Config Compliance
187

[JAWS] CloudTrail Incident Response

Investigating an incident by querying CloudTrail logs with Amazon Athena for forensic analysis.

CloudTrail Athena Incident Response
188

[JAWS] EC2 Tags + JMESPath + Scripts

Managing EC2 tags from the CLI and filtering results with JMESPath and shell scripts.

EC2 Tags AWS CLI JMESPath Bash
189

[JAWS] Optimize Resource Utilization

Downsizing the Café EC2 from t3.small to t3.micro via AWS CLI and comparing costs with Pricing Calculator.

EC2 AWS CLI Pricing Calculator
190

[JAWS] Automating Deployments with AWS CloudFormation

Deploying, updating with change sets, and tearing down a stack with VPC, S3 and EC2 from YAML templates.

CloudFormation IaC YAML
191

[JAWS] Café Lab — Troubleshooting CloudFormation Deployments

Diagnosing a failed stack from a userdata typo, drift detection, and the DELETE_FAILED gotcha when a bucket is non-empty.

CloudFormation Troubleshooting S3
192

[JAWS] CloudFormation Challenge

Authoring a YAML template from scratch to provision a VPC with a private subnet and an EC2 instance, deployed via AWS CLI.

CloudFormation Challenge VPC