AWS vs Azure - praktyczne porównanie opcji tworzenia kopii zapasowych baz danych

Marek Latała 20 października 2023 Aktualizacja 07 lipca 2026 13 min czytania
Contents
Wybór między AWS a Azure w kontekście kopii zapasowych baz danych to nie tylko kwestia preferencji markowej. Każda platforma stosuje fundamentalnie inne podejście architektoniczne: AWS preferuje scentralizowaną usługę (AWS Backup) nałożoną na mechanizmy migawek poszczególnych serwisów, podczas gdy Azure wbudowuje geo-redundantne kopie zapasowe bezpośrednio w swoje zarządzane usługi bazodanowe. Ten przewodnik porównuje obie platformy pod kątem retencji, replikacji, kosztów, szyfrowania i zgodności regulacyjnej - z kodem Terraform gotowym do wdrożenia.

Dlaczego strategia kopii zapasowych baz danych ma znaczenie

Jedna błędnie skonfigurowana polityka retencji lub nieprzetestowana procedura odtwarzania (restore) może zamienić drobny incydent w katastrofalną utratę danych. Organizacje uruchamiające produkcyjne workloady na AWS lub Azure muszą dokładnie rozumieć, co każda platforma oferuje domyślnie - i gdzie pozostają luki wymagające dodatkowej konfiguracji.

Jeśli Twój zespół planuje migrację do chmury, architektura kopii zapasowych powinna być jedną z pierwszych decyzji. Koszt reimplementacji polityk po migracji jest znacząco wyższy niż zaprojektowanie ich prawidłowo od samego początku.

Architektura kopii zapasowych baz danych na AWS

AWS oferuje wiele warstw ochrony dla zarządzanych baz danych:

  • AWS Backup - scentralizowana usługa zarządzająca politykami kopii zapasowych dla RDS, Aurora, DynamoDB, EFS i innych z jednej konsoli
  • Automatyczne migawki RDS - codzienne pełne migawki (snapshots) z kopiami logów transakcji co 5 minut, umożliwiające odtwarzanie do punktu w czasie (PITR)
  • Kopie zapasowe Aurora - ciągłe kopie zapasowe do Amazon S3 bez wpływu na wydajność, plus obsługa backtrackingu (cofanie klastra bez konieczności odtwarzania)
  • Replikacja między regionami - ręczne lub automatyczne kopiowanie migawek do drugiego regionu AWS na potrzeby disaster recovery

Kluczową zaletą AWS Backup jest możliwość centralizacji zarządzania kopiami zapasowymi. Definiujesz plan raz i stosujesz go do zasobów w wielu kontach i regionach dzięki integracji z AWS Organisations.

Architektura kopii zapasowych baz danych na Azure

Azure stosuje bardziej zintegrowane podejście, gdzie kopie zapasowe są ściśle powiązane z samą usługą bazodanową:

  • Azure Backup vault - scentralizowana warstwa zarządzania politykami, koncepcyjnie podobna do AWS Backup, ale z głębszą integracją z Azure Policy
  • Geo-redundantne kopie Azure SQL - automatyczna geo-replikacja kopii zapasowych do sparowanego regionu, domyślnie włączona na większości warstw cenowych
  • Odtwarzanie do punktu w czasie - granularne przywracanie do dowolnego momentu w oknie retencji, typowo z RPO 5-10 minut
  • Długoterminowa retencja (LTR) - przechowywanie pełnych kopii zapasowych do 10 lat na potrzeby zgodności regulacyjnej

Wyróżnikiem Azure jest to, że geo-redundancja jest wbudowana w domyślne zachowanie kopii zapasowych. Nie trzeba osobno konfigurować kopiowania między regionami - dzieje się to automatycznie po wybraniu geo-redundantnego magazynu kopii zapasowych (GRS).

Porównanie funkcji: AWS vs Azure

