Week 6 Worklog

Week 6 Objectives:

  • Understand AWS database services and use cases
  • Master Amazon RDS fundamentals and Aurora features
  • Learn database migration strategies with AWS DMS
  • Explore data warehousing with Redshift and caching with ElastiCache
  • Practice database backup, restore, and high availability

Tasks to be carried out this week:

DayTaskStart DateCompletion DateReference Material
1- Review database concepts:
  + Relational vs NoSQL databases
  + ACID properties and transactions
- Study Amazon RDS:
  + Supported engines (MySQL, PostgreSQL, SQL Server, Oracle)
  + Multi-AZ and Read Replicas
2025/10/132025/10/13https://docs.aws.amazon.com/rds/
2- Deep dive into Amazon Aurora:
  + Aurora MySQL and PostgreSQL compatibility
  + Aurora Serverless
- Learn Redshift for data warehousing
- Study ElastiCache (Redis and Memcached)
2025/10/142025/10/14https://docs.aws.amazon.com/aurora/
3- Lab 05: RDS deployment
  + Create VPC and security groups
  + Create DB subnet group
  + Launch EC2 and RDS instances
  + Deploy application
  + Test backup and restore
2025/10/152025/10/15https://000005.awsstudygroup.com/
4- Lab 43: Database migration (Part 1)
  + Connect to EC2 via RDP and Fleet Manager
  + Configure SQL Server source database
  + Configure Oracle source database
  + Drop constraints for migration
2025/10/162025/10/16https://000043.awsstudygroup.com/
5- Lab 43: Database migration (Part 2)
  + Configure Aurora MySQL target
  + Create DMS project
  + Perform schema conversion
  + Convert MSSQL to MySQL schema
  + Convert Oracle to MySQL schema
2025/10/172025/10/17https://000043.awsstudygroup.com/
6- Lab 43: Database migration (Part 3)
  + Create migration tasks and endpoints
  + Inspect S3 for migration data
  + Create serverless migration
  + Configure event notifications
  + Review migration logs
2025/10/182025/10/18https://000043.awsstudygroup.com/
7- Lab 43: Troubleshooting
  + Test memory pressure scenarios
  + Troubleshoot table errors
- Weekly review and cleanup
2025/10/192025/10/19https://000043.awsstudygroup.com/

Week 6 Achievements:

  • RDS Fundamentals:

    • Understood RDS architecture and supported database engines
    • Learned Multi-AZ deployment for high availability
    • Configured Read Replicas for read scalability
    • Implemented automated backups and manual snapshots
    • Understood RDS pricing model and cost optimization
  • Amazon Aurora:

    • Learned Aurora’s distributed storage architecture
    • Understood Aurora MySQL and PostgreSQL compatibility
    • Explored Aurora Serverless for variable workloads
    • Configured Aurora Global Database for disaster recovery
    • Implemented Aurora Backtrack for point-in-time recovery
  • VPC Configuration (Lab 05-2.1):

    • Created custom VPC with CIDR block 10.0.0.0/16
    • Configured public subnet (10.0.1.0/24) for EC2 web server
    • Configured private subnets (10.0.2.0/24, 10.0.3.0/24) for RDS in different AZs
    • Created Internet Gateway and attached to VPC
    • Configured route tables for public and private subnets
    • Enabled DNS hostnames and DNS resolution for VPC
    • Implemented network isolation for database tier
  • Security Groups Configuration (Lab 05-2.2 & 2.3):

    • Created EC2 security group allowing HTTP (80), HTTPS (443), and SSH (22)
    • Created RDS security group allowing MySQL (3306) only from EC2 security group
    • Implemented principle of least privilege for network access
    • Configured security group rules for inbound and outbound traffic
    • Used security group references instead of IP addresses for better security
  • DB Subnet Group (Lab 05-2.4):

    • Created DB subnet group spanning multiple availability zones
    • Selected private subnets in different AZs for high availability
    • Ensured proper subnet configuration for Multi-AZ deployment
    • Verified subnet group meets RDS requirements
  • RDS Deployment (Lab 05-3 to 05-7):

    • Launched EC2 instance in public subnet with web server role
    • Launched RDS MySQL instance in private subnets with Multi-AZ enabled
    • Deployed web application connecting to RDS via private endpoint
    • Tested automated backup and restore procedures
    • Verified Multi-AZ failover behavior
    • Practiced clean up of resources to avoid unnecessary costs
  • Database Migration Setup (Lab 43-01 to 43-06):

    • Connected to Windows EC2 via RDP Client (Lab 43-01)
    • Connected to EC2 using Fleet Manager for browser-based access (Lab 43-02)
    • Configured SQL Server source database settings (Lab 43-03)
    • Connected to Oracle source database (Lab 43-04)
    • Configured Oracle source database for migration (Lab 43-05)
    • Dropped foreign key constraints to prepare for migration (Lab 43-06)
  • Schema Conversion (Lab 43-07 to 43-10):

    • Configured Aurora MySQL as target database (Lab 43-07)
    • Created AWS SCT project for MSSQL to Aurora MySQL (Lab 43-08)
    • Performed schema conversion from MSSQL to MySQL (Lab 43-09)
    • Executed Oracle to MySQL schema conversion (Lab 43-10)
    • Analyzed conversion assessment reports
    • Manually adjusted incompatible database objects
  • Data Migration Execution (Lab 43-11 to 43-15):

    • Created DMS replication instances and endpoints (Lab 43-11)
    • Inspected S3 buckets for migration artifacts (Lab 43-12)
    • Created serverless DMS migration tasks (Lab 43-13)
    • Configured event notifications for migration status (Lab 43-14)
    • Monitored CloudWatch logs for migration progress (Lab 43-15)
    • Validated data integrity after migration
  • Migration Troubleshooting (Lab 43-16 to 43-17):

    • Tested memory pressure scenarios on replication instance (Lab 43-16)
    • Troubleshot table-level errors during migration (Lab 43-17)
    • Resolved common DMS error codes
    • Optimized task settings for better performance
    • Implemented retry logic for failed tasks
  • Data Warehousing & Caching:

    • Understood Redshift architecture for analytics workloads
    • Learned ElastiCache for in-memory caching
    • Compared Redis vs Memcached use cases
    • Understood when to use RDS vs Redshift vs DynamoDB

Challenges Encountered:

  • RDS Connection: Application couldn’t connect to RDS → Verified security group inbound rules and subnet routing
  • Multi-AZ Failover: Failover took longer than expected → Learned typical failover time is 60-120 seconds
  • Schema Conversion: Some stored procedures didn’t convert → Manually rewrote incompatible SQL syntax
  • DMS Replication Lag: CDC replication lagging behind → Increased replication instance size
  • Foreign Key Constraints: Migration failed due to constraints → Dropped constraints before migration, recreated after
  • Character Encoding: Data corruption during migration → Ensured matching character sets between source and target
  • Memory Pressure: DMS task failed under load → Increased task memory and optimized batch settings

References:

AWS Official Documentation:

AWS Workshops & Labs:

Technical Articles: