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.
- Zoek en Azure Portalin de Azure Database for PostgreSQL Flexibele servers.
- 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.
- Selecteer Resourcegroep verwijderen.
- Typ de naam van de resourcegroep om het verwijderen te bevestigen