TYPE:Scholarship Project
Scholarship Project2023

Highly Available AWS Web Architecture

Designed a highly available AWS web architecture using EC2 Auto Scaling, an Application Load Balancer, Amazon DynamoDB, Amazon S3, and private VPC endpoints.

ROLE: Cloud Computing Trainee
ORGANIZATION: ALX Africa (Cloud Computing Program)
PERIOD: 2023

// ARCHITECTURE_TOPOLOGY

// LOADING_MERMAID_DIAGRAM...

Problem Statement & Context

Design a resilient web architecture capable of distributing application traffic across multiple Availability Zones, automatically replacing unhealthy compute instances, and securely accessing AWS data services without routing application traffic through the public internet.

Solution & Delivery Approach

Designed a Multi-AZ VPC architecture with public subnets for an Application Load Balancer and private subnets for EC2 web servers managed by an Auto Scaling Group. Configured target-group health checks, security groups, Amazon S3 for object storage, Amazon DynamoDB for application data, and Gateway VPC Endpoints for private access to S3 and DynamoDB.

Engineering Challenges & Resolution

EC2 instances in private subnets required secure access to Amazon S3 and DynamoDB without depending on public internet connectivity. Configured Gateway VPC Endpoints and associated them with the private-subnet route tables, allowing application traffic to reach both AWS services through the AWS network.

// Key_OUTCOMES

  • ✓Designed compute capacity across two Availability Zones to reduce dependency on a single failure domain.
  • ✓Enabled automatic health-based traffic routing and EC2 instance replacement through ALB and Auto Scaling.
  • ✓Established private connectivity from application instances to Amazon S3 and DynamoDB using Gateway VPC Endpoints.
  • ✓Strengthened practical knowledge of AWS availability, scaling, networking, security, and managed data services.

// RESPONSIBILITIES

  • >Designed a VPC spanning two Availability Zones with public and private subnets, route tables, and an Internet Gateway.
  • >Configured an Application Load Balancer, target group, health checks, and security-group rules.
  • >Created an EC2 launch template and Auto Scaling Group distributed across private subnets.
  • >Integrated the application with Amazon DynamoDB for data storage and Amazon S3 for object storage.
  • >Configured S3 and DynamoDB Gateway VPC Endpoints for private service access.
  • >Tested application availability and load-balancer health routing under simulated instance failure conditions.

// TECHNOLOGY_STACK

AWSAWS EC2Application Load BalancerAmazon VPCVPC EndpointsEC2 Auto ScalingAmazon DynamoDBAmazon S3AWS IAMSecurity Groups
SOURCE: PRIVATE_REPOSITORY