Leesreplica's maken en beheren in Azure Database for PostgreSQL - Flexible Server vanuit Azure Portal, CLI of REST API
Artikel
VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server
In dit artikel leert u hoe u leesreplica's in Azure Database for PostgreSQL flexibele server maakt en beheert vanuit azure Portal, CLI en REST API. Zie het overzicht voor meer informatie over leesreplica's.
Bij het implementeren van leesreplica's voor permanente zware primaire werkbelastingen met veel schrijfintensieve primaire workloads, kan de replicatievertraging blijven groeien en kan de replicatievertraging nooit worden bijgehouden met de primaire werkbelasting. Dit kan ook het opslaggebruik bij de primaire opslag verhogen, omdat de WAL-bestanden slechts eenmaal worden verwijderd nadat ze zijn ontvangen op de replica.
Primaire instellingen controleren
Voordat u een leesreplica instelt voor een flexibele Azure Database for PostgreSQL-server, moet u ervoor zorgen dat de primaire server is geconfigureerd om te voldoen aan de vereiste vereisten. Specifieke instellingen op de primaire server kunnen van invloed zijn op de mogelijkheid om replica's te maken.
Automatisch vergroten van opslag: instellingen voor automatisch vergroten van opslag op de primaire server en de leesreplica's moeten voldoen aan specifieke richtlijnen om consistentie te garanderen en replicatieonderbrekingen te voorkomen. Raadpleeg de automatische groei van Opslag voor gedetailleerde regels en instellingen.
Premium SSD v2: de huidige release biedt geen ondersteuning voor het maken van leesreplica's voor primaire servers met premium SSD v2-opslag. Als voor uw workload leesreplica's zijn vereist, kiest u een andere opslagoptie voor de primaire server.
Kies in Azure Portal het flexibele serverexemplaren van Azure Database for PostgreSQL dat u wilt gebruiken voor de replica.
Noteer in het dialoogvenster Overzicht de PostgreSQL-versie (bijvoorbeeld 15.4). Let ook op de regio waar uw primaire primaire is geïmplementeerd (bijvoorbeeld East US).
Selecteer Compute en opslag in de zijbalk van de server onder Instellingen.
De opdrachten in deze handleiding zijn van toepassing op Azure CLI versie 2.56.0 of hoger. Zorg ervoor dat u de vereiste versie of een latere versie hebt geïnstalleerd om deze opdrachten uit te voeren. U kunt uw huidige Versie van Azure CLI controleren door deze uit te voeren az --version in de opdrachtregelinterface. Als u Azure CLI wilt bijwerken naar de nieuwste versie, volgt u de instructies in de Azure CLI-documentatie.
Gebruik de opdracht om de configuratie en de huidige status van een Flexibele Azure PostgreSQL-server weer te az postgres flexible-server show geven. Deze opdracht bevat gedetailleerde informatie over de opgegeven server.
az postgres flexible-server show \
--resource-group <resource-group> \
--name <server-name>
Vervang en <server-name> door <resource-group> uw specifieke resourcegroep en de naam van de server die u wilt weergeven.
Als u informatie wilt over de configuratie van een server in Azure Database for PostgreSQL Flexibele server, met name om instellingen voor onlangs geïntroduceerde functies zoals automatische groei van opslag of private link weer te geven, moet u de nieuwste API-versie 2023-06-01-previewgebruiken. De GET aanvraag wordt als volgt opgemaakt:
Vervang , {resourceGroupName}en {serverName} door {subscriptionId}uw Azure-abonnements-id, de naam van de resourcegroep en de naam van de primaire server die u wilt controleren. Met deze aanvraag krijgt u toegang tot de configuratiedetails van uw primaire server, zodat deze correct is ingesteld voor het maken van een leesreplica.
Selecteer een bestaand exemplaar van een flexibele Azure Database for PostgreSQL-server dat u als primaire server wilt gebruiken.
Selecteer Replicatie in de zijbalk van de server onder Instellingen.
Selecteer Replica maken.
Voer het basisformulier in met de volgende informatie.
Selecteer Controleren en maken om het maken van de replica of Volgende te bevestigen: Netwerken als u firewallregels wilt toevoegen, verwijderen of wijzigen.
Laat de overige standaardwaarden staan en selecteer vervolgens de knop Beoordelen en maken onder aan de pagina of ga verder met de volgende formulieren om tags toe te voegen of de gegevensversleutelingsmethode te wijzigen.
Bekijk de informatie in het laatste bevestigingsvenster. Wanneer u klaar bent, selecteert u Maken. Er wordt een nieuwe implementatie gemaakt.
Tijdens de implementatie ziet u de primaire Updating status.
Nadat de leesreplica is gemaakt, kan deze worden weergegeven vanuit het venster Replicatie .
Vervang <replica-name>, <resource-group>, <source-server-name>en <location> door uw specifieke waarden.
Nadat de leesreplica is gemaakt, kunnen de eigenschappen van alle servers, die replica's van een primaire replica zijn, worden verkregen met behulp van de az postgres flexible-server replica create opdracht.
az postgres flexible-server replica list \
--name <source-server-name> \
--resource-group <resource-group>
Vervang <source-server-name>en <resource-group> door uw specifieke waarden.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{replicaserverName}?api-version=2022-12-01
Hier moet u uw specifieke Azure-abonnements-id, de naam van uw resourcegroep en de gewenste naam voor uw leesreplica vervangen{subscriptionId}{resourceGroupName}{replicaserverName}.
Nadat de leesreplica is gemaakt, kunnen de eigenschappen van alle servers, die replica's van een primaire replica zijn, worden verkregen door een HTTP GET aanvraag te starten met behulp van de lijst met replica's per server-API:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{sourceserverName}/replicas?api-version=2022-12-01
Hier moet u respectievelijk uw specifieke Azure-abonnements-id, de naam van uw resourcegroep en de naam die u hebt toegewezen aan uw primaire replica vervangen{subscriptionId}{resourceGroupName}{sourceserverName}.
Het is een CAF-best practice (Cloud Adoption Framework) om een naamconventie voor resources te gebruiken waarmee u eenvoudig kunt bepalen met welk exemplaar u verbinding maakt of beheert en waar deze zich bevindt.
Selecteer een andere locatie dan uw primaire locatie, maar houd er rekening mee dat u dezelfde regio kunt selecteren.
Tip
Raadpleeg het artikel leesreplicaconcepten voor meer informatie over de regio's waarin u een replica kunt maken.
Stel de berekening en opslag in op wat u hebt vastgelegd op basis van uw primaire opslag. Als de weergegeven berekening niet overeenkomt, selecteert u Server configureren en selecteert u de juiste.
Notitie
Als u een rekenkracht selecteert die kleiner is dan de primaire, mislukt de implementatie. Houd er ook rekening mee dat de rekenkracht mogelijk niet beschikbaar is in een andere regio.
Om problemen tijdens de promotie van replica's voortdurend te voorkomen, veranderen eerst de volgende serverparameters op de replica's, voordat ze worden toegepast op de primaire: max_connections, max_prepared_transactions, max_locks_per_transaction, max_wal_senders, , . max_worker_processes
Virtuele eindpunten maken
Notitie
Alle bewerkingen met betrekking tot virtuele eindpunten, zoals toevoegen, bewerken of verwijderen, worden uitgevoerd in de context van de primaire server.
Vervang <resource-group>, <primary-name>, <virtual-endpoint-name>en <replica-name> door uw specifieke waarden.
Als u een virtueel eindpunt wilt maken met behulp van de REST API van Azure, gebruikt u een HTTP PUT aanvraag. De aanvraag ziet er als volgt uit:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{sourceserverName}/virtualendpoints/{virtualendpointName}?api-version=2023-06-01-preview
De bijbehorende JSON-hoofdtekst voor deze aanvraag is als volgt:
Selecteer Replicatie in de zijbalk van de server onder Instellingen.
Boven aan de pagina ziet u zowel de eindpunten van de lezer als de schrijver, samen met de namen van de servers waarnaar ze verwijzen.
U kunt de details van het virtuele eindpunt weergeven met behulp van de opdracht of show de list opdracht. Aangezien slechts één virtueel eindpunt per primair replicapaar is toegestaan, leveren beide opdrachten hetzelfde resultaat op.
Hier volgt een voorbeeld van het gebruik van de list opdracht:
az postgres flexible-server virtual-endpoint list \
--resource-group <resource-group> \
--server-name <server-name>
Vervang <server-name> door de naam van uw primaire server en <resource-group> door de naam van uw resourcegroep.
U kunt de show opdracht als volgt gebruiken:
az postgres flexible-server virtual-endpoint show \
--name <virtual-endpoint-name>
--resource-group <resource-group> \
--server-name <server-name>
Vervang in deze opdracht en<server-name> vervang <virtual-endpoint-name>deze <resource-group> door de respectieve namen. <server-name> is de naam van uw primaire server.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{sourceserverName}/virtualendpoints?api-version=2023-06-01-preview
{sourceserverName} Hier moet de naam zijn van de primaire server van waaruit u de virtuele eindpunten beheert.
Toepassing wijzigen zodat deze verwijst naar het virtuele eindpunt
Wijzig alle toepassingen die gebruikmaken van uw flexibele Azure Database for PostgreSQL-serverexemplaren om de nieuwe virtuele eindpunten te gebruiken (bijvoorbeeld: corp-pg-001.writer.postgres.database.azure.com en corp-pg-001.reader.postgres.database.azure.com).
Replica's promoveren
Nu alle benodigde onderdelen aanwezig zijn, bent u klaar om een niveau van replica naar primaire bewerking uit te voeren.
Voer de volgende stappen uit om de replica te promoveren vanuit Azure Portal:
Selecteer in Azure Portal uw primaire exemplaar van azure Database for PostgreSQL Flexibele server.
Selecteer Replicatie in het servermenu onder Instellingen.
Selecteer onder Servers het pictogram Niveau verhogen voor de replica.
Controleer in het dialoogvenster of de actie Niveau verhogen naar de primaire server is.
Voor gegevenssynchronisatie moet u ervoor zorgen dat geplande synchronisatiegegevens zijn voordat promotie wordt geselecteerd.
Selecteer Niveau verhogen om het proces te starten. Zodra deze is voltooid, worden de rollen omgekeerd: de replica wordt de primaire en de primaire rol van de replica.
Gebruik de opdracht bij het az postgres flexible-server replica promote promoveren van een replica naar een primaire server in Azure PostgreSQL Flexible Server. Dit proces is essentieel voor het verhogen van een replicaserver om te functioneren als de primaire server en degradatie van de huidige primaire naar replica-rol. Geef --promote-mode switchover de opdracht op en --promote-option planned geef deze op.
Vervang <resource-group> en vervang deze <replica-server-name> door de naam van uw specifieke resourcegroep en replicaserver. Met deze opdracht zorgt u voor een soepele overgang van de replica naar een primaire rol op een geplande manier.
Gebruik bij het promoveren van een replica naar een primaire server een HTTP PATCH aanvraag met een specifieke JSON hoofdtekst om de promotieopties in te stellen. Dit proces is van cruciaal belang wanneer u een replicaserver moet uitbreiden om te fungeren als de primaire server.
In dit JSONgeval wordt de promotie ingesteld in switchover de modus met een planned promotieoptie. Hoewel er twee opties zijn voor promotie- planned of forced - kiest u planned voor deze oefening.
Notitie
Aan de replica die u promoveert, moet het virtuele eindpunt van de lezer zijn toegewezen, anders krijgt u een foutmelding over promotie.
Toepassingen testen
Als u bepaalde bewerkingen wilt uitvoeren, start u uw toepassingen opnieuw op en probeert u deze bewerkingen uit te voeren. Uw toepassingen moeten naadloos functioneren zonder het virtuele eindpunt te wijzigen verbindingsreeks of DNS-vermeldingen. Laat uw toepassingen deze keer actief.
Failback naar de oorspronkelijke server en regio
Herhaal dezelfde bewerkingen om de oorspronkelijke server naar de primaire server te promoveren.
Selecteer Replicatie in de zijbalk van de server onder Instellingen
Selecteer onder Servers het pictogram Niveau verhogen voor de replica.
Controleer in het dialoogvenster of de actie Niveau verhogen naar de primaire server is.
Voor gegevenssynchronisatie moet u ervoor zorgen dat geplande synchronisatiegegevens zijn voordat promotie wordt geselecteerd.
Selecteer Niveau verhogen, het proces begint. Zodra deze is voltooid, worden de rollen omgekeerd: de replica wordt de primaire en de primaire rol van de replica.
Wijzig deze keer de <replica-server-name> in de az postgres flexible-server replica promote opdracht om te verwijzen naar uw oude primaire server, die momenteel als een replica fungeert en voer de aanvraag opnieuw uit.
Vervang en <replica-server-name> door <resource-group> de naam van uw specifieke resourcegroep en huidige replicaserver.
Wijzig deze keer de {replicaserverName} API-aanvraag om te verwijzen naar uw oude primaire server, die momenteel als replica fungeert en voer de aanvraag opnieuw uit.
In dit JSONgeval wordt de promotie ingesteld in switchover de modus met een planned promotieoptie. Hoewel er twee opties zijn voor promotie- planned of forced - kiest u planned voor deze oefening.
Toepassingen testen
Schakel opnieuw over naar een van de verbruikende toepassingen. Wacht totdat de primaire en replicastatus is gewijzigd Updating en probeer vervolgens enkele bewerkingen uit te voeren. Tijdens het promoveren van de replica kan uw toepassing tijdelijke verbindingsproblemen met het eindpunt ondervinden:
Secundaire leesreplica toevoegen
Maak een secundaire leesreplica in een afzonderlijke regio om het virtuele eindpunt van de lezer te wijzigen en om een onafhankelijke server te maken op basis van de eerste replica.
Kies in Azure Portal het primaire exemplaar van de flexibele Azure Database for PostgreSQL-server.
Selecteer Replicatie in de zijbalk van de server onder Instellingen.
Selecteer Replica maken.
Voer het basisformulier in met informatie in een derde regio (bijvoorbeeld westus )corp-pg-westus-001
Selecteer Controleren en maken om het maken van de replica of Volgende te bevestigen: Netwerken als u firewallregels wilt toevoegen, verwijderen of wijzigen.
Controleer de firewallinstellingen. U ziet hoe de primaire instellingen automatisch worden gekopieerd.
Laat de overige standaardwaarden staan en selecteer vervolgens de knop Beoordelen en maken onder aan de pagina of ga verder met de volgende formulieren om beveiliging te configureren of tags toe te voegen.
Bekijk de informatie in het laatste bevestigingsvenster. Wanneer u klaar bent, selecteert u Maken. Er wordt een nieuwe implementatie gemaakt.
Tijdens de implementatie ziet u de primaire Updating status.
Kies een afzonderlijke naam om <replica-name> deze te onderscheiden van de primaire server en andere replica's.
Vervang <resource-group>, <source-server-name>en <location> door uw specifieke waarden.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{replicaserverName}?api-version=2022-12-01
Kies een afzonderlijke naam om {replicaserverName} deze te onderscheiden van de primaire server en andere replica's.
Kies in Azure Portal het primaire exemplaar van de flexibele Azure Database for PostgreSQL-server.
Selecteer Replicatie in de zijbalk van de server onder Instellingen.
Selecteer het beletselteken en selecteer vervolgens Bewerken.
Selecteer in het dialoogvenster de nieuwe secundaire replica.
Selecteer Opslaan. Het eindpunt van de lezer is nu gericht op de secundaire replica en de promotiebewerking is nu gekoppeld aan deze replica.
U kunt nu het eindpunt van de lezer wijzigen zodat deze verwijst naar de zojuist gemaakte secundaire replica met behulp van een az postgres flexible-server virtual-endpoint update opdracht. Vergeet niet om deze te vervangen door <replica-name> de naam van de zojuist gemaakte leesreplica.
Vervang <resource-group>, <server-name>, <virtual-endpoint-name>en <replica-name> door uw specifieke waarden.
U kunt nu het eindpunt van de lezer wijzigen zodat deze verwijst naar de zojuist gemaakte secundaire replica met behulp van een PATCH aanvraag. Vergeet niet om deze te vervangen door {replicaserverName} de naam van de zojuist gemaakte leesreplica.
In plaats van over te schakelen naar een replica, is het ook mogelijk om de replicatie van een replica te verbreken, zodat deze de zelfstandige server wordt.
Kies in Azure Portal de primaire server van Azure Database for PostgreSQL flexibele server.
Selecteer Replicatie in de zijbalk van de server in het servermenu onder Instellingen.
Selecteer onder Servers het pictogram Niveau verhogen voor de replica die u wilt promoveren naar een onafhankelijke server.
Controleer in het dialoogvenster of de actie Niveau verhogen naar onafhankelijke server is en verwijder uit replicatie. Dit heeft geen invloed op de primaire server.
Voor gegevenssynchronisatie moet u ervoor zorgen dat geplande synchronisatiegegevens zijn voordat promotie wordt geselecteerd.
Selecteer Niveau verhogen, het proces begint. Zodra dit is voltooid, is de server geen replica meer van de primaire server.
Wanneer u een replica in Azure PostgreSQL Flexible Server promoveert, is het standaardgedrag om deze te promoveren naar een onafhankelijke server. De promotie wordt bereikt met behulp van de az postgres flexible-server replica promote opdracht zonder de --promote-mode optie op te geven, omdat standalone standaard wordt uitgegaan van de modus.
Vervang in deze opdracht <resource-group> de naam van uw specifieke resourcegroep en <replica-server-name> de naam van de eerste replicaserver die u hebt gemaakt, die geen deel meer uitmaakt van het virtuele eindpunt.
U kunt een replica promoveren naar een zelfstandige server met behulp van een PATCH aanvraag. Verzend een PATCH aanvraag naar de opgegeven AZURE Management REST API-URL met de eerste JSON hoofdtekst, waar PromoteMode deze is ingesteld standalone op en PromoteOption op planned. De indeling van de tweede JSON hoofdtekst, ingesteld ReplicationRole op None, is afgeschaft, maar wordt hier nog steeds vermeld voor compatibiliteit met eerdere versies.
Selecteer Replicatie in de zijbalk van de server onder Instellingen.
Zoek Virtual endpoints de sectie boven aan de pagina. Navigeer naar de drie puntjes (menuopties) naast de naam van het eindpunt, vouw deze uit en kies Delete.
Er wordt een bevestigingsvenster voor verwijderen weergegeven. Er wordt een waarschuwing weergegeven: 'Met deze actie wordt het virtuele eindpunt virtualendpointNameverwijderd. Clients die zijn verbonden met deze domeinen, hebben mogelijk geen toegang meer. Bevestig de gevolgen en bevestig dit door op Verwijderen te klikken.
Als u een virtueel eindpunt van een Flexibele Azure PostgreSQL-server wilt verwijderen, kunt u de az postgres flexible-server virtual-endpoint delete opdracht gebruiken. Met deze actie wordt het opgegeven virtuele eindpunt definitief verwijderd.
Vervang in deze opdracht en <server-name>vervang <resource-group>deze <virtual-endpoint-name> door uw specifieke resourcegroep, servernaam en de naam van het virtuele eindpunt dat u wilt verwijderen.
Als u een virtueel eindpunt wilt verwijderen met behulp van de REST API van Azure, zou u een HTTP DELETE aanvraag indienen. De aanvraag-URL wordt als volgt gestructureerd:
U kunt een leesreplica verwijderen die vergelijkbaar is met hoe u een zelfstandig exemplaar van een flexibele Azure Database for PostgreSQL-server verwijdert.
Open in Azure Portal de pagina Overzicht voor de leesreplica. Selecteer Verwijderen.
U kunt de leesreplica ook verwijderen uit het venster Replicatie door de volgende stappen uit te voeren:
Selecteer in Azure Portal uw primaire exemplaar van azure Database for PostgreSQL Flexibele server.
Selecteer Replicatie in het servermenu onder Instellingen.
Selecteer de leesreplica die u wilt verwijderen en selecteer vervolgens het beletselteken. Selecteer Verwijderen.
Bevestig de bewerking Verwijderen .
Als u een primaire server of replicaserver wilt verwijderen, gebruikt u de az postgres flexible-server delete opdracht. Als de server leesreplica's heeft, moet u eerst de leesreplica's verwijderen voordat u de primaire server verwijdert.
az postgres flexible-server delete \
--resource-group <resource-group> \
--name <server-name>
Vervang <resource-group> en <server-name> door de naam van de resourcegroep en de naam van de replicaserver die u wilt verwijderen.
Als u een primaire of replicaserver wilt verwijderen, gebruikt u de API voor het verwijderen van servers. Als de server leesreplica's heeft, moeten leesreplica's eerst worden verwijderd voordat u de primaire server verwijdert.
U kunt de primaire server alleen verwijderen nadat u alle leesreplica's hebt verwijderd. Als u replica's wilt verwijderen, volgt u de instructies in de sectie Een replica verwijderen en gaat u vervolgens verder met de opgegeven stappen.
Voer de volgende stappen uit om een server te verwijderen uit Azure Portal:
Selecteer in Azure Portal uw primaire exemplaar van azure Database for PostgreSQL Flexibele server.
Open de pagina Overzicht voor de server en selecteer Verwijderen.
Voer de naam in van de primaire server die u wilt verwijderen. Selecteer Verwijderen om het verwijderen van de primaire server te bevestigen.
Als u een primaire server of replicaserver wilt verwijderen, gebruikt u de az postgres flexible-server delete opdracht. Als de server leesreplica's heeft, moeten leesreplica's eerst worden verwijderd voordat u de primaire server verwijdert.
az postgres flexible-server delete \
--resource-group <resource-group> \
--name <server-name>
Vervang en <server-name> door <resource-group> de naam van uw resourcegroep en de naam van de primaire server die u wilt verwijderen.
Als u een primaire of replicaserver wilt verwijderen, gebruikt u de API voor het verwijderen van servers. Als de server leesreplica's heeft, moeten leesreplica's eerst worden verwijderd voordat u de primaire server verwijdert.
Er zijn twee metrische gegevens beschikbaar om leesreplica's te bewaken.
Maximale vertraging van fysieke replicatie
Alleen beschikbaar op de primaire.
De meetwaarde Max Physical Replication Lag toont de bytevertraging tussen de primaire server en de meest achterblijvende replica.
Selecteer in Azure Portal de primaire server.
Selecteer Metrische gegevens. Selecteer Max Physical Replication Lag in het venster Metrische gegevens.
Selecteer Max voor uw aggregatie.
Metrische waarde replicavertraging lezen
De metrische gegevens leesreplicavertraging toont de tijd sinds de laatste opnieuw afgespeelde transactie op een replica. Als er geen transacties plaatsvinden op uw primaire computer, weerspiegelt de metrische waarde deze tijdvertraging. Als er bijvoorbeeld geen transacties plaatsvinden op uw primaire server en de laatste transactie vijf seconden geleden opnieuw is afgespeeld, toont de vertraging van leesreplica een vertraging van 5 seconden.
Selecteer leesreplica in Azure Portal.
Selecteer Metrische gegevens. Selecteer leesreplicavertraging in het venster Metrische gegevens.