← All projects

ETX Center / ASU

AWS Infrastructure

My AWS work for the ETX Center, in Arizona State University’s School of Earth and Space Exploration, covered infrastructure consolidation, educational web application deployments, and database migrations.

  • Amazon RDS
  • PostgreSQL
  • DynamoDB
  • Amazon Cognito
  • EC2 Auto Scaling
  • NAT gateways
  • AWS Amplify
  • AWS Fargate

I led these efforts and handled most of the AWS implementation myself, reducing infrastructure costs by 66%, launching web applications, and migrating databases with one hour of downtime.

Where the savings came from

A large part of the savings came from consolidating duplicate PostgreSQL databases holding user and application data. That reduced RDS overhead and the need for multiple NAT gateways.

I also removed stale EC2 instances and their associated NAT gateways, and consolidated Auto Scaling groups. I reviewed where data was replicated and which availability zones we used, choosing locations based on user density.

Together, the infrastructure changes reduced costs by 66%. The cleanup also included consolidating IAM access and revising security group rules.

Reducing duplicate infrastructure

Separate accountsConsolidated account
Duplicate user and application databasesPostgreSQL databases with less RDS overhead
Stale EC2 instances and NAT gateways removed
PostgreSQL databases across accounts were brought into one AWS account. Symbols represent groups of databases.

Database migrations

What moved where

Separate AWS accountsPostgreSQL
SQL rebuild script
Consolidated AWS accountPostgreSQL on RDS
DigitalOceanApplication + PostgreSQL
Application move
Records
DynamoDB
Accounts
Cognito
Hosting
Amplify
The first move kept PostgreSQL. The second changed the database, sign-in, and hosting.

Rebuilding PostgreSQL in RDS

For the PostgreSQL move, I used a generated SQL script to rebuild the database in Amazon RDS in the consolidated AWS account.

This brought databases from separate accounts into the consolidated setup. It reduced the duplicate database infrastructure and allowed us to use fewer NAT gateways.

Moving a DigitalOcean application to AWS

A separate application used a simple PostgreSQL database on DigitalOcean. I moved its application records to DynamoDB, used Cognito for user accounts, and moved the site to Amplify.

DynamoDB and Cognito covered the application’s data and account needs at a much lower running cost.

We did not carry over password hashes. Users needed to reset their passwords on their first login after the move.

Checking the migration

We notified users about the maintenance work. The cutover involved one hour of downtime.

We wrote tests for the migrated records, and the team ran Playwright tests and manual QA to check application behavior. I handled most of the AWS implementation, with the team contributing to verification.

Deploying educational web applications

I also deployed educational web applications using AWS Amplify and Fargate, with a target audience of tens of thousands of students.

I configured the Fargate deployments in the AWS console. My work included adjusting CPU and memory settings, networking and public access, load balancing, and scaling thresholds.