Tworzenie instancji usługi Azure Database for PostgreSQL przy użyciu Bicep

W tym przewodniku Szybki start dowiesz się, jak za pomocą pliku Bicep utworzyć serwer elastyczny usługi Azure Database for PostgreSQL.

Azure Database for PostgreSQL to usługa zarządzana, która służy do uruchamiania i skalowania w chmurze baz danych PostgreSQL o wysokiej dostępności, a także zarządzania nimi. Za pomocą narzędzia Bicep można wdrożyć wystąpienie usługi Azure Database for PostgreSQL — Flexible Server, aby wdrożyć wiele serwerów lub wiele baz danych na jednym serwerze.

Bicep to język specyficzny dla domeny (DSL), który używa składni deklaratywnej do wdrażania zasobów platformy Azure. Zapewnia zwięzłą składnię, niezawodne bezpieczeństwo typów i obsługę ponownego użycia kodu. Bicep oferuje najlepsze środowisko do tworzenia rozwiązań typu infrastruktura jako kod w Azure.

Wymagania wstępne

Konto platformy Azure z aktywną subskrypcją. Utwórz je bezpłatnie.

Zapoznaj się z Bicep

Elastyczne wystąpienie serwera Azure Database for PostgreSQL to nadrzędny zasób dla jednej lub więcej baz danych w danym regionie. Zapewnia zakres zasad zarządzania, które mają zastosowanie do swoich baz danych: logowania, zapory, użytkowników, ról i konfiguracji.

Utwórz plik main.bicep i skopiuj do niego następujący kod Bicep.

param administratorLogin string

@secure()
param administratorLoginPassword string
param location string = resourceGroup().location
param serverName string
param serverEdition string = 'GeneralPurpose'
param skuSizeGB int = 128
param dbInstanceType string = 'Standard_D4ds_v4'
param haMode string = 'ZoneRedundant'
param availabilityZone string = '1'
param version string = '12'
param virtualNetworkExternalId string = ''
param subnetName string = ''
param privateDnsZoneArmResourceId string = ''

resource serverName_resource 'Microsoft.DBforPostgreSQL/flexibleServers@2021-06-01' = {
  name: serverName
  location: location
  sku: {
    name: dbInstanceType
    tier: serverEdition
  }
  properties: {
    version: version
    administratorLogin: administratorLogin
    administratorLoginPassword: administratorLoginPassword
    network: {
      delegatedSubnetResourceId: (empty(virtualNetworkExternalId) ? json('null') : json('\'${virtualNetworkExternalId}/subnets/${subnetName}\''))
      privateDnsZoneArmResourceId: (empty(virtualNetworkExternalId) ? json('null') : privateDnsZoneArmResourceId)
    }
    highAvailability: {
      mode: haMode
    }
    storage: {
      storageSizeGB: skuSizeGB
    }
    backup: {
      backupRetentionDays: 7
      geoRedundantBackup: 'Disabled'
    }
    availabilityZone: availabilityZone
  }
}

Te zasoby są zdefiniowane w pliku Bicep:

Wdróż plik Bicep

Użyj interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby wdrożyć plik Bicep.

az group create --name exampleRG --location centralus
az deployment group create --resource-group exampleRG --template-file main.bicep

Zostanie wyświetlony monit o wprowadzenie następujących wartości:

  • serverName: wprowadź unikatową nazwę identyfikującą wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL. Na przykład mydemoserver-pg. Nazwa postgres.database.azure.com domeny jest dołączana do podanej nazwy serwera. Serwer może zawierać tylko małe litery, cyfry i znaki łącznika (-). Musi zawierać od 3 do 63 znaków.
  • administratorLogin: wprowadź własne konto logowania do użycia podczas nawiązywania połączenia z serwerem. Na przykład myadmin. Nazwa logowania administratora nie może być azure_superuser, azure_pg_admin, admin, administrator, root, guest ani public. Nie może zaczynać się od pg_.
  • administratorLoginPassword: wprowadź nowe hasło dla konta administratora serwera. Musi zawierać od 8 do 128 znaków. Hasło musi zawierać znaki z trzech z następujących kategorii: wielkie litery angielskie, małe litery angielskie, cyfry (od 0 do 9) i znaki inne niż alfanumeryczne (!, $, #, % itp.).

Przeglądanie wdrożonych zasobów

Użyj witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby zweryfikować wdrożenie i przejrzeć wdrożone zasoby.

az resource list --resource-group exampleRG

Uprzątnij zasoby

Zachowaj tę grupę zasobów, serwer i pojedynczą bazę danych, jeśli chcesz przejść do powiązanej zawartości. W dokumentacji pokazano, jak nawiązać połączenie z bazą danych i wykonywać względem nich zapytania przy użyciu różnych metod.

Aby usunąć grupę zasobów:

az group delete --name exampleRG