Udostępnij za pośrednictwem


Najlepsze rozwiązania dotyczące architektury dla usługi Azure Database for PostgreSQL

Ten artykuł zawiera najlepsze rozwiązania dotyczące architektury dla usługi Azure Database for PostgreSQL.

Wskazówki są oparte na pięciu filarach doskonałości architektonicznej:

  • Niezawodność
  • Bezpieczeństwo
  • Optymalizacja kosztów
  • Doskonałość operacyjna
  • Wydajność

Warunki wstępne

Zrozumienie filarów platformy Well-Architected Framework może pomóc w uzyskaniu wysokiej jakości, stabilnej i wydajnej architektury chmury. Zalecamy przejrzenie obciążenia przy użyciu oceny Azure Well-Architected Framework Review.

Azure Database for PostgreSQL to usługa relacyjnej bazy danych na platformie Azure, oparta na otwartoźródłowej relacyjnej bazie danych PostgreSQL. Jest to w pełni zarządzana baza danych jako usługa, która może obsługiwać obciążenia o krytycznym znaczeniu dla misji z przewidywalną wydajnością, zabezpieczeniami, wysoką dostępnością i dynamiczną skalowalnością. Usługa Azure Database for PostgreSQL jest oparta na wersji community aparatu bazy danych PostgreSQL. Jest ona zgodna z wersją Community Edition serwera PostgreSQL i obsługuje funkcje rozszerzenia PostgreSQL, takie jak PostGIS i TimescaleDB.

Notatka

Aby zapoznać się z rozwiązaniem o małej wadze, które używa usługi Azure Database for PostgreSQL do przechowywania wyników analitycznych z usług Cognitive Services API, zobacz Intelligent apps using Azure Database for PostgreSQL.

Niezawodność

Usługa Azure Database for PostgreSQL — Serwer elastyczny oferuje obsługę wysokiej dostępności przez aprowizowanie fizycznie oddzielnych replik podstawowych i rezerwowych w tej samej strefie dostępności (strefowo) lub w różnych strefach dostępności (nadmiarowo-strefowych). Ten model wysokiej dostępności zapewnia, że zatwierdzone dane nigdy nie zostaną utracone, jeśli wystąpi awaria. Model został również zaprojektowany, aby baza danych nie stała się pojedynczym punktem awarii w architekturze oprogramowania. Azure Database for PostgreSQL — serwer elastyczny udostępnia funkcje, które chronią dane i zmniejszają przestoje baz danych o znaczeniu krytycznym podczas planowanych i nieplanowanych zdarzeń przestojów. Oparta na infrastrukturze platformy Azure, która oferuje niezawodną odporność i dostępność, serwer elastyczny ma funkcje ciągłości działania, które zapewniają ochronę błędów, spełniają wymagania dotyczące czasu odzyskiwania i zmniejszają narażenie na utratę danych.

Lista kontrolna projektowania niezawodności

Należy zapoznać się z zasadami projektowania w celu zoptymalizowania kosztów architektury.

  • Zdefiniowane cele dla RPO (Recovery Point Objective) i RTO (Recovery Time Objective) dla obciążeń.
  • Wybierz odpowiednią konfigurację wysokiej dostępności.
  • Skonfiguruj kopię zapasową z nadmiarowością geograficzną.
  • Przetestuj plan odzyskiwania po awarii, aby zapewnić szybkie przywracanie danych w przypadku awarii.
  • Przetestuj tryb failover na żądanie dla serwera z obsługą wysokiej dostępności, aby upewnić się, że nasza aplikacja działa zgodnie z oczekiwaniami.
  • Monitoruj serwer, aby upewnić się, że jest on w dobrej kondycji i działa zgodnie z oczekiwaniami.

Zalecenia dotyczące niezawodności