Funkcja AWS (RDS / Aurora + AWS Backup) Azure (SQL Database / Managed Instance)
Automatyczne kopie zapasowe Codzienne migawki + logi transakcji co 5 min Pełna kopia tygodniowo, różnicowa codziennie, logi co 5-10 min
Domyślna retencja 7 dni (konfigurowalna 1-35 dni) 7 dni (konfigurowalna 1-35 dni, LTR do 10 lat)
Odtwarzanie do punktu w czasie Tak - do dowolnej sekundy w oknie retencji Tak - do dowolnego momentu w oknie retencji
Kopia między regionami Wymaga ręcznego kopiowania migawki lub reguły AWS Backup Automatyczna z opcją GRS (geo-redundant storage)
Scentralizowane zarządzanie AWS Backup z obsługą Organisations Azure Backup vault + Azure Policy
Kontrola okna kopii zapasowej Tak - konfigurowalne preferowane okno Nie - zarządzane przez system, brak kontroli użytkownika nad harmonogramem
Testowanie kopii zapasowych Wymagane ręczne odtworzenie do nowej instancji Odtwarzanie do punktu w czasie, zintegrowane ćwiczenia przywracania

Polityki retencji i zgodność regulacyjna

Obie platformy wspierają krótko- i długoterminową retencję, ale mechanizmy różnią się znacząco.

Model retencji AWS:

  • Automatyczne kopie RDS: retencja 1-35 dni
  • Blokada magazynu AWS Backup: niezmieniane kopie zapasowe na potrzeby compliance (WORM - Write Once Read Many)
  • Ręczne migawki: przechowywane bezterminowo do momentu jawnego usunięcia
  • Kopia między kontami: kopiowanie kopii zapasowych do izolowanych kont jako ochrona przed ransomware

Model retencji Azure:

  • Krótkoterminowa retencja: 1-35 dni dla PITR
  • Długoterminowa retencja (LTR): tygodniowe, miesięczne, roczne kopie przechowywane do 10 lat
  • Niezmieniane magazyny: zapobieganie usunięciu danych kopii zapasowych przed upływem okresu retencji
  • Soft delete: 14-dniowe okno odzyskiwania przypadkowo usuniętych kopii

Dla organizacji podlegających regulacjom takim jak GDPR, PCI DSS czy SOC 2, wbudowane polityki LTR w Azure są prostsze do skonfigurowania. Na AWS osiągnięcie podobnej długoterminowej retencji wymaga połączenia reguł cyklu życia AWS Backup z przejściami do S3 Glacier.

Porównanie kosztów

Wymiar kosztowy AWS Azure
Wliczona przestrzeń na kopie Bezpłatnie do 100% zarezerwowanej przestrzeni DB Bezpłatnie do 100% zarezerwowanej przestrzeni DB (większość warstw)
Dodatkowa przestrzeń na kopie $0.095/GB-miesiąc (zależy od regionu) RA-GRS: $0.05/GB-miesiąc, LRS: $0.024/GB-miesiąc
Kopia między regionami Transfer danych + przechowywanie migawki w docelowym regionie Wliczona w cenę GRS (brak osobnej opłaty za transfer)
Koszt odtwarzania Bez opłat za odtworzenie, płatność za nową instancję Bez opłat za odtworzenie, płatność za nową instancję
Długoterminowa retencja AWS Backup cold storage: $0.01/GB-miesiąc LTR: wliczona w cenę przestrzeni na kopie

Azure oferuje generalnie bardziej opłacalne geo-redundantne kopie zapasowe, ponieważ replikacja GRS jest wliczona w bazową cenę przechowywania. Na AWS replikacja między regionami wiąże się z odrębnymi opłatami za transfer danych, które mogą się kumulować przy dużych bazach. Jeśli oceniasz łączne koszty migracji, nasz przewodnik po kosztach migracji do chmury obejmuje pełny obraz, w tym kwestie licencjonowania.

Szyfrowanie i zgodność regulacyjna

Obie platformy domyślnie szyfrują kopie zapasowe, ale opcje zarządzania kluczami różnią się:

Szyfrowanie na AWS:

  • RDS wykorzystuje AWS KMS (Key Management Service)
  • Zaszyfrowane instancje automatycznie produkują zaszyfrowane migawki
  • Współdzielenie kluczy między kontami przez polityki kluczy KMS
  • AWS CloudTrail rejestruje wszystkie operacje tworzenia i odtwarzania kopii zapasowych

Szyfrowanie na Azure:

  • Transparent Data Encryption (TDE) z kluczami zarządzanymi przez usługę lub klienta
  • Integracja z Azure Key Vault dla scenariuszy BYOK (Bring Your Own Key)
  • Azure Monitor i Defender for Cloud zapewniają dashboardy zgodności
  • Dane kopii zapasowych domyślnie szyfrowane w spoczynku kluczami zarządzanymi przez platformę

