Quickstart: Een ARM-sjabloon gebruiken om een Azure Database for PostgreSQL te maken - Flexible Server

Flexible Server is een beheerde service waarmee u PostgreSQL-databases met hoge beschikbaarheid in de cloud kunt uitvoeren, beheren en schalen. U kunt een ARM-sjabloon (Azure Resource Manager) gebruiken om een flexibele PostgreSQL-server in te richten om meerdere servers of meerdere databases op een server te implementeren.

Een Resource Manager-sjabloon is een JavaScript Object Notation-bestand (JSON) dat de infrastructuur en configuratie van uw project definieert. Voor de sjabloon is declaratieve syntaxis vereist. In declaratieve syntaxis beschrijft u de beoogde implementatie zonder dat u de reeks programmeeropdrachten voor het maken van de implementatie hoeft te schrijven.

Azure Resource Manager is de implementatie- en beheersservice voor Azure. Het biedt een beheerlaag waarmee u resources in uw Azure-account kunt maken, bijwerken en verwijderen. U kunt beheerfuncties gebruiken, zoals toegangscontrole, vergrendelingen en tags, om uw resources te beveiligen en te organiseren na de implementatie. Zie Overzicht van sjabloonimplementatie voor meer informatie over Azure Resource Manager-sjablonen.

Vereisten

Een Azure-account met een actief abonnement. Maak er gratis een.

De sjabloon controleren

Een Azure Database for PostgresSQL-server is de bovenliggende resource voor een of meer databases in een regio. Deze levert de beheerbeleidsregels die van toepassing zijn op de betreffende databases: aanmeldingen, firewall, gebruikers, rollen en configuraties.

Maak een postgres-flexible-server-template.json-bestand en kopieer er het volgende JSON-script in.

{
  "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
    "parameters": {
        "administratorLogin": {
            "defaultValue": "csadmin",
            "type": "String"
        },
        "administratorLoginPassword": {
            "type": "SecureString"
        },
        "location": {
            "defaultValue": "eastus",
            "type": "String"
        },
        "serverName": {
            "type": "String"
        },
        "serverEdition": {
            "defaultValue": "GeneralPurpose",
            "type": "String"
        },
        "skuSizeGB": {
            "defaultValue": 128,
            "type": "Int"
        },
        "dbInstanceType": {
            "defaultValue": "Standard_D4ds_v4",
            "type": "String"
        },
        "haEnabled": {
            "defaultValue": "Disabled",
            "type": "string"
        },
        "availabilityZone": {
            "defaultValue": "1",
            "type": "String"
        },
        "version": {
            "defaultValue": "12",
            "type": "String"
        },
        "tags": {
            "defaultValue": {},
            "type": "Object"
        },
        "firewallRules": {
            "defaultValue": {},
            "type": "Object"
        },
        "backupRetentionDays": {
            "defaultValue": 14,
            "type": "Int"
        },
        "geoRedundantBackup": {
            "defaultValue": "Disabled",
            "type": "String"
        },
        "virtualNetworkExternalId": {
            "defaultValue": "",
            "type": "String"
        },
        "subnetName": {
            "defaultValue": "",
            "type": "String"
        },
        "privateDnsZoneArmResourceId": {
            "defaultValue": "",
            "type": "String"
        },
    },
    "variables": {
        "api": "2021-06-01",
        "publicNetworkAccess": "[if(empty(parameters('virtualNetworkExternalId')), 'Enabled', 'Disabled')]"
    },
  "resources": [
    {
      "type": "Microsoft.DBforPostgreSQL/flexibleServers",
      "apiVersion": "[variables('api')]",
      "name": "[parameters('serverName')]",
      "location": "[parameters('location')]",
        "sku": {
            "name": "[parameters('dbInstanceType')]",
            "tier": "[parameters('serverEdition')]"
        },
      "tags": "[parameters('tags')]",
        "properties": {
            "version": "[parameters('version')]",
            "administratorLogin": "[parameters('administratorLogin')]",
            "administratorLoginPassword": "[parameters('administratorLoginPassword')]",
            "network": {
                "publicNetworkAccess": "[variables('publicNetworkAccess')]",
                "delegatedSubnetResourceId": "[if(empty(parameters('virtualNetworkExternalId')), json('null'), json(concat(parameters('virtualNetworkExternalId'), '/subnets/' , parameters('subnetName'))))]",
                "privateDnsZoneArmResourceId": "[if(empty(parameters('virtualNetworkExternalId')), json('null'), parameters('privateDnsZoneArmResourceId'))]"
            },
            "haEnabled": "[parameters('haEnabled')]",
            "storage": {
                "storageSizeGB": "[parameters('skuSizeGB')]"
            },
            "backup": {
                "backupRetentionDays": 7,
                "geoRedundantBackup": "Disabled"
            },
            "availabilityZone": "[parameters('availabilityZone')]"
        }
    }
  ]
}

Deze resources worden in de sjabloon gedefinieerd:

  • Microsoft.DBforPostgreSQL/flexibleServers

De sjabloon implementeren

Selecteer Proberen in het volgende PowerShell-codeblok om Azure Cloud Shell te openen.

$serverName = Read-Host -Prompt "Enter a name for the new Azure Database for PostgreSQL server"
$resourceGroupName = Read-Host -Prompt "Enter a name for the new resource group where the server will exist"
$location = Read-Host -Prompt "Enter an Azure region (for example, centralus) for the resource group"
$adminUser = Read-Host -Prompt "Enter the Azure Database for PostgreSQL server's administrator account name"
$adminPassword = Read-Host -Prompt "Enter the administrator password" -AsSecureString

New-AzResourceGroup -Name $resourceGroupName -Location $location # Use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
    -TemplateFile "D:\Azure\Templates\EngineeringSite.json
    -serverName $serverName `
    -administratorLogin $adminUser `
    -administratorLoginPassword $adminPassword

Read-Host -Prompt "Press [ENTER] to continue ..."

Geïmplementeerde resources bekijken

Volg deze stappen om te controleren of uw server in Azure is gemaakt.

  1. Zoek en Azure Portalin de Azure Database for PostgreSQL Flexibele servers.
  2. Selecteer de nieuwe server in de databaselijst om de Overzicht-pagina voor het beheren van de server weer te geven.

Resources opschonen

Behoud deze resourcegroep, server en individuele database als u naar de Volgende stappen wilt gaan. De volgende stappen laten zien hoe u verbinding maakt met en een query uitvoert op uw database met behulp van verschillende methoden.

Zo verwijdert u de resourcegroep:

Selecteer de resourcegroep die u wilt verwijderen in de portal.

  1. Selecteer Resourcegroep verwijderen.
  2. Typ de naam van de resourcegroep om het verwijderen te bevestigen

Volgende stappen