Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:Azure SQL Database
Egyetlen adatbázis létrehozása a leggyorsabb és legegyszerűbb lehetőség adatbázis létrehozásához az Azure SQL Database-ben. Ez a rövid útmutató bemutatja, hogyan hozhat létre egyetlen adatbázist a Terraform használatával.
Terraform lehetővé teszi a felhőinfrastruktúra definícióját, előnézetét és üzembe helyezését. A Terraform használatával konfigurációs fájlokat hozhat létre HCL-szintaxissal. A HCL szintaxissal megadhatja a felhőszolgáltatót – például az Azure-t – és a felhőinfrastruktúra elemeit. A konfigurációs fájlok létrehozása után létrehoz egy végrehajtási tervet , amely lehetővé teszi az infrastruktúra változásainak előzetes megtekintését az üzembe helyezés előtt. A módosítások ellenőrzése után alkalmazza a végrehajtási tervet az infrastruktúra üzembe helyezésére.
Ebből a cikkből megtudhatja, hogyan:
- Hozzon létre egy véletlenszerű értéket az Azure-erőforráscsoport nevének random_pet használatával.
- Azure-erőforráscsoport létrehozása azurerm_resource_group használatával.
- Hozzon létre véletlen értéket az Azure logikai kiszolgálóhoz a random_pet használatával.
- Hozzon létre egy véletlenszerű jelszót a logikai kiszolgálóhoz az Azure-banrandom_password használatával.
- Logikai kiszolgáló létrehozása az Azure-banazurerm_mssql_server használatával.
- Adatbázis létrehozása az Azure SQL Database-ben azurerm_mssql_database használatával.
Előfeltételek
Megjegyzés:
Néhány konfigurációs beállítást nem lehet megváltoztatni, miután létrehoztad az adatbázist. Nézd át a módosítható konfigurációs hivatkozást a telepítés előtt.
Engedélyek
Adatbázisok Transact-SQL-keresztül történő létrehozásához: CREATE DATABASE engedélyek szükségesek. Adatbázis létrehozásához a bejelentkezésnek vagy a kiszolgáló rendszergazdai bejelentkezésének kell lennie (amely az Azure SQL Database logikai kiszolgáló kiépítésekor lett létrehozva), a kiszolgáló Microsoft Entra rendszergazdájának, a dbmanager adatbázis-szerepkör tagjának master. További információért lásd a(z) CREATE DATABASE.
Adatbázisok létrehozásához az Azure Portalon, a PowerShellen, az Azure CLI-en vagy a REST API-keresztül: Azure RBAC-engedélyekre van szükség, különösen közreműködői, SQL DB-közreműködői vagy SQL Server-közreműködői Azure RBAC-szerepkörre. További információ: Azure RBAC beépített szerepkörei.
A Terraform-kód implementálása
Megjegyzés:
A cikk mintakódja az Azure Terraform GitHub-adattárban található. Megtekintheti a Terraform aktuális és korábbi verzióinak teszteredményeit tartalmazó naplófájlt.
Hozzon létre egy könyvtárat, amelyben tesztelheti és futtathatja a Terraform-mintakódot, és az aktuális könyvtárá teheti.
Hozzon létre egy
providers.tfnevű fájlt, és szúrja be a következő kódot:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Hozzon létre egy
main.tfnevű fájlt, és szúrja be a következő kódot:resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } resource "azurerm_resource_group" "rg" { name = random_pet.rg_name.id location = var.resource_group_location } resource "random_pet" "azurerm_mssql_server_name" { prefix = "sql" } resource "random_password" "admin_password" { count = var.admin_password == null ? 1 : 0 length = 20 special = true min_numeric = 1 min_upper = 1 min_lower = 1 min_special = 1 } locals { admin_password = try(random_password.admin_password[0].result, var.admin_password) } resource "azurerm_mssql_server" "server" { name = random_pet.azurerm_mssql_server_name.id resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location administrator_login = var.admin_username administrator_login_password = local.admin_password version = "12.0" } resource "azurerm_mssql_database" "db" { name = var.sql_db_name server_id = azurerm_mssql_server.server.id }Fontos
Ne adjon meg személyes, érzékeny vagy bizalmas adatokat a kiszolgáló rendszergazdai bejelentkezési név mezőjében. Az ebben a mezőben megadott adatok nem tekinthetők ügyféladatoknak.
Hozzon létre egy
variables.tfnevű fájlt, és szúrja be a következő kódot:variable "resource_group_location" { type = string description = "Location for all resources." default = "eastus" } variable "resource_group_name_prefix" { type = string description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." default = "rg" } variable "sql_db_name" { type = string description = "The name of the SQL Database." default = "SampleDB" } variable "admin_username" { type = string description = "The administrator username of the SQL logical server." default = "azureadmin" } variable "admin_password" { type = string description = "The administrator password of the SQL logical server." sensitive = true default = null }Hozzon létre egy
outputs.tfnevű fájlt, és szúrja be a következő kódot:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "sql_server_name" { value = azurerm_mssql_server.server.name } output "admin_password" { sensitive = true value = local.admin_password }
Inicializálja a Terraformot
Futtassa a Terraform init parancsot a Terraform üzembe helyezésének inicializálásához. Ez a parancs letölti az Azure-erőforrások kezeléséhez szükséges Azure-szolgáltatót.
terraform init -upgrade
Főbb pontok:
- A
-upgradeparaméter frissíti a szükséges szolgáltatói beépülő modulokat a legújabb verzióra, amely megfelel a konfiguráció verziókorlátozásainak.
Terraform végrehajtási terv létrehozása
Végrehajtási terv létrehozásához futtassa a Terraform-tervet .
terraform plan -out main.tfplan
Főbb pontok:
- A
terraform planparancs létrehoz egy végrehajtási tervet, de nem hajtja végre. Ehelyett meghatározza, hogy milyen műveletek szükségesek a konfigurációs fájlokban megadott konfiguráció létrehozásához. Ez a minta lehetővé teszi annak ellenőrzését, hogy a végrehajtási terv megfelel-e az elvárásainak, mielőtt módosítanák a tényleges erőforrásokat. - Az opcionális
-outparaméter lehetővé teszi a terv kimeneti fájljának megadását. A-outparaméter használatával biztosítható, hogy az ön által áttekintett terv pontosan az alkalmazott legyen.
A Terraform végrehajtási terv alkalmazása
Használja a terraform apply parancsot a végrehajtási terv felhőinfrastruktúrára való alkalmazásához.
terraform apply main.tfplan
Főbb pontok:
- A példaparancs
terraform applyfeltételezi, hogy korábban lefuttattad aterraform plan -out main.tfplanparancsot. - Ha másik fájlnevet adott meg a
-outparaméterhez, használja ugyanazt a fájlnevet aterraform applyhívásában. - Ha nem használta a
-outparamétert, hívja meg aterraform applyparaméterek nélkül.
Az eredmények ellenőrzése
Kérje le az Azure-erőforráscsoport nevét.
resource_group_name=$(terraform output -raw resource_group_name)Szerezze be az új logikai kiszolgáló nevét.
sql_server_name=$(terraform output -raw sql_server_name)Futtassa az sql db-listát a kiszolgáló összes adatbázisának nevének megjelenítéséhez.
az sql db list \ --resource-group $resource_group_name \ --server $sql_server_name \ --output table
Erőforrások tisztítása
Ha már nincs szüksége a Terraformon keresztül létrehozott erőforrásokra, hajtsa végre az alábbi lépéseket:
Csinálja meg a terraform plan parancsot, és adja meg a
destroyjelzőt.terraform plan -destroy -out main.destroy.tfplanFőbb pontok:
- A
terraform planparancs létrehoz egy végrehajtási tervet, de nem hajtja végre. Ehelyett meghatározza, hogy milyen műveletek szükségesek a konfigurációs fájlokban megadott konfiguráció létrehozásához. Ez a minta lehetővé teszi annak ellenőrzését, hogy a végrehajtási terv megfelel-e az elvárásainak, mielőtt módosítanák a tényleges erőforrásokat. - Az opcionális
-outparaméter lehetővé teszi a terv kimeneti fájljának megadását. A-outparaméter használatával biztosítható, hogy az ön által áttekintett terv pontosan az alkalmazott legyen.
- A
A végrehajtási terv alkalmazásához futtassa a terraform apply parancsot.
terraform apply main.destroy.tfplan
A Terraform hibaelhárítása az Azure-ban
A Terraform Azure-beli használatakor felmerülő gyakori problémák elhárítása