Dla organizacji wymagających kluczy wspieranych przez HSM, AWS oferuje integrację z CloudHSM, natomiast Azure udostępnia Managed HSM w ramach Key Vault. Oba podejścia spełniają wymagania większości standardów zgodności, w tym SOC 2, ISO 27001 i HIPAA.

Przykłady konfiguracji Terraform

AWS Backup - plan z kopią między regionami

resource "aws_backup_vault" "primary" {
  name        = "production-db-vault"
  kms_key_arn = aws_kms_key.backup.arn

  tags = {
    Environment = "production"
    ManagedBy   = "terraform"
  }
}

resource "aws_backup_vault" "dr_region" {
  provider    = aws.dr_region
  name        = "dr-db-vault"
  kms_key_arn = aws_kms_key.backup_dr.arn
}

resource "aws_backup_plan" "rds_daily" {
  name = "rds-daily-backup-plan"

  rule {
    rule_name         = "daily-backup"
    target_vault_name = aws_backup_vault.primary.name
    schedule          = "cron(0 3 * * ? *)"

    lifecycle {
      cold_storage_after = 30
      delete_after       = 365
    }

    copy_action {
      destination_vault_arn = aws_backup_vault.dr_region.arn

      lifecycle {
        delete_after = 90
      }
    }
  }
}

resource "aws_backup_selection" "rds_instances" {
  iam_role_arn = aws_iam_role.backup.arn
  name         = "rds-production-databases"
  plan_id      = aws_backup_plan.rds_daily.id

  selection_tag {
    type  = "STRINGEQUALS"
    key   = "BackupPolicy"
    value = "daily"
  }
}

Azure Backup dla SQL Database z geo-redundancją

resource "azurerm_recovery_services_vault" "backup" {
  name                = "production-db-vault"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name
  sku                 = "Standard"

  soft_delete_enabled = true

  tags = {
    environment = "production"
    managed_by  = "terraform"
  }
}

resource "azurerm_backup_policy_vm" "daily" {
  name                = "daily-backup-policy"
  resource_group_name = azurerm_resource_group.main.name
  recovery_vault_name = azurerm_recovery_services_vault.backup.name

  backup {
    frequency = "Daily"
    time      = "03:00"
  }

  retention_daily {
    count = 35
  }

  retention_weekly {
    count    = 12
    weekdays = ["Sunday"]
  }

  retention_monthly {
    count    = 12
    weekdays = ["Sunday"]
    weeks    = ["First"]
  }

  retention_yearly {
    count    = 3
    weekdays = ["Sunday"]
    weeks    = ["First"]
    months   = ["January"]
  }
}

resource "azurerm_mssql_database" "production" {
  name                                = "production-db"
  server_id                           = azurerm_mssql_server.main.id
  sku_name                            = "GP_Gen5_4"
  geo_backup_enabled                  = true
  short_term_retention_policy {
    retention_days           = 35
    backup_interval_in_hours = 12
  }

  long_term_retention_policy {
    weekly_retention  = "P4W"
    monthly_retention = "P12M"
    yearly_retention  = "P3Y"
    week_of_year      = 1
  }
}

Który wybrać - praktyczny framework decyzyjny

Właściwa platforma zależy od specyficznych wymagań Twojej organizacji. Użyj tego frameworka, aby podjąć decyzję:

Wybierz AWS Backup, gdy:

  • Już uruchamiasz workloady na wielu kontach AWS i potrzebujesz scentralizowanego zarządzania przez AWS Organisations
  • Wymagasz precyzyjnej kontroli nad oknami kopii zapasowych i harmonogramami utrzymania
  • Twoja strategia disaster recovery zakłada replikację między regionami z granularnymi politykami cyklu życia
  • Musisz obejmować jedną polityką heterogeniczne workloady (RDS, DynamoDB, EFS, EC2)

Wybierz Azure Backup, gdy:

  • Potrzebujesz geo-redundantnych kopii zapasowych z minimalną konfiguracją (domyślnie włączone)
  • Długoterminowa retencja do 10 lat jest wymogiem regulacyjnym
  • Twoja organizacja intensywnie korzysta z Azure Active Directory i czerpie korzyści z natywnej integracji
  • Preferujesz prostszy model operacyjny, gdzie kopie zapasowe „po prostu działają” bez dodatkowej konfiguracji serwisów

