Delen via


Quickstart: Een flexibele Azure Database for PostgreSQL-server maken

Azure Database for PostgreSQL is een beheerde service die u kunt gebruiken om PostgreSQL-databases met hoge beschikbaarheid in de cloud uit te voeren, te beheren en te schalen.

In deze quickstart ziet u hoe u een exemplaar van een flexibele Azure Database for PostgreSQL-server maakt met behulp van azure Portal, Azure CLI of ARM-sjablonen (Azure Resource Manager).

Vereiste voorwaarden

Zorg ervoor dat u voordat u begint de volgende zaken paraat hebt:

  • Een Azure-abonnement. Als u er nog geen hebt, maakt u een gratis Azure-account.
  • Juiste machtigingen voor het maken van resources in uw abonnement.

Begrijpen wat u maakt

Een exemplaar van een flexibele Azure Database for PostgreSQL-server omvat:

  • Een geconfigureerde set reken- en opslagresources.
  • Implementatie binnen een Azure-resourcegroep.
  • Een postgres database die standaard is gemaakt.
  • Een azure_maintenance database voor beheerde serviceprocessen.
  • Een azure_sys database voor queryopslag en indexafstemmingsfuncties.

Opmerking

Verbindingen gebruiken doorgaans poort 5432 of poort 6432 als u verbinding maakt via de ingebouwde PgBouncer-verbindingspooler .

Server maken met behulp van Azure Portal

  1. Meld u aan bij het Azure-portaal.
  2. Selecteer Een resource maken in de linkerbovenhoek.
  3. Selecteer Databases onder Categorieën.
  4. Zoek en selecteer Azure Database voor PostgreSQL flexibele server.
  5. Klik op Creëren.

Basisinstellingen configureren

Projectgegevens

Configuratie Voorgestelde waarde Opmerkingen
Subscription Uw abonnement Kiezen waar u de resource wilt factureren
Resourcegroep myresourcegroup Nieuwe maken of bestaande selecteren

Serverdetails

Configuratie Voorgestelde waarde Description
servernaam mydemoserver-pgsql De naam moet wereldwijd uniek zijn. Domein .postgres.database.azure.com wordt automatisch toegevoegd
Region De dichtstbijzijnde regio voor u Houd rekening met naleving, gegevenslocatie, prijzen en nabijheid van gebruikers
PostgreSQL-versie Meest recente beschikbaar Momenteel ondersteund: 18, 17, 16, 15, 14, 13, 12, 11
Workloadtype Ontwikkeling De ontwikkeling maakt gebruik van burstbare SKU's. Productie maakt gebruik van Algemeen Doel of Geheugen Geoptimaliseerd.
Beschikbaarheidszone Geen voorkeur Handig om uw toepassing samen te voegen op dezelfde locatie

Hoge beschikbaarheid

Optie SLA Description
Disabled 99,9% Eén server zonder stand-by
Dezelfde zone 99,95% Standby in dezelfde beschikbaarheidszone
Zoneredundant 99,99% Stand-by in een andere beschikbaarheidszone

Authenticatie

Configuratie Description Aanbevolen
Verificatiemethode Hoe gebruikers verifiëren - Alleen PostgreSQL-verificatie (voor quickstart)
- Microsoft Entra-verificatie (voor productie)
- Beide (voor flexibiliteit)
Gebruikersnaam van beheerder adminuser - Moet 1-63 tekens zijn
- Alleen cijfers en letters
- Kan niet beginnen met pg_
- Kan niet systeem-gereserveerde namen zijn
wachtwoord Complex wachtwoord 8-128 tekens met hoofdletters, kleine letters, cijfers en speciale tekens

Rekenkracht en opslag configureren

Selecteer Server configureren om aan te passen:

Rekenlaag

Rang Gebruiksituatie Description
Burstable Ontwikkeling Voor workloads die geen continue volledige CPU nodig hebben
Algemeen doel Productie Meest voorkomende productieworkloads
Geoptimaliseerd voor geheugen Workloads met hoog geheugen Workloads waarvoor een hoge verhouding tussen geheugen en CPU is vereist

Opslaginstellingen

Configuratie Kan later wijzigen Description
Opslagtype ❌ Nee Premium SSD of Premium SSD v2
Opslaggrootte ✅ Ja (uitsluitend verhogen) Het is niet mogelijk om na creatie te verkleinen
Prestatielaag ✅ Ja IOPS en doorvoer beheren
Opslag automatisch uitbreiden ✅ Ja Automatisch uitvouwen bij het naderen van limieten