Zalecenie Korzyść
Zdefiniowane cele dla celu punktu odzyskiwania (cel punktu odzyskiwania) i cel czasu odzyskiwania (cel czasu odzyskiwania) dla obciążeń. Uzyskaj te wartości, przeprowadzając ocenę ryzyka i zapewniając zrozumienie kosztów i ryzyka przestojów i utraty danych. Są to niefunkcjonalne wymagania systemu i powinny być podyktowane wymaganiami biznesowymi.
Wybierz odpowiednią konfigurację wysokiej dostępności. Serwer usługi Azure Database for PostgreSQL oferuje konfiguracje wysokiej dostępności, zapewniając dostępność usługi, jeśli wystąpi awaria strefy i żadne dane nie zostaną utracone. Po skonfigurowaniu wysokiej dostępności serwer usługi Azure Database for PostgreSQL automatycznie aprowizuje replikę rezerwową i zarządza nią.
Konfigurowanie zapewnienia geograficznej redundancji dla kopii zapasowej. Replikacje odczytu między regionami można wdrożyć, aby chronić bazy danych przed awariami regionalnymi. Geo-redundantne kopie zapasowe są włączone w wybranych regionach i pomagają w odzyskiwaniu po awarii, w przypadku awarii regionu serwera podstawowego.

Redundancja geograficzna może również być osiągnięta przy użyciu magazynu usługi Azure Backup do długoterminowego przechowywania punktów odzyskiwania. W przypadku awarii regionalnej lub awarii możesz użyć usługi Azure Backup, aby przywrócić serwer bazy danych do sparowanego regionu platformy Azure, minimalizując przestój.

Usługa Azure Backup oferuje również geo-nadmiarowość dla Azure Database for PostgreSQL — serwer elastyczny, co zwiększa efektywność i redukuje przestoje podczas awarii lub przerw w działaniu regionów.
Przetestuj plan odzyskiwania po awarii, aby zapewnić szybkie przywracanie danych, jeśli wystąpi awaria. Repliki do odczytu można wdrożyć w innym regionie i awansować do serwera odczytu i zapisu, jeśli jest potrzebne odzyskiwanie po awarii.
Monitoruj serwer, aby upewnić się, że jest on w dobrej kondycji i działa zgodnie z oczekiwaniami. Monitorujemy bazę danych w celu monitorowania i zgłaszania alertów dotyczących błędów na poziomie bazy danych.

Napiwek

Aby uzyskać więcej informacji na temat wskazówek dotyczących niezawodności usługi Azure Database for PostgreSQL, zobacz Niezawodność za pomocą usługi Azure Database for PostgreSQL.

Definicje zasad platformy Azure

Definicje usługi Azure Policy ułatwiają wymuszanie określonych reguł i konfiguracji dla zasobów w środowisku platformy Azure. Aby zapewnić niezawodność usługi Azure Database for PostgreSQL, możesz utworzyć niestandardowe definicje usługi Azure Policy w celu zaimplementowania określonych konfiguracji i najlepszych rozwiązań. Oto przykład niektórych niestandardowych definicji usługi Azure Policy, które można utworzyć pod kątem niezawodności:

Bezpieczeństwo

Pomyśl o zabezpieczeń w całym cyklu życia aplikacji— od projektowania i implementacji po wdrażanie i operacje. Platforma Azure chroni przed różnymi zagrożeniami, takimi jak włamanie do sieci i ataki DDoS. Nadal musisz utworzyć zabezpieczenia w aplikacji i procesach DevOps.

Lista kontrolna projektu zabezpieczeń

Należy zapoznać się z zasadami projektowania w celu zoptymalizowania kosztów architektury.

  • Protokół SSL i wymuszanie szyfrowania w celu zabezpieczenia danych przesyłanych.
  • Zaimplementuj sieciowe grupy zabezpieczeń i zapory, aby kontrolować dostęp do bazy danych.
  • Użyj identyfikatora Entra firmy Microsoft do uwierzytelniania i autoryzacji, aby ulepszyć zarządzanie tożsamościami.
  • Konfigurowanie zabezpieczeń na poziomie wiersza.

Zalecenia dotyczące zabezpieczeń

