Migracja infrastruktury do chmury (AWS)

Cel projektu

Celem projektu było zaplanowanie i przeprowadzenie migracji środowiska serwerowego z infrastruktury lokalnej (on-premise) do Amazon Web Services (AWS).
Projekt miał na celu zwiększenie dostępności, elastyczności i bezpieczeństwa usług IT, przy jednoczesnym obniżeniu kosztów utrzymania i zwiększeniu automatyzacji.

Zakres projektu

1. Analiza i plan migracji

  • Audyt istniejącej infrastruktury (serwery aplikacyjne, bazy danych, usługi webowe).
  • Identyfikacja zależności i wymagań (zasoby CPU, RAM, storage, sieć).
  • Wybór modelu migracji: Lift-and-Shift (re-hosting) z późniejszą optymalizacją.
  • Przygotowanie architektury docelowej w AWS (VPC, subnety, routing, IAM).

Schemat migracji:

On-premise VM → Amazon EC2  
MySQL → Amazon RDS  
File storage → Amazon S3  
Backup → AWS Backup / Glacier  
Monitoring → CloudWatch + GuardDuty  

2. Wdrażanie środowiska w AWS

  • Utworzenie i konfiguracja VPC, Security Groups, IAM Roles.
  • Wdrożenie serwerów aplikacyjnych na Amazon EC2 z użyciem Elastic Load Balancer (ALB).
  • Migracja danych bazy MySQL do Amazon RDS z użyciem AWS Database Migration Service (DMS).
  • Przeniesienie plików statycznych do Amazon S3 i konfiguracja wersjonowania.
  • Ustawienie automatycznych kopii zapasowych i polityk rotacji.
Przykład kodu (Terraform – automatyzacja infrastruktury)
resource "aws_instance" "web_server" {
  ami           = "ami-08c40ec9ead489470"
  instance_type = "t3.micro"
  subnet_id     = aws_subnet.main.id
  security_groups = [aws_security_group.web_sg.id]

  tags = {
    Name = "web-server"
  }
}

resource "aws_s3_bucket" "static_files" {
  bucket = "myapp-static-files"
  versioning {
    enabled = true
  }
  tags = {
    Environment = "Production"
  }
}

Zabezpieczenie i monitoring

  • Implementacja AWS Identity and Access Management (IAM) z zasadą „least privilege”.
  • Aktywacja AWS CloudTrail, GuardDuty i Security Hub do audytu działań i detekcji incydentów.
  • Konfiguracja alertów w CloudWatch oraz notyfikacji przez SNS (Simple Notification Service).
  • Użycie AWS WAF (Web Application Firewall) dla ochrony warstwy aplikacyjnej.
Przykład kodu (Python – automatyczny backup do S3)
import boto3
from datetime import datetime

s3 = boto3.client('s3')
backup_file = '/tmp/db_backup.sql'
bucket_name = 'myapp-backups'

s3.upload_file(backup_file, bucket_name, f"backups/{datetime.now().strftime('%Y-%m-%d_%H-%M')}.sql")
print("[+] Backup bazy danych przesłany do S3")

Testy i optymalizacja
  • Testy wydajnościowe (Load Testing) przy użyciu Apache JMeter.
  • Walidacja bezpieczeństwa (IAM Policy Simulator, AWS Trusted Advisor).
  • Optymalizacja kosztów: zastosowanie EC2 Auto Scaling i S3 Lifecycle Policies.

Wykorzystane technologie

  • Amazon Web Services (EC2, S3, RDS, IAM, VPC, CloudWatch, CloudTrail, GuardDuty, WAF, Route 53)
  • Terraform, Python (boto3), AWS CLI
  • Linux (Ubuntu Server), MySQL, Nginx
  • JMeter, Grafana Cloud

Rezultaty projektu

✅ Migracja aplikacji i danych bez przerw w działaniu usług.
✅ Zwiększenie dostępności systemu (99,95%) i bezpieczeństwa dzięki AWS IAM i WAF.
✅ Skrócenie czasu tworzenia środowisk z kilku godzin do kilku minut (Terraform).
✅ Redukcja kosztów utrzymania o ok. 25% po 3 miesiącach.
✅ Wdrożony system backupu, logowania i monitoringu w chmurze.

Wnioski i dalszy rozwój

Projekt pokazał praktyczne aspekty Cloud Engineeringu i DevSecOps, łącząc automatyzację, bezpieczeństwo i optymalizację kosztów.
W kolejnych etapach planuję:

  • wdrożenie CI/CD (GitHub Actions + AWS CodePipeline),
  • konteneryzację aplikacji (ECS / EKS),
  • integrację z narzędziami bezpieczeństwa (AWS Security Hub, OpenSCAP).

Eng.

 Cloud Infrastructure Migration (AWS)

Lab Project – Cloud Engineering / DevSecOps

The goal of this project was to plan and execute a migration from on-premise servers to Amazon Web Services (AWS).
The process included architecture design, Terraform automation, database migration, and infrastructure security setup.

Key steps:

  • Designed AWS VPC, subnets, and security groups
  • Migrated databases using AWS DMS
  • Automated backups to S3 using Python (boto3)
  • Implemented monitoring (CloudWatch, GuardDuty)
  • Tested performance and optimized costs

Technologies:
AWS (EC2, S3, RDS, IAM, CloudTrail), Terraform, Python, Nginx, Linux, MySQL

Result:
High-availability cloud infrastructure, automated backups, real-time monitoring, and reduced operational costs.

Powiązane projekty

/