Back-upinstellingen

Configuratie Kan later wijzigen Description
Backupretentie ✅ Ja 7-35 dagen
Back-up-redundantie ❌ Nee Lokaal redundant, zone-redundant of geografisch redundant
Georedundantie ❌ Nee Alleen beschikbaar in gekoppelde Azure-regio's

Netwerken configureren

Kies uw connectiviteitsmethode (kan niet worden gewijzigd na het maken):

Openbare toegang (toegestane IP-adressen)

Verbinding maken via een openbaar eindpunt met behulp van firewallregels.

Instellingen:

Configuratie Description
Openbare toegang toestaan Openbare toegang inschakelen om firewallregels te configureren
Azure-services toestaan Verbindingen van alle Azure-services toestaan
Huidig ip-adres van client toevoegen Uw IP-adres toevoegen aan acceptatielijst

Privétoegang (integratie van virtueel netwerk)

Maak verbinding via een privé-eindpunt in een virtueel netwerk. Zie Netwerk met privétoegang voor Azure Database for PostgreSQL voor meer informatie.

Beveiliging configureren

Configuratie Kan later wijzigen Options
Gegevensversleutelingssleutel ❌ Nee Door de service beheerd of door de klant beheerd

Resourcetags toevoegen (optioneel)

Resources organiseren met naam-waardeparen:

Naam Waarde Purpose
Milieu Ontwikkeling Omgevingstype identificeren
CostCenter IT-Dept Kosten bijhouden per afdeling
Eigenaar admin@contoso.com Verantwoordelijke partij identificeren

Beoordelen en creëren

  1. Kies Beoordelen + creëren.
  2. Controleer alle configuraties.
  3. Selecteer Maken om te implementeren.

De implementatie duurt doorgaans 5-10 minuten. Wanneer u klaar bent, selecteert u Ga naar de resource om toegang te krijgen tot uw server.

Server maken met behulp van Azure CLI

Vereisten voor CLI

Voor dit script gebruikt u Azure CLI lokaal omdat het te lang duurt om uit te voeren in Cloud Shell.

Aanmelden bij Azure

Gebruik het volgende script om u aan te melden met een specifiek abonnement.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Zie voor meer informatie actief abonnement instellen of u interactief aanmelden

Als u Azure Cloud Shell gebruikt, bent u al aangemeld.

Server maken met CLI

Maak een server met één opdracht:

az postgres flexible-server create \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql \
  --location eastus \
  --admin-user myadmin \
  --admin-password <password> \
  --sku-name Standard_D4ds_v5 \
  --tier GeneralPurpose \
  --public-access 0.0.0.0 \
  --storage-size 128 \
  --tags "Environment=Development"

CLI-parameters referentie

Kenmerk Description Example
--resource-group Naam van resourcegroep myresourcegroup
--name Wereldwijd unieke servernaam mydemoserver-pgsql
--location Azure region Eastus
--admin-user Gebruikersnaam van beheerder myadmin
--admin-password Beheerderswachtwoord YourPassword123!
--sku-name Reken-SKU Standard_D4ds_v5
--tier Rekenlaag Burstable, AlgemeenDoel, GeheugenGeoptimaliseerd
--storage-size Opslag in GB 128
--public-access Toegestane IP-adressen 0.0.0.0 (alle Azure-services), IP-adres ofwel IP-bereik
--version PostgreSQL-versie 16
--high-availability Ha-modus Uitgeschakeld, SameZone, ZoneRedundant
--backup-retention Retentiedagen voor back-ups 7-35

Geavanceerd CLI-voorbeeld

Maak een zone-redundante hoog beschikbare server.

az postgres flexible-server create \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql-ha \
  --location eastus \
  --admin-user myadmin \
  --admin-password <password> \
  --sku-name Standard_D4ds_v5 \
  --tier GeneralPurpose \
  --storage-size 256 \
  --storage-type PremiumV2_LRS \
  --high-availability ZoneRedundant \
  --zone 1 \
  --standby-zone 2 \
  --backup-retention 14 \
  --public-access 0.0.0.0

Een server maken met behulp van een ARM-sjabloon

Overzicht van ARM-sjablonen