Zalecenie Korzyść
Protokół SSL i wymuszanie szyfrowania w celu zabezpieczenia danych przesyłanych. Wdróż globalny certyfikat główny firmy DigiCert z certyfikatu zaufanego urzędu certyfikacji wymaganego do komunikacji za pośrednictwem protokołu SSL z aplikacjami klienckimi.
Zaimplementuj sieciowe grupy zabezpieczeń i zapory, aby kontrolować dostęp do bazy danych. W ramach modelu zero trust dla zabezpieczeń segmentacja sieci jest zalecana, gdy ścieżki komunikacji między składnikami (w tym przypadku aplikacja i serwer bazy danych) są ograniczone tylko do tego, co jest potrzebne. Można to zaimplementować przy użyciu sieciowej grupy zabezpieczeń i grup zabezpieczeń aplikacji.
Użyj identyfikatora Entra firmy Microsoft do uwierzytelniania i autoryzacji, aby ulepszyć zarządzanie tożsamościami. Uwierzytelnianie identyfikatorem Microsoft Entra to mechanizm nawiązywania połączenia z usługą Azure Database for PostgreSQL przy użyciu tożsamości zdefiniowanych w usłudze Azure AD.
Konfigurowanie zabezpieczeń na poziomie wiersza. zabezpieczenia na poziomie wiersza (RLS) to funkcja zabezpieczeń postgreSQL, która umożliwia administratorom bazy danych definiowanie zasad w celu kontrolowania sposobu wyświetlania i działania określonych wierszy danych dla co najmniej jednej roli. Zabezpieczenia na poziomie wiersza to dodatkowy filtr, który można zastosować do tabeli bazy danych PostgreSQL.

Optymalizacja kosztów

Optymalizacja kosztów polega na zrozumieniu opcji konfiguracji i zalecanych najlepszych rozwiązań w celu zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Należy przejrzeć obciążenie, aby zidentyfikować możliwości zmniejszenia kosztów.

Lista kontrolna projektu kosztów

Należy zapoznać się z zasadami projektowania w celu zoptymalizowania kosztów architektury.

  • Wybierz odpowiednią warstwę i jednostkę SKU.
  • Omówienie trybu wysokiej dostępności.
  • Skalowanie warstw obliczeniowych i magazynowania.
  • Rozważ wystąpienia zarezerwowane.
  • Użyj przydzielonego magazynu.
  • Omówienie kosztów nadmiarowości geograficznej.
  • Ocena decyzji dotyczących rozbudowy magazynu.
  • Wdróż w tym samym regionie co aplikacja.
  • Opis kosztu zorientowanego na wysoką dostępność.
  • Konsolidowanie baz danych i serwerów.

Zalecenia dotyczące kosztów

Zalecenia Korzyści
Wybierz odpowiednią warstwę i kod SKU. Wybierz odpowiednią warstwę cenową i oblicz SKU, które obsługują określone potrzeby Twojego obciążenia. Usługa Azure Advisor udostępnia zalecenia dotyczące optymalizacji i zmniejszenia ogólnych wydatków na platformę Azure. Zalecenia obejmują optymalne dostosowanie rozmiaru serwera, które powinno się przestrzegać.
Omówienie trybu wysokiej dostępności. Wysoka dostępność sprawia, że serwer rezerwowy jest zawsze dostępny w tej samej strefie lub regionie. Włączenie wysokiej dostępności podwaja koszt.
Dostosowywanie warstw obliczeniowych i magazynowania. Należy ręcznie dostosować warstwy obliczeniowe i magazynowania, aby spełniały wymagania aplikacji z upływem czasu.
Użyj funkcji Uruchamianie/zatrzymywanie. Serwer elastyczny ma funkcję uruchamiania/zatrzymywania, której można użyć, aby zatrzymać działanie serwera, gdy nie jest on potrzebny.
Rozważ wystąpienia zarezerwowane. Rozważ subskrypcję na jeden lub trzy lata, aby otrzymać znaczne zniżki na usługi obliczeniowe. Użyj tych rezerwacji dla obciążeń ze spójnym użyciem mocy obliczeniowej przez rok lub dłużej.
Użyj przydzielonego magazynu. Za magazyn kopii zapasowych do 100% całkowitej przydzielonej przestrzeni dyskowej serwera nie są naliczane dodatkowe opłaty.
Omówienie kosztów nadmiarowości. Magazyn geograficznie nadmiarowy (GRS) kosztuje dwa razy więcej niż magazyn lokalnie nadmiarowy (LRS). GRS wymaga dwukrotnie większej pojemności niż LRS.
Zrozumienie kosztów przechowywania chronionych instancji i kopii zapasowych Podczas tworzenia kopii zapasowej bazy danych PostgreSQL — serwer elastyczny przy użyciu usługi Azure Backup naliczane są opłaty za wystąpienie chronione (za 250 GB) i opłaty za magazyn kopii zapasowych (na podstawie całkowitej ilości przechowywanych danych i typu nadmiarowości).
Ocena decyzji dotyczących rozszerzania magazynu. Przed skalowaniem magazynu w górę należy ocenić bieżące i przyszłe potrzeby magazynu. Po skalowaniu przechowywania w górę nie można skalować w dół.
Wdróż w tym samym regionie co aplikacja. Wdróż w tym samym regionie co aplikacje, aby zminimalizować koszty transferu. W przypadku korzystania z integracji sieci wirtualnej aplikacje w innej sieci wirtualnej nie mają bezpośredniego dostępu do serwerów elastycznych. Aby udzielić im dostępu, należy skonfigurować peering sieci wirtualnych. Komunikacja równorzędna sieci wirtualnych ma nominalne koszty transferu danych przychodzących i wychodzących.
Opis kosztu zorientowanego na wysoką dostępność. Jest to kompromis między HA a kosztami. Konfiguracja wysokiej dostępności jest dwa razy droższa niż konfiguracja bez niej, ale jest niezbędna.
Konsolidowanie baz danych i serwerów. Aby zmniejszyć koszty, można skonsolidować wiele baz danych i serwerów w jeden serwer.

Definicje zasad platformy Azure

Definicje usługi Azure Policy ułatwiają wymuszanie określonych reguł i konfiguracji dla zasobów w środowisku platformy Azure. Aby zapewnić optymalizację kosztów dla usługi Azure Database for PostgreSQL, możesz utworzyć niestandardowe definicje usługi Azure Policy, aby wymusić określone konfiguracje i najlepsze rozwiązania. Oto przykład niektórych niestandardowych definicji usługi Azure Policy, które można utworzyć na potrzeby optymalizacji kosztów:

Doskonałość operacyjna

Zasady doskonałości operacyjnej to szereg zagadnień, które mogą pomóc w osiągnięciu lepszych praktyk operacyjnych.

Aby osiągnąć wyższą kompetencję w zakresie operacji, należy rozważyć i poprawić sposób tworzenia, wdrażania, obsługi i konserwacji oprogramowania.

Lista kontrolna projektowania doskonałości operacyjnej

Należy zapoznać się z zasadami projektowania w celu zoptymalizowania kosztów architektury.

  • Skonfiguruj automatyczne kopie zapasowe i zasady przechowywania, aby zachować dostępność danych i spełnić wymagania dotyczące zgodności.
  • Zaimplementuj automatyczne stosowanie poprawek i aktualizacji, aby zapewnić bezpieczeństwo i up-to-date wystąpienia postgreSQL.
  • Monitorowanie kondycji i wydajności bazy danych przy użyciu usługi Azure Monitor i konfigurowanie alertów dotyczących metryk krytycznych.

Zalecenia dotyczące doskonałości operacyjnej

Zalecenie Korzyści
Skonfiguruj automatyczne kopie zapasowe i zasady przechowywania, aby zachować dostępność danych i spełnić wymagania dotyczące zgodności.

Alternatywnie, użyj zasad kopii zapasowej Azure , aby utworzyć kopię zapasową serwera Azure Database for PostgreSQL.

Możesz również użyć tych zasad usługi Azure Backup, aby chronić usługę Azure Database for PostgreSQL — serwer elastyczny.
Usługa Azure Database for PostgreSQL zapewnia automatyczne kopie zapasowe i odzyskiwanie danych do wybranego punktu w czasie dla twojej bazy danych. Okres przechowywania kopii zapasowych można skonfigurować do 35 dni.

Usługa Azure Backup umożliwia definiowanie sposobu i czasu tworzenia kopii zapasowych, okresu przechowywania punktów odzyskiwania oraz reguł ochrony i odzyskiwania danych. Punkty odzyskiwania można przechowywać w magazynie usługi Backup przez maksymalnie 10 lat.

Użyj polisy kopii zapasowej Azure w celu zapewnienia długoterminowej ochrony usługi Azure Database for PostgreSQL — Elastyczny Serwer oraz zarządzania bezpieczeństwem i integralnością bazy danych. Operacje tworzenia kopii zapasowych i przywracania można również zarządzać przy użyciu Centrum ciągłości biznesowej platformy Azure.
Zaimplementuj automatyczne stosowanie poprawek i aktualizacji, aby zapewnić bezpieczeństwo i up-to-date wystąpienia postgreSQL. Usługa Azure Database for PostgreSQL zapewnia automatyczne stosowanie poprawek i aktualizacji bazy danych. Możesz skonfigurować okno obsługi serwera, aby zminimalizować wpływ na obciążenie.
Monitorowanie kondycji i wydajności bazy danych przy użyciu usługi Azure Monitor i konfigurowanie alertów dotyczących metryk krytycznych. Usługa Azure Database for PostgreSQL zapewnia wbudowane funkcje monitorowania i zgłaszania alertów. Kondycję i wydajność bazy danych można monitorować przy użyciu usługi Azure Monitor. Możesz również skonfigurować alerty dla metryk krytycznych, aby otrzymywać powiadomienia, gdy baza danych nie działa zgodnie z oczekiwaniami.

Definicje zasad doskonałości operacyjnej

Definicje usługi Azure Policy ułatwiają wymuszanie określonych reguł i konfiguracji dla zasobów w środowisku platformy Azure. Aby zapewnić doskonałość operacyjną dla usługi Azure Database for PostgreSQL, możesz utworzyć niestandardowe definicje usługi Azure Policy, aby wymusić określone konfiguracje i najlepsze rozwiązania. Oto przykład niektórych niestandardowych definicji usługi Azure Policy, które można utworzyć dla doskonałości operacyjnej:

Wydajność

Wydajność to możliwość skalowania obciążenia w celu zaspokojenia wymagań, które są na nim nakładane przez użytkowników. Zalecamy zapoznanie się z zasadami wydajności.

Na poniższej liście kontrolnej projektu i liście zaleceń objaśnienia wskazują, czy każdy wybór ma zastosowanie do architektury klastra, architektury obciążenia, czy obu tych elementów.

Lista kontrolna projektowania wydajności

Należy zapoznać się z zasadami projektowania w celu zoptymalizowania kosztów architektury.

  • Zaprojektuj schemat i zapytania pod kątem wydajności, aby zminimalizować zużycie zasobów.
  • Zaimplementuj repliki do odczytu, aby odciążyć ruch odczytu i zwiększyć ogólną wydajność.

Zalecenia dotyczące wydajności

Zalecenie Korzyści
Zaprojektuj schemat i zapytania pod kątem wydajności, aby zminimalizować zużycie zasobów. Należy zaprojektować schemat i zapytania pod kątem wydajności, aby zminimalizować zużycie zasobów.
Zaimplementuj repliki odczytu, aby zmniejszyć obciążenie ruchem odczytu i zwiększyć ogólną wydajność. Repliki do odczytu można użyć do odciążenia ruchu odczytu i zwiększenia wydajności.

Definicje zasad wydajności

Definicje usługi Azure Policy ułatwiają wymuszanie określonych reguł i konfiguracji dla zasobów w środowisku platformy Azure. Aby zapewnić wydajność usługi Azure Database for PostgreSQL, możesz utworzyć niestandardowe definicje usługi Azure Policy, aby wymusić określone konfiguracje i najlepsze rozwiązania. Oto przykład niektórych niestandardowych definicji usługi Azure Policy, które można utworzyć pod kątem wydajności:

Dodatkowe zasoby

Rozważ więcej zasobów związanych z usługą Azure Database for PostgreSQL.

Wskazówki dotyczące centrum architektury platformy Azure

Wskazówki dotyczące Cloud Adoption Framework

Następny krok