Mam klaster AWS RDS Aurora Postgresql z czterema instancjami z wdrażaniem multi-AZ w produkcji. Szyfrowanie-odpoczynek nie został włączony na tym klastrze. Teraz muszę włączyć szyfrowanie na tym istniejącemu klastrze. Dokumenty AWS zaproponują, żebym stworzył migawkę tego klastra, a następnie przywrócić klaster ponownie za pomocą szyfrowania włączonym tym samym. REF: Oto

Ponieważ mój klaster służy w produkcji, a żadne przestoje lub zawiesinę I / O jest dla mnie dopuszczalne. Oto kilka pytań, na które chciałbym się odpowiedzieć przed planowaniem na szyfrowaniu istniejącego klastra:

  1. Czy podczas tworzenia migawki jest jakieś przestoje, że istnieje wiele danych, a migawka zajmie trochę czasu.
  2. A co z nowymi danymi, które są zapisywane do bazy danych podczas tworzenia migawek? Czy tworzenie migawek w czasie rzeczywistym lub stracę nowe dane w czasie, aż zostanie podjęta migawka?
  3. Czy to jedyny sposób, aby umożliwić szyfrowanie w klastrze produkcyjnym, wiedząc, że spowoduje to niektóre przestoje bazy danych?
0
SurvivorX 22 listopad 2020, 12:41

1 odpowiedź

Najlepsza odpowiedź

Istnieje sposób, aby zaszyfrować swoje AWS RDS Amazon Aurora z klastrem kompatybilności PostgreSQL bez lub minimalnego przestoju, ale zajmie trochę wysiłku.

Musisz wykonać następujące czynności:

  1. Dla źródła DB musisz wziąć migawkę.
  2. Następnie skopiuj ten migawka i sprawdź Enable Encryption i wybierz Default Encryption Key lub wybierz Custom AWS KMS CMK, teraz masz zaszyfrowaną kopię Snapshot DB.
  3. Restore Ten zaszyfrowany migawka do nowej instancji DB i możesz włączyć Multi-AZ i dodać Read Replicas teraz lub zmodyfikuj je po migracji.
  4. Teraz masz dwa instancje DB Encrypted i Unencrypted, ale niedopasowane dane, ponieważ jest to baza danych produkcji.
  5. Będziemy używać DMS AWS, aby wykonać synchroniczną replikację danych lub ou można użyć replikacji logicznej PostgreSQL z Aurora zamiast AWS DMS, będzie lepiej, oba będą działać.
  6. Idź do konsoli AWS DMS, utwórz zadanie DMS AWS.
  7. W przypadku typu migracji wybierz Migrate existing data and replicate ongoing changes.
  8. W trybie przygotowania tabeli docelowej wybierz Truncate.
  9. W ramach zaawansowanych ustawień zadania włącz tabelę awsdms_status, jeśli chcesz weryfikować stan replikacji.
  10. Uruchom zadanie migracji i poczekaj, aż wszystkie rekordy są aktualizowane. AWS DMS określił rozmiar danych do migracji.
  11. Następnie musisz zweryfikować dane w instancji DB Encrypted po migracji jest taka sama jak instancja Unencrypted DB.
  12. Sprawdź stan replikacji w AWS DMS, sprawdzając zadanie migracji i awsdms_status.
  13. Możesz teraz kierować ruch do nowego punktu końcowego.
  14. W przypadku gładkiego środka cutover użyj trasy Amazon 53 do kierowania ruchu, zmieniając DNS TTL do krótkiej wartości i ostatecznie wymiana nazw punktowych w trasie 53.

teraz odpowiadając na twoje pytania,

  1. Czy istnieje jakieś przestoje podczas tworzenia migawki zakładając, że istnieje wiele danych, a migawka zajmie trochę czasu.

Zgodnie z instalacją klastra, prowadzisz wdrażanie multi-AZ, automatyczne kopie zapasowe i migawki DB są po prostu pobierane z trybu gotowości, aby uniknąć zawiesiny we / wy na pierwotnym. Należy pamiętać, że możesz wystąpić zwiększone opóźnienia we / wy (zazwyczaj trwające kilka minut) podczas kopii zapasowych zarówno dla wdrożeń pojedynczych, jak i Multi-AZ.

  1. A co z nowymi danymi, które są zapisywane do bazy danych podczas tworzenia migawek? Czy tworzenie migawki w czasie rzeczywistym lub ja stracą nowe dane w czasie, aż migawka jest zrobione?

Stracisz dane napisane po podjęciu migawki, więc użyjesz AWS DMS do replikacji danych synchronicznych do szyfrowanych instancji DB.

  1. Czy to jedyny sposób, aby umożliwić szyfrowanie w klastrze produkcyjnym, wiedząc, że spowoduje to niektórych przestojów bazy danych?

Tak, jest to jedyny sposób, ale spowoduje to niewielkie przestoje.

1
Hossam ELMansy 22 listopad 2020, 11:17