Met ARM-sjablonen (Azure Resource Manager) kunt u infrastructuur definiëren als code. Sjablonen gebruiken voor herhaalbare implementaties.

Minimale ARM-sjabloon

Sla dit bestand op als postgres-server-template.json:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "serverName": {
      "type": "string",
      "metadata": {
        "description": "Server name must be globally unique"
      }
    },
    "administratorLogin": {
      "type": "string",
      "minLength": 1,
      "maxLength": 63,
      "metadata": {
        "description": "Administrator username"
      }
    },
    "administratorLoginPassword": {
      "type": "securestring",
      "minLength": 8,
      "metadata": {
        "description": "Administrator password"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Server location"
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.DBforPostgreSQL/flexibleServers",
      "apiVersion": "2024-08-01",
      "name": "[parameters('serverName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_D4ds_v5",
        "tier": "GeneralPurpose"
      },
      "properties": {
        "administratorLogin": "[parameters('administratorLogin')]",
        "administratorLoginPassword": "[parameters('administratorLoginPassword')]",
        "version": "16",
        "storage": {
          "storageSizeGB": 128,
          "type": "Premium_LRS",
          "autoGrow": "Enabled"
        },
        "backup": {
          "backupRetentionDays": 7,
          "geoRedundantBackup": "Disabled"
        },
        "network": {
          "publicNetworkAccess": "Enabled"
        },
        "highAvailability": {
          "mode": "Disabled"
        }
      }
    }
  ],
  "outputs": {
    "serverFQDN": {
      "type": "string",
      "value": "[reference(parameters('serverName')).fullyQualifiedDomainName]"
    }
  }
}

De ARM-sjabloon implementeren

az group create --name myresourcegroup --location eastus

az deployment group create \
  --resource-group myresourcegroup \
  --template-file postgres-server-template.json \
  --parameters \
    serverName=mydemoserver-pgsql \
    administratorLogin=myadmin \
    administratorLoginPassword=<password>

Verbindingsgegevens ophalen

Nadat u de server hebt gemaakt, haalt u de verbindingsgegevens op:

Azure-portal gebruiken

  1. Ga naar uw server in Azure Portal.
  2. Open de pagina Overzicht.
  3. Kopieer deze waarden:
    • Servernaam (eindpunt): mydemoserver-pgsql.postgres.database.azure.com
    • Beheerdersaanmelding: myadmin

Azure CLI gebruiken

az postgres flexible-server show \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql \
  --query "{serverName:fullyQualifiedDomainName, adminUser:administratorLogin}" \
  --output table

Verbinding maken met behulp van psql

psql installeren

Als u geen PostgreSQL-clienthulpprogramma's hebt, downloadt u PostgreSQL voor uw platform.

Verbinding maken met uw server

psql "host=mydemoserver-pgsql.postgres.database.azure.com port=5432 dbname=postgres user=myadmin sslmode=require"

Wanneer u hierom wordt gevraagd, voert u het beheerderswachtwoord in dat u hebt ingesteld tijdens het maken van de server.

Indeling van verbindingstekenreeks

host=<server-name>.postgres.database.azure.com port=5432 dbname=<database-name> user=<admin-user> password=<password> sslmode=require

Verbinding controleren

Nadat u verbinding hebt gemaakt, ziet u het volgende:

psql (14.13, server 16.4)
WARNING: psql major version 14, server major version 16.
         Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

postgres=>

Een database maken

CREATE DATABASE user_database;
\c user_database
\q

Verbindingsproblemen oplossen

Firewall blokkeert de verbinding

Als u het volgende ziet:

connection to server at "mydemoserver-pgsql.postgres.database.azure.com" (###.###.###.###), port 5432 failed: Connection timed out

Oplossing: Voeg uw IP-adres toe aan de firewallregels:

az postgres flexible-server firewall-rule create \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql \
  --rule-name AllowMyIP \
  --start-ip-address <your-ip> \
  --end-ip-address <your-ip>

SSL vereist, maar niet geconfigureerd

Zorg ervoor dat uw verbindingsreeks sslmode=require bevat.

De hulpbronnen opschonen

Wanneer u klaar bent met de quickstart, verwijdert u de resources om kosten te voorkomen.

De hele resourcegroep verwijderen

az group delete --name myresourcegroup --yes

Alleen de server verwijderen

az postgres flexible-server delete \
  --resource-group myresourcegroup \
  --name mydemoserver-pgsql \
  --yes