Hızlı Başlangıç: Arm şablonu kullanarak PostgreSQL için Azure Veritabanı - Esnek Sunucu

Esnek sunucu, bulutta yüksek oranda kullanılabilir PostgreSQL veritabanlarını çalıştırmak, yönetmek ve ölçeklendirmek için kullanabileceğiniz bir yönetilen hizmettir. Bir sunucuya birden Azure Resource Manager veya birden çok veritabanı dağıtmak üzere Bir PostgreSQL Esnek Sunucusu oluşturmak için bir Azure Resource Manager şablonu (ARM şablonu) kullanabilirsiniz.

ARM şablonu projenizin altyapısını ve yapılandırmasını tanımlayan bir JavaScript Nesne Gösterimi (JSON) dosyasıdır. Bu şablonda, bildirim temelli sözdizimi kullanılır. Bildirim temelli sözdiziminde, dağıtım oluşturmak için programlama komutlarının dizisini yazmadan amaçladığınız dağıtımı ifade edersiniz.

Azure Resource Manager, Azure için dağıtım ve yönetim hizmetidir. Azure hesabınızda kaynak oluşturma, güncelleştirme ve silme işlemlerini gerçekleştirmenizi sağlayan bir yönetim katmanı sunar. Dağıtım sonrasında kaynaklarınızın güvenliğini sağlamak ve onları düzenlemek için erişim denetimleri, kilitler ve etiketler gibi yönetim özelliklerini kullanabilirsiniz. Şablon oluşturma hakkında Azure Resource Manager için bkz. Şablon dağıtımı genel bakış.

Önkoşullar

Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.

Şablonu gözden geçirme

PostgresSQL için Azure Veritabanı Sunucusu, bir bölge içindeki bir veya daha fazla veritabanının üst kaynağıdır. Veritabanları için geçerli olan yönetim ilkelerinin kapsamını sağlar: oturum açma, güvenlik duvarı, kullanıcılar, roller ve yapılandırmalar.

Postgres-flexible-server-template.json dosyası oluşturun ve içine aşağıdaki JSON betiği kopyalayın.

{
  "$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')]"
        }
    }
  ]
}

Bu kaynaklar şablonda tanımlanır:

  • Microsoft.DBforPostgreSQL/flexibleServers

Şablonu dağıtma

Aşağıdaki PowerShell kod bloğundan Deneyin'i seçerek Azure Cloud Shell.

$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 ..."

Dağıtılan kaynakları gözden geçirme

Sunucunuz Azure'da oluşturulmuş olup değil, doğrulamak için bu adımları izleyin.

  1. Uygulamanın Azure portalEsnek Sunucuları için arama PostgreSQL için Azure Veritabanı seçin.
  2. Veritabanı listesinde, sunucuyu yönetmek için Genel Bakış sayfasını görüntülemek için yeni sunucuyu seçin.

Kaynakları temizleme

Sonraki adımlara gitmek için bu kaynak grubunu, sunucuyu ve tek veritabanını kullanın. Sonraki adımlarda, farklı yöntemler kullanarak veritabanınıza nasıl bağlanılacak ve veritabanınızı nasıl sorgulayabilirsiniz?

Kaynak grubunu silmek için:

Portaldasilmek istediğiniz kaynak grubunu seçin.

  1. Kaynak grubunu sil'i seçin.
  2. Silme işlemini onaylamak için kaynak grubunun adını yazın

Sonraki adımlar