Bu makalede, Terraform kullanarak bir Azure AI hizmetleri hesabı oluşturmak için Terraform’un nasıl kullanılacağı gösterilmektedir.
Azure Yapay Zeka hizmetleri, geliştiricilerin doğrudan yapay zeka veya veri bilimi becerilerine veya bilgisine sahip olmadan uygulamalara bilişsel zeka eklemesine yardımcı olan bulut tabanlı yapay zeka (AI) hizmetleridir. Bunlar, popüler geliştirme dillerinde REST API’leri ve istemci kitaplığı SDK’ları aracılığıyla kullanılabilir. Azure Yapay Zeka hizmetleri, geliştiricilerin görebilen, duyabilen, konuşabilen ve analiz edebilen bilişsel çözümlerle uygulamalarına kolayca bilişsel özellikler eklemesine olanak tanır.
Terraform, bulut altyapısının tanımlanmasını, önizlemesini ve dağıtımını sağlar. Terraform’u kullanarak HCL söz dizimini kullanarak yapılandırma dosyaları oluşturursunuz. HCL söz dizimi, Azure gibi bulut sağlayıcısını ve bulut altyapınızı oluşturan öğeleri belirtmenize olanak tanır. Yapılandırma dosyalarınızı oluşturduktan sonra, altyapı değişikliklerinizi dağıtılmadan önce önizlemenize olanak tanıyan bir yürütme planı oluşturursunuz. Değişiklikleri doğruladıktan sonra, altyapıyı dağıtmak için yürütme planını uygularsınız.
Bu makalede şunların nasıl yapıldığını öğreneceksiniz:
- random_pet kullanarak Azure kaynak grubu adı için rastgele bir evcil hayvan adı oluşturun
- azurerm_resource_group kullanarak Azure kaynak grubu oluşturma
- random_string kullanarak rastgele bir dize oluşturun
- azurerm_cognitive_account kullanarak Azure Yapay Zeka hizmetleri hesabı oluşturma
Önkoşullar
Terraform kodunu uygulama
Not
Bu makalenin örnek kodu Azure Terraform GitHub deposunda bulunur. Terraform’un mevcut ve önceki sürümlerinden test sonuçlarını içeren günlük dosyasını görüntüleyebilirsiniz.
- Örnek Terraform kodunu test etmek ve çalıştırmak için bir dizin oluşturun ve bunu geçerli dizin yapın.
- adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:main.tf
Terraform (Terraform)Kopya etmek
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_string” “azurerm_cognitive_account_name” {
length = 13
lower = true
numeric = false
special = false
upper = false
}
resource “azurerm_cognitive_account” “cognitive_service” {
name = “CognitiveService-${random_string.azurerm_cognitive_account_name.result}”
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
sku_name = var.sku
kind = “CognitiveServices”
}
- Create a file named and insert the following code:outputs.tf
TerraformCopy
output “resource_group_name” {
value = azurerm_resource_group.rg.name
}
output “azurerm_cognitive_account_name” {
value = azurerm_cognitive_account.cognitive_service.name
}
- Create a file named and insert the following code:providers.tf
TerraformCopy
terraform {
required_version = “>=1.0”
required_providers {
azurerm = {
source = “hashicorp/azurerm”
version = “~>3.0”
}
random = {
source = “hashicorp/random”
version = “~>3.0”
}
}
}
provider “azurerm” {
features {}
}
- Create a file named and insert the following code:variables.tf
TerraformCopy
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 “sku” {
type = string
description = “The sku name of the Azure Analysis Services server to create. Choose from: B1, B2, D1, S0, S1, S2, S3, S4, S8, S9. Some skus are region specific. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-overview#availability-by-region”
default = “S0”
}
Initialize Terraform
Run terraform init to initialize the Terraform deployment. This command downloads the Azure provider required to manage your Azure resources.
ConsoleCopy
terraform init -upgrade
Key points:
- The parameter upgrades the necessary provider plugins to the newest version that complies with the configuration’s version constraints.-upgrade
Create a Terraform execution plan
Run terraform plan to create an execution plan.
ConsoleCopy
terraform plan -out main.tfplan
Key points:
- The command creates an execution plan, but doesn’t execute it. Instead, it determines what actions are necessary to create the configuration specified in your configuration files. This pattern allows you to verify whether the execution plan matches your expectations before making any changes to actual resources.terraform plan
- The optional parameter allows you to specify an output file for the plan. Using the parameter ensures that the plan you reviewed is exactly what is applied.-out-out
- To read more about persisting execution plans and security, see the security warning section.
Apply a Terraform execution plan
Run terraform apply to apply the execution plan to your cloud infrastructure.
ConsoleCopy
terraform apply main.tfplan
Key points:
- The example command assumes you previously ran .terraform applyterraform plan -out main.tfplan
- If you specified a different filename for the parameter, use that same filename in the call to .-outterraform apply
- If you didn’t use the parameter, call without any parameters.-outterraform apply
Verify the results
- Get the Azure resource name in which the Azure AI services account was created.
ConsoleCopy
resource_group_name=$(terraform output -raw resource_group_name)
- Get the Azure AI services account name.
ConsoleCopy
azurerm_cognitive_account_name=$(terraform output -raw azurerm_cognitive_account_name)
- Run az cognitiveservices account show to show the Azure AI services account you created in this article.
Azure CLICopy
az cognitiveservices account show –name $azurerm_cognitive_account_name \
–resource-group $resource_group_name
Clean up resources
When you no longer need the resources created via Terraform, do the following steps:
- Run terraform plan and specify the flag.destroy
KonsolKopya etmek
terraform plan -destroy -out main.destroy.tfplan
Önemli noktalar:
-
- Komut bir yürütme planı oluşturur, ancak yürütmez. Bunun yerine, yapılandırma dosyalarınızda belirtilen yapılandırmayı oluşturmak için hangi eylemlerin gerekli olduğunu belirler. Bu düzen, gerçek kaynaklarda herhangi bir değişiklik yapmadan önce yürütme planının beklentilerinize uyup uymadığını doğrulamanıza olanak tanır.terraform plan
- İsteğe bağlı parametre, plan için bir çıkış dosyası belirtmenize olanak tanır. Parametreyi kullanmak, gözden geçirdiğiniz planın tam olarak uygulandığı plan olmasını sağlar.-out-out
- Kalıcı yürütme planları ve güvenlik hakkında daha fazla bilgi edinmek için güvenlik uyarısı bölümüne bakın.
- Yürütme planını uygulamak için terraform apply komutunu çalıştırın.
KonsolKopya etmek
terraform apply main.destroy.tfplan