Rövid útmutató: Azure SQL adatbázis-kiszolgáló és -adatbázis létrehozása a Terraform használatával
Egyetlen adatbázis létrehozása a leggyorsabb és legegyszerűbb lehetőség adatbázis létrehozásához Azure SQL Database-ben. Ez a rövid útmutató bemutatja, hogyan hozhat létre egyetlen adatbázist a Terraform használatával.
A Terraform lehetővé teszi a felhőinfrastruktúra definícióját, előzetes verzióját és üzembe helyezését. A Terraform használatával konfigurációs fájlokat hozhat létre a HCL szintaxisával. A HCL szintaxisa lehetővé teszi a felhőszolgáltató – például az Azure – és a felhőinfrastruktúrát alkotó elemek megadását. 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 módosítá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.
Ebben a cikkben az alábbiakkal ismerkedhet meg:
- Hozzon létre egy véletlenszerű értéket az Azure-erőforráscsoport nevének random_pet használatával.
- Hozzon létre egy Azure-erőforráscsoportot azurerm_resource_group használatával.
- Hozzon létre egy véletlenszerű értéket a logikai kiszolgálóhoz az Azure-bana random_pet használatával.
- Hozzon létre egy véletlenszerű jelszót a logikai kiszolgálóhoz az Azure-bana random_password használatával.
- Hozzon létre egy logikai kiszolgálót az Azure-bana azurerm_mssql_server használatával.
- Hozzon létre egy adatbázist Azure SQL Database-ben a azurerm_mssql_database használatával.
Előfeltételek
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árvá teheti.
Hozzon létre egy nevű
providers.tf
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 nevű
main.tf
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 }
Hozzon létre egy nevű
variables.tf
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 nevű
outputs.tf
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 }
A Terraform inicializálása
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
-upgrade
paramé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 plan
parancs 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ításokat végez a tényleges erőforrásokon. - A választható
-out
paraméter lehetővé teszi a terv kimeneti fájljának megadását.-out
A paraméter használatával biztosítható, hogy az ön által áttekintett csomag pontosan az, amit alkalmaz. - A végrehajtási tervek és a biztonság megőrzésével kapcsolatos további információkért tekintse meg a biztonsági figyelmeztetések szakaszt.
Terraform végrehajtási terv alkalmazása
A terraform alkalmazás futtatásával alkalmazza a végrehajtási tervet a felhőinfrastruktúrára.
terraform apply main.tfplan
Főbb pontok:
- A példaparancs
terraform apply
feltételezi, hogy korábban futtatta a parancsotterraform plan -out main.tfplan
. - Ha másik fájlnevet adott meg a
-out
paraméterhez, használja ugyanazt a fájlnevet a hívásbanterraform apply
. - Ha nem használta a paramétert
-out
, hívjonterraform apply
paramé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 az sql db listát a kiszolgálón található összes adatbázis nevének megjelenítéséhez.
az sql db list \ --resource-group $resource_group_name \ --server $sql_server_name \ --output table
Az erőforrások eltávolí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:
Futtassa a Terraform-tervet , és adja meg a jelzőt
destroy
.terraform plan -destroy -out main.destroy.tfplan
Főbb pontok:
- A
terraform plan
parancs 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ításokat végez a tényleges erőforrásokon. - A választható
-out
paraméter lehetővé teszi a terv kimeneti fájljának megadását.-out
A paraméter használatával biztosítható, hogy az ön által áttekintett csomag pontosan az, amit alkalmaz. - A végrehajtási tervek és a biztonság megőrzésével kapcsolatos további információkért tekintse meg a biztonsági figyelmeztetések szakaszt.
- A
Futtassa a terraform apply parancsot a végrehajtási terv alkalmazásához.
terraform apply main.destroy.tfplan
A Terraform hibaelhárítása az Azure-ban
A Terraform Azure-on való használatakor felmerülő gyakori problémák elhárítása
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: