Jak zoptymalizować koszty w usłudze Azure Database for PostgreSQL — serwer elastyczny
DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny
Serwer elastyczny usługi Azure Database for PostgreSQL to usługa relacyjnej bazy danych w chmurze firmy Microsoft oparta na wersji Community Edition postgreSQL. Jest to w pełni zarządzana baza danych oferowana jako usługa, która może obsługiwać obciążenia o krytycznym znaczeniu — z przewidywalną wydajnością i dynamiczną skalowalnością.
Ten artykuł zawiera listę zaleceń dotyczących optymalizacji kosztów serwera elastycznego usługi Azure Database for PostgreSQL. Lista zawiera zagadnienia dotyczące projektowania, listę kontrolną konfiguracji i zalecane ustawienia bazy danych, które ułatwiają optymalizację obciążenia.
- Skorzystaj z cen pojemności zarezerwowanej.
- Skalowanie obliczeń w górę/w dół.
- Korzystanie z rekomendacji usługi Azure Advisor.
- Ocena wymagań dotyczących wysokiej dostępności i odzyskiwania po awarii (wysokiej dostępności).
- Konsolidowanie baz danych i serwerów.
- Umieść serwery testowe w regionach geograficznych, które są ekonomiczne.
- Uruchamianie i zatrzymywanie serwerów.
- Archiwizowanie starych danych w magazynie zimnym.
1. Korzystanie z cen pojemności zarezerwowanej
Cennik pojemności zarezerwowanej usługi Azure Postgres umożliwia zobowiązanie się do określonej pojemności przez 1–3 lata, co pozwala zaoszczędzić koszty dla klientów korzystających z elastycznego serwera usługi Azure Database for PostgreSQL. Oszczędności kosztów w porównaniu z płatnością zgodnie z rzeczywistym użyciem mogą być znaczące, w zależności od ilości zarezerwowanej pojemności i długości okresu. Klienci mogą kupować pojemność zarezerwowaną w przyrostach rdzeni wirtualnych i magazynu. Pojemność zarezerwowana może pokryć koszty wystąpień serwera elastycznego usługi Azure Database for PostgreSQL w tym samym regionie, które są stosowane do subskrypcji platformy Azure klienta. Ceny zarezerwowane dla serwera elastycznego usługi Azure Database for PostgreSQL oferują oszczędności w wysokości do 40% przez 1 rok i do 60% dla 3-letnich zobowiązań dla klientów, którzy rezerwują pojemność. Aby uzyskać więcej informacji, zobacz Kalkulator cen | Microsoft Azure. Aby dowiedzieć się więcej, zobacz Co to są rezerwacje platformy Azure?
2. Skalowanie obliczeń w górę/w dół
Skalowanie w górę lub w dół zasobów wystąpienia elastycznego serwera usługi Azure Database for PostgreSQL może pomóc w optymalizacji kosztów. Dostosuj rdzenie wirtualne i magazyn zgodnie z potrzebami, aby płacić tylko za niezbędne zasoby. Skalowanie można wykonać za pośrednictwem witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST platformy Azure. Skalowanie zasobów obliczeniowych w górę lub w dół można wykonać w dowolnym momencie i wymaga ponownego uruchomienia serwera. Dobrym rozwiązaniem jest monitorowanie wzorców użycia bazy danych i dostosowanie zasobów odpowiednio do optymalizacji kosztów i zapewnienia wydajności. Aby uzyskać więcej informacji, zobacz Opcje obliczeń i magazynowania na serwerze elastycznym usługi Azure Database for PostgreSQL.
Konfigurowanie środowisk innych niż prod konserwatywnie — skonfiguruj bezczynne środowiska deweloperskie/testowe/etapowe, aby mieć ekonomiczne jednostki SKU. Wybór jednostek SKU z możliwością zwiększenia wydajności jest idealny dla obciążeń, które nie wymagają ciągłej pełnej pojemności.
Aby dowiedzieć się więcej, zobacz Operacje skalowania na serwerze elastycznym usługi Azure Database for PostgreSQL
3. Korzystanie z rekomendacji usługi Azure Advisor
Azure Advisor to bezpłatna usługa, która udostępnia zalecenia ułatwiające optymalizowanie zasobów platformy Azure. Analizuje konfigurację zasobów i wzorce użycia oraz udostępnia zalecenia dotyczące zwiększania wydajności, zabezpieczeń, wysokiej dostępności i opłacalności zasobów platformy Azure. Zalecenia obejmują różne usługi platformy Azure, w tym obliczenia, magazyn, sieć i bazy danych.
W przypadku usługi Azure Database for PostgreSQL usługa Azure Advisor może udostępnić zalecenia dotyczące zwiększania wydajności, dostępności i opłacalności bazy danych. Może na przykład sugerować skalowanie bazy danych w górę lub w dół, użycie replik do odczytu w celu odciążenia obciążeń intensywnie korzystających z odczytu lub przełączenie do cen pojemności zarezerwowanej w celu zmniejszenia kosztów. Usługa Azure Advisor może również zalecić najlepsze rozwiązania w zakresie zabezpieczeń, takie jak włączanie szyfrowania magazynowanych lub włączanie reguł zabezpieczeń sieci w celu ograniczenia ruchu przychodzącego do bazy danych.
Dostęp do zaleceń udostępnianych przez usługę Azure Advisor można uzyskać za pośrednictwem witryny Azure Portal, w której można wyświetlać i implementować zalecenia za pomocą zaledwie kilku kliknięć. Implementowanie zaleceń usługi Azure Advisor może pomóc w optymalizacji zasobów platformy Azure i zmniejszeniu kosztów. Aby dowiedzieć się więcej, zobacz Azure Advisor for Azure Database for PostgreSQL — serwer elastyczny
4. Ocena wysokiej dostępności (wysoka dostępność) i odzyskiwanie po awarii (odzyskiwanie po awarii) — wymagania
Elastyczny serwer usługi Azure Database for PostgreSQL ma wbudowany węzeł i odporność magazynu bez dodatkowych kosztów. Odporność węzła umożliwia elastycznemu wystąpieniu serwera usługi Azure Database for PostgreSQL automatyczne przejście w tryb failover do maszyny wirtualnej w dobrej kondycji bez utraty danych (czyli zerowej celu punktu odzyskiwania) i bez parametry połączenia zmian, z wyjątkiem tego, że aplikacja musi ponownie nawiązać połączenie. Podobnie dzienniki danych i transakcji są przechowywane w trzech synchronicznych kopiach i automatycznie wykrywa uszkodzenie magazynu i podejmuje działania naprawcze. W przypadku większości obciążeń tworzenia i testowania oraz w przypadku wielu obciążeń produkcyjnych ta konfiguracja powinna wystarczyć.
Jeśli obciążenie wymaga odporności modułu AZ i niższego celu czasu odzyskiwania, możesz włączyć wysoką dostępność przy użyciu trybu wstrzymania między strefami lub między azami. To podwaja koszty wdrażania, ale zapewnia również wyższą umowę SLA. Aby uzyskać odporność geograficzną dla aplikacji, możesz skonfigurować usługę GeoBackup pod kątem niższych kosztów, ale z wyższym celem czasu odzyskiwania. Alternatywnie możesz skonfigurować georeadReplica pod kątem dwukrotnego kosztu, który oferuje cel czasu odzyskiwania w minutach, jeśli wystąpiła awaria geograficzna.
Kluczowym rozwiązaniem jest ocena wymagania pełnego stosu aplikacji, a następnie wybranie odpowiedniej konfiguracji dla wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL. Jeśli na przykład aplikacja nie jest odporna na awarię modułu AZ, nie ma nic do zdobycia, konfigurując serwer elastyczny usługi Azure Database for PostgreSQL w konfiguracji odpornej na błędy az.
Aby dowiedzieć się więcej, zobacz [Architektura wysokiej dostępności na serwerze elastycznym]/azure/reliability/reliability-postgresql-flexible-server
5. Konsolidowanie baz danych i serwerów
Konsolidacja baz danych może być strategią oszczędzania kosztów dla elastycznego serwera usługi Azure Database for PostgreSQL. Konsolidacja wielu baz danych w jednym wystąpieniu serwera elastycznego usługi Azure Database for PostgreSQL może zmniejszyć liczbę wystąpień i całkowity koszt działania serwera elastycznego usługi Azure Database for PostgreSQL. Wykonaj następujące kroki, aby skonsolidować bazy danych i obniżyć koszty:
- Dostęp do serwera: zidentyfikuj serwer, który można skonsolidować, biorąc pod uwagę rozmiar bazy danych, region geograficzny, konfigurację (procesor CPU, pamięć, operacje we/wy na sekundę), wymagania dotyczące wydajności, typ obciążenia i wymagania dotyczące spójności danych.
- Utwórz nowe wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL: utwórz nowe wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL z wystarczającą ilością procesorów wirtualnych, pamięci i magazynu, aby obsługiwać skonsolidowane bazy danych.
- Ponownie użyj istniejącego wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL: jeśli masz już istniejący serwer, upewnij się, że ma wystarczającą liczbę procesorów wirtualnych, pamięci i magazynu do obsługi skonsolidowanych baz danych.
- Migrowanie baz danych: migrowanie baz danych do nowego wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL. Do eksportowania i importowania baz danych można użyć narzędzi, takich jak pg_dump i pg_restore.
- Monitorowanie wydajności: monitoruj wydajność skonsolidowanego wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL i dostosuj zasoby zgodnie z potrzebami, aby zapewnić optymalną wydajność.
Konsolidowanie baz danych może pomóc zaoszczędzić koszty dzięki zmniejszeniu liczby wystąpień serwera elastycznego usługi Azure Database for PostgreSQL, które należy uruchomić, i dzięki umożliwieniu korzystania z większych wystąpień, które są bardziej ekonomiczne niż mniejsze wystąpienia. Ważne jest, aby ocenić wpływ konsolidacji na wydajność baz danych i upewnić się, że skonsolidowane wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL jest odpowiednio dopasowane do wszystkich potrzeb bazy danych.
Aby dowiedzieć się więcej, zobacz Zwiększanie wydajności aplikacji platformy Azure przy użyciu usługi Azure Advisor
6. Umieszczanie serwerów testowych w oszczędnych regionach geograficznych
Tworzenie serwera testowego w regionie świadczenia usługi Azure ekonomicznej może być strategią oszczędzania kosztów dla serwera elastycznego usługi Azure Database for PostgreSQL. Tworząc serwer testowy w regionie o niższych kosztach zasobów obliczeniowych, można zmniejszyć koszt działania serwera testowego i zminimalizować koszt działania serwera elastycznego usługi Azure Database for PostgreSQL. Poniżej przedstawiono kilka kroków, które pomogą Ci utworzyć serwer testowy w regionie platformy Azure, który jest ekonomiczny:
- Identyfikowanie ekonomicznego regionu: zidentyfikuj region platformy Azure z niższym kosztem zasobów obliczeniowych.
- Utwórz nowe wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL: utwórz nowe wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL w regionie opłacalnym z odpowiednią konfiguracją środowiska testowego.
- Migrowanie danych testowych: przeprowadź migrację danych testowych do nowego wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL. Do eksportowania i importowania baz danych można użyć narzędzi, takich jak pg_dump i pg_restore.
- Monitorowanie wydajności: monitoruj wydajność serwera testowego i dostosuj zasoby zgodnie z potrzebami, aby zapewnić optymalną wydajność.
Tworząc serwer testowy w regionie platformy Azure, można zmniejszyć koszt działania serwera testowego i zminimalizować koszt działania serwera elastycznego usługi Azure Database for PostgreSQL. Ważne jest, aby ocenić wpływ regionu na wydajność serwera testowego i określone wymagania regionalne organizacji. Gwarantuje to, że opóźnienie sieci i koszty transferu danych są akceptowalne dla twojego przypadku użycia.
Aby dowiedzieć się więcej, zobacz Regiony świadczenia usługi Azure
7. Uruchamianie i zatrzymywanie serwerów
Uruchamianie i zatrzymywanie serwerów może być strategią oszczędzania kosztów dla serwera elastycznego usługi Azure Database for PostgreSQL. Uruchamiając serwer tylko wtedy, gdy jest potrzebny, można zmniejszyć koszt działania serwera elastycznego usługi Azure Database for PostgreSQL. Poniżej przedstawiono kilka kroków, które ułatwiają uruchamianie i zatrzymywanie serwerów oraz oszczędzanie kosztów:
- Zidentyfikuj serwer: zidentyfikuj wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL, które chcesz uruchomić i zatrzymać.
- Uruchom serwer: uruchom wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL, gdy będzie potrzebne. Serwer można uruchomić przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST platformy Azure.
- Zatrzymaj serwer: zatrzymaj wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL, gdy nie jest ono potrzebne. Serwer można zatrzymać przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST platformy Azure.
- Ponadto jeśli serwer był w stanie zatrzymania (lub bezczynności) przez kilka tygodni ciągłych, można rozważyć usunięcie serwera po wymaganej staranności.
Uruchamiając i zatrzymując serwer w razie potrzeby, można zmniejszyć koszt działania serwera elastycznego usługi Azure Database for PostgreSQL. Aby zapewnić płynną wydajność bazy danych, ważne jest, aby ocenić wpływ uruchamiania i zatrzymywania serwera oraz mieć niezawodny proces dla tych akcji zgodnie z potrzebami. Aby dowiedzieć się więcej, zobacz Zatrzymywanie wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL i Uruchamianie wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL.
8. Archiwizowanie starych danych dla magazynu zimnego
Archiwizowanie rzadko używanych danych do magazynu archiwum platformy Azure (przy jednoczesnym zachowaniu dostępu) może pomóc obniżyć koszty. Eksportowanie danych z elastycznego serwera usługi Azure Database for PostgreSQL do magazynu zarchiwizowanego platformy Azure i przechowywanie ich w niższej warstwie magazynowania.
- Skonfiguruj konto usługi Azure Blob Storage i utwórz kontener dla kopii zapasowych bazy danych.
- Użyj
pg_dump
polecenia , aby wyeksportować stare dane do pliku. - Użyj interfejsu wiersza polecenia platformy Azure lub programu PowerShell, aby przekazać wyeksportowany plik do kontenera usługi Blob Storage.
- Skonfiguruj zasady przechowywania w kontenerze usługi Blob Storage, aby automatycznie usuwać stare kopie zapasowe.
- Zmodyfikuj skrypt kopii zapasowej, aby wyeksportować stare dane do usługi Blob Storage zamiast magazynu lokalnego.
- Przetestuj proces tworzenia i przywracania kopii zapasowej, aby upewnić się, że zarchiwizowane dane można przywrócić w razie potrzeby.
Możesz również użyć usługi Azure Data Factory do zautomatyzowania tego procesu.
Aby dowiedzieć się więcej, zobacz Migrowanie elastycznej bazy danych serwera usługi Azure Database for PostgreSQL przy użyciu zrzutu i przywracania
Kompromisy dotyczące kosztów
Podczas projektowania bazy danych aplikacji na serwerze elastycznym usługi Azure Database for PostgreSQL należy rozważyć kompromisy między optymalizacją kosztów a innymi aspektami projektu, takimi jak zabezpieczenia, skalowalność, odporność i funkcjonalność.
Koszt a niezawodność
Koszt ma bezpośrednią korelację z niezawodnością.
Koszt a wydajność
Zwiększenie wydajności doprowadzi do wyższych kosztów.
Koszt a zabezpieczenia
Zwiększenie bezpieczeństwa obciążenia zwiększy koszty.
Koszt a doskonałość operacyjna
Inwestowanie w systemy monitorowania i automatyzacji może początkowo zwiększyć koszty, ale w czasie obniży koszty.
Powiązana zawartość
- Omówienie filaru optymalizacji kosztów.
- Kompromisy za koszt.
- Lista kontrolna — optymalizowanie kosztów.
- Lista kontrolna — monitorowanie kosztów.