Rozważ strategię multi-cloud, gdy:

  • Twoje workloady są rozdzielone między obu dostawców
  • Wymagania regulacyjne nakazują różnorodność geograficzną wykraczającą poza regiony jednego dostawcy
  • Potrzebujesz walidacji kopii zapasowych niezależnej od dostawcy na potrzeby audytu

Dla zespołów budujących skalowalną infrastrukturę z Terraform, powyższe przykłady Terraform stanowią punkt wyjścia, który możesz rozbudować. Jeśli potrzebujesz bieżącego zarządzania politykami kopii zapasowych obok monitoringu, aktualizacji i obsługi incydentów, retainer chmurowy zapewnia aktualność Twojej strategii w miarę rozwoju infrastruktury.

Kluczowe wnioski

  • AWS zapewnia bardziej granularną kontrolę i scentralizowane zarządzanie między kontami, co czyni go idealnym dla złożonych środowisk multi-account
  • Azure oferuje prostszą geo-redundancję od pierwszego dnia i bardziej intuicyjną konfigurację długoterminowej retencji
  • Obie platformy domyślnie szyfrują kopie zapasowe i integrują się z odpowiednimi usługami zarządzania kluczami
  • Różnice kosztowe są najistotniejsze przy replikacji między regionami - Azure wlicza ją w cenę GRS, podczas gdy AWS nalicza opłaty osobno
  • Terraform umożliwia spójną, audytowalną konfigurację kopii zapasowych na obu platformach

Nie wiesz, które podejście pasuje do Twojej organizacji? Nasz zespół konsultingowy może ocenić obecny stan Twoich kopii zapasowych i zaprojektować odporną strategię dopasowaną do wymagań compliance i budżetu.

Najczęściej zadawane pytania

Czy AWS Backup czy Azure Backup jest lepszy do disaster recovery baz danych?

Azure Backup domyślnie zapewnia geo-redundantne przechowywanie, co sprawia, że podstawowe disaster recovery jest prostsze w konfiguracji. AWS Backup oferuje bardziej granularne reguły kopiowania między regionami i polityki cyklu życia, co lepiej odpowiada złożonym środowiskom multi-account ze specyficznymi wymaganiami RPO/RTO.

Jak retencja kopii zapasowych AWS RDS wypada w porównaniu z Azure SQL?

Zarówno AWS RDS, jak i Azure SQL wspierają 1-35 dni krótkoterminowej retencji dla odtwarzania do punktu w czasie. Azure SQL oferuje dodatkowo wbudowaną długoterminową retencję (LTR) do 10 lat. Na AWS równoważna długoterminowa retencja wymaga reguł cyklu życia AWS Backup z przejściami do cold storage.

Co jest tańsze dla kopii zapasowych baz danych między regionami - AWS czy Azure?

Azure jest generalnie bardziej opłacalne dla kopii między regionami, ponieważ geo-redundantne przechowywanie (GRS) wlicza replikację w cenę bazową. AWS nalicza osobne opłaty za transfer danych przy kopiowaniu migawek między regionami, co może być istotne przy dużych bazach danych.

Czy można zarządzać kopiami zapasowymi baz danych na AWS i Azure za pomocą Terraform?

Tak. Zarówno AWS Backup, jak i Azure Recovery Services Vault są w pełni obsługiwane przez odpowiednie providery Terraform. Pozwala to definiować plany kopii zapasowych, polityki retencji, ustawienia szyfrowania i replikację między regionami jako kod, zapewniając spójną i audytowalną konfigurację.

Marek Latała

Potrzebujesz pomocy w zaprojektowaniu strategii kopii zapasowych?

Niezależnie od tego, czy działasz na AWS, Azure czy obu platformach jednocześnie - prawidłowe zaprojektowanie architektury kopii zapasowych od pierwszego dnia oszczędza znaczne koszty i redukuje ryzyko. Nasz zespół wdrożył rozwiązania disaster recovery dla organizacji z sektora finansowego, ochrony zdrowia i SaaS.

AWS Azure backup RDS disaster-recovery
marek.jpg
Marek Latała
Devops Engineer

Sumienny i elastyczny inżynier DevOps, który wnosi bogate doświadczenie zawodowe i techniczne zdobyte w różnych obszarach sektora IT. Jego motywacja i odpowiedzialność sprawiają, że dostarcza wysokiej jakości rozwiązania w swojej obecnej roli w dynamicznym dziale IT.

Spis treści

Przeczytaj również:

Poprzedni post Następny post