Dela via


Använda en Bicep-fil för att etablera ett Azure Cosmos DB för PostgreSQL-kluster

Viktigt!

Azure Cosmos DB for PostgreSQL är på en pensionsväg och rekommenderas inte längre för nya projekt. Använd i stället en av dessa två tjänster:

  • För PostgreSQL-arbetsbelastningar : Använd funktionen Elastiska kluster i Azure Database For PostgreSQL för att använda de horisontella utskalnings- och distribuerade PostgreSQL-funktionerna i Citus-tillägget med öppen källkod.

  • För NoSQL-arbetsbelastningar använder du Azure Cosmos DB för NoSQL för en distribuerad databaslösning som innehåller ett serviceavtal på 99,999% tillgänglighetsnivå (SLA), omedelbar autoskalning och automatisk redundans i flera regioner.

Azure Cosmos DB for PostgreSQL är en hanterad tjänst som gör att du kan köra horisontellt skalbara PostgreSQL-databaser i molnet. I den här artikeln lär du dig att använda Bicep för att etablera och hantera ett Azure Cosmos DB för PostgreSQL-kluster.

Bicep är ett domänspecifikt språk (DSL) som använder deklarativ syntax för att distribuera Azure-resurser. Det ger koncis syntax, tillförlitlig typsäkerhet och stöd för återanvändning av kod. Bicep erbjuder den bästa redigeringsupplevelsen för dina infrastruktur-som-kod-lösningar i Azure.

Förutsättningar

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Skapa Bicep-filen

Etablera ett Azure Cosmos DB for PostgreSQL-kluster som tillåter distribution av data till shards, tillsammans med HA-noden för hög tillgänglighet.

Skapa en .bicep-fil och kopiera följande till den.

@secure()
param administratorLoginPassword string
param location string
param clusterName string
param coordinatorVCores int = 4
param coordinatorStorageQuotaInMb int = 262144
param coordinatorServerEdition string = 'GeneralPurpose'
param enableShardsOnCoordinator bool = true
param nodeServerEdition string = 'MemoryOptimized'
param nodeVCores int = 4
param nodeStorageQuotaInMb int = 524288
param nodeCount int
param enableHa bool
param coordinatorEnablePublicIpAccess bool = true
param nodeEnablePublicIpAccess bool = true
param availabilityZone string = '1'
param postgresqlVersion string = '15'
param citusVersion string = '12.0'

resource serverName_resource 'Microsoft.DBforPostgreSQL/serverGroupsv2@2022-11-08' = {
        name: clusterName
        location: location
        tags: {}
        properties: {
                administratorLoginPassword: administratorLoginPassword
                coordinatorServerEdition: coordinatorServerEdition
                coordinatorVCores: coordinatorVCores
                coordinatorStorageQuotaInMb: coordinatorStorageQuotaInMb
                enableShardsOnCoordinator: enableShardsOnCoordinator
                nodeCount: nodeCount
                nodeServerEdition: nodeServerEdition
                nodeVCores: nodeVCores
                nodeStorageQuotaInMb: nodeStorageQuotaInMb
                enableHa: enableHa
                coordinatorEnablePublicIpAccess: coordinatorEnablePublicIpAccess
                nodeEnablePublicIpAccess: nodeEnablePublicIpAccess
                citusVersion: citusVersion
                postgresqlVersion: postgresqlVersion
                preferredPrimaryZone: availabilityZone
                }
        }

Resursformatet kan refereras till för att lära dig mer om resursparametrarna som stöds.

Distribuera Bicep-filen

az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file provision.bicep

Du uppmanas att ange följande värden:

  • clusterName: Klusternamnet bestämmer det DNS-namn som dina program använder för att ansluta, i formuläret <node-qualifier>-<clustername>.<uniqueID>.postgres.cosmos.azure.com. Domännamnet postgres.cosmos.azure.com läggs till i det klusternamn som du anger. Klusternamnet får bara innehålla gemener, siffror och bindestreck. Klusternamnet får inte starta eller sluta med ett bindestreck.
  • plats: Azure-region där klustret och associerade noder skapas.
  • nodeCount: Antal arbetsnoder i klustret. 0 Inställningen etablerar ett kluster med en nod medan värdet är större än två (>= 2) etablerar ett kluster med flera noder.
  • enableHA: Med det här alternativet valt om en nod går ned blir den misslyckade nodens vänteläge automatiskt den nya noden. Databasprogram fortsätter att komma åt klustret med samma anslutningssträng.
  • administratorLoginPassword: Ange ett nytt lösenord för serveradministratörskontot. Det måste innehålla mellan 8 och 128 tecken. Lösenordet måste innehålla tecken från tre av följande kategorier: engelska versala bokstäver, engelska gemena bokstäver, siffror (0 till och med 9) och icke-alfanumeriska tecken (!, $, #, % osv.).

Granska distribuerade resurser

Använd Azure Portal, Azure CLI eller Azure PowerShell för att verifiera distributionen och granska de distribuerade resurserna.

az resource list --resource-group exampleRG

Gå vidare

När klustret har skapats är det dags att ansluta till en PostgreSQL-klient.