Workshop Overview

System Architecture

The DaiVietBlood system uses a Serverless-First architecture on AWS Cloud, prioritizing scalability, security, and operational optimization.

AWS architecture picture

Architecture Components

1. Network Infrastructure (VPC)

ComponentDescription
VPCVirtual Private Cloud with CIDR 10.0.0.0/16
Public SubnetContains NAT Gateway, allows Internet access
Private SubnetContains Lambda, RDS - isolated from Internet
NAT GatewayAllows Private Subnet resources to access Internet
Internet GatewayAllows Public Subnet to communicate with Internet

2. Application & Data Layer

ServiceRole
AWS LambdaProcess business logic (CRUD operations, emergency requests)
API GatewayReceive HTTP requests, route to Lambda
Amazon RDSMySQL database storing user data, blood inventory
Amazon S3Store static files (images, documents)

3. Frontend & Distribution

ServiceRole
AWS AmplifyHost React application
CloudFrontCDN distributes content globally with low latency

4. DevOps & Monitoring

ServiceRole
CodePipelineAutomate CI/CD process
CodeBuildBuild and test source code
CloudWatchCollect logs, metrics, set up alarms

Data Flow

User Request → CloudFront → Amplify (Frontend)
                              ↓
                         API Gateway
                              ↓
                         AWS Lambda (Private Subnet)
                              ↓
                         Amazon RDS (Private Subnet)

Security Model

  1. Network Isolation: RDS and Lambda in Private Subnet, no direct Internet access
  2. IAM Roles: Each service has minimum required permissions (Least Privilege)
  3. Data Encryption: At-rest (RDS, S3) and In-transit (HTTPS)
  4. Security Groups: Control inbound/outbound traffic for each resource

Workshop Objectives

After completing this workshop, you will be able to:

  • ✅ Create VPC with proper network segmentation
  • ✅ Deploy RDS MySQL in Private Subnet
  • ✅ Build Lambda functions and expose via API Gateway
  • ✅ Configure S3 and CloudFront for static content
  • ✅ Deploy React app with Amplify
  • ✅ Set up CI/CD pipeline
  • ✅ Monitor with CloudWatch