Creare un'istanza di Azure SQL Database tramite ARM

di Cristian Civera, in SQL Database,

Negli scorsi script abbiamo visto come possiamo utilizzare Azure Resource Manager (ARM) per automatizzare la creazione di risorse Azure. Tutto può essere creato tramite esso ed è molto utile soprattutto per replicare ambienti senza introdurre errori per passaggi manuali.

Tra le risorse utili che ci troviamo spesso ad utilizzare c'è SQL Database, il servizio PaaS di Azure per usare SQL Server in maniera interamente gestita. Per ogni database indichiamo il tier e la dimensione massima che vogliamo e al resto pensa tutto la piattaforma. Ogni database fa parte di un server che, come nelle versioni on premise, racchiude più database anche se dal punto di vista logico e meno dal punto di vista delle risorse. Ogni server ha le sue credenziali e le sue regole di accesso al firewall, perciò quando vogliamo creare un database dobbiamo prima provvedere a creare il server. Con ARM è necessario indicare il nome, la versione e le credenziali del system administrator.

{
  "type": "Microsoft.Sql/servers",
  "apiVersion": "2020-08-01-preview",
  "name": "[variables('name')]",
  "location": "[variables('location')]",
  "kind": "v12.0",
  "properties": {
    "administratorLogin": "[concat(parameters('name'), '-sa')]",
    "administratorLoginPassword": "[parameters('sqlPassword')]",
    "version": "12.0",
    "publicNetworkAccess": "Enabled"
  }
}

Nell'esempio vengono usati dei parametri all'ingresso per decidere il nome del server e la password da utilizzare. Contestualmente indichiamo anche che possiamo accedere al server dalla rete pubblica (solo la lista di IP che configureremo) e da Azure stessa.

Successivamente provvediamo alla creazione del database agganciato al server. Le informazioni minime da impostare sono lo SKU e la dimensione massima del database.

{
  "type": "Microsoft.Sql/servers/databases",
  "apiVersion": "2020-08-01-preview",
  "name": "[concat(parameters('name'), '/', parameters('name'))]",
  "location": "[variables('location')]",
  "dependsOn": [
    "[resourceId('Microsoft.Sql/servers', parameters('name'))]"
  ],
  "sku": {
    "name": "Standard",
    "tier": "Standard",
    "capacity": "20"
  },
  "properties": {
    "maxSizeBytes": 2147483648
  }
}

Nell'esempio creiamo un database con lo stesso nome del server con tier di tipo S20, della dimensione massima di 2GB.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi