Azure Cosmos DB'yi Azure Container Instances
Bu makalede Terraform kullanarak Azure Cosmos DB'yi Azure Container Instances.
Bu makalede şunları öğreneceksiniz:
- Azure Cosmos DB örneği oluşturma
- Azure Container Instances oluşturma
- Bu iki kaynak arasında çalışan bir uygulama oluşturma
1. Ortamınızı yapılandırma
- Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Terraform'yi yapılandırma: Henüz bunu yapmamışsanız, aşağıdaki seçeneklerden birini kullanarak Terraform'ı yapılandırabilirsiniz:
2. İlk yapılandırmayı oluşturma
Bu bölümde, Azure Cosmos DB örneği için yapılandırmayı oluşturabilirsiniz.
Azure Portal’ında oturum açın.
Dosyayı Azure Cloud Shell.
Düzenleyiciyi Cloud Shell:
code main.tfBu adımda yapılandırmasını birkaç Azure kaynağı modeller. Bu kaynaklar arasında bir Azure kaynak grubu ve bir Azure Cosmos veritabanı örneği yer alır. Benzersiz bir veritabanı örneği adı oluşturmak için Cosmos tamsayı kullanılır. Birkaç Cosmos veritabanı ayarı da yapılandırılır. Daha fazla bilgi için bkz. Cosmos DB Terraform başvurusu. Dosyaya aşağıdaki kodu girin:
resource "azurerm_resource_group" "vote-resource-group" { name = "vote-resource-group" location = "westus" } resource "random_integer" "ri" { min = 10000 max = 99999 } resource "azurerm_cosmosdb_account" "vote-cosmos-db" { name = "tfex-cosmos-db-${random_integer.ri.result}" location = azurerm_resource_group.vote-resource-group.location resource_group_name = azurerm_resource_group.vote-resource-group.name offer_type = "Standard" kind = "GlobalDocumentDB" consistency_policy { consistency_level = "BoundedStaleness" max_interval_in_seconds = 10 max_staleness_prefix = 200 } geo_location { location = "westus" failover_priority = 0 } }Dosyayı kaydedin ( Ctrl > S) ve düzenleyiciden çıkın (>).
3. Yapılandırmayı çalıştırma
Bu bölümde, yapılandırmayı çalıştırmak için çeşitli Terraform komutlarını kullanırsınız.
terraform init komutu çalışma dizinini başlatıyor. Aşağıdaki komutu Cloud Shell:
terraform initTerraform plan komutu, yapılandırma söz dizimlerini doğrulamak için kullanılabilir.
-outparametresi, sonuçları bir dosyaya yönlendirer. Çıktı dosyası daha sonra yapılandırmayı uygulamak için kullanılabilir. Aşağıdaki komutu Cloud Shell:terraform plan --out plan.outTerraform apply komutu yapılandırmayı uygulamak için kullanılır. Önceki adımdan çıkış dosyası belirtilir. Bu komut, Azure kaynaklarının oluşturularak oluşturulur. Aşağıdaki komutu Cloud Shell:
terraform apply plan.outUygulamanın içindeki sonuçları doğrulamak Azure portal yeni kaynak grubuna göz at. Yeni Azure Cosmos DB örneği yeni kaynak grubundadır.
4. Güncelleştirme yapılandırması
Bu bölümde, yapılandırmanın Azure Container Instances içerecek şekilde nasıl güncelleştiril olduğu gösterir. Kapsayıcı, Cosmos DB'ye veri yazan ve yazan bir Cosmos çalıştırır.
Düzenleyiciyi Cloud Shell:
code main.tfBu adımda yapılandırma iki ortam değişkeni ayarlar:
COSMOS_DB_ENDPOINTveCOSMOS_DB_MASTERKEY. Bu değişkenler veritabanına erişmek için konum ve anahtarı tutar. Bu değişkenlerin değerleri, önceki adımda oluşturulan veritabanı örneğinden elde edilir. Bu işlem ilişkilendirme olarak bilinir. Terraform ilişkilendirmesi hakkında daha fazla bilgi edinmek için bkz. İlişkileme Söz Dizimi. Yapılandırma ayrıca kapsayıcı örneğinin tam etki alanı adını (FQDN) döndüren bir çıkış bloğu içerir. Dosyaya aşağıdaki kodu girin:resource "azurerm_container_group" "vote-aci" { name = "vote-aci" location = azurerm_resource_group.vote-resource-group.location resource_group_name = azurerm_resource_group.vote-resource-group.name ip_address_type = "public" dns_name_label = "vote-aci" os_type = "linux" container { name = "vote-aci" image = "microsoft/azure-vote-front:cosmosdb" cpu = "0.5" memory = "1.5" ports { port = 80 protocol = "TCP" } secure_environment_variables = { "COSMOS_DB_ENDPOINT" = azurerm_cosmosdb_account.vote-cosmos-db.endpoint "COSMOS_DB_MASTERKEY" = azurerm_cosmosdb_account.vote-cosmos-db.primary_master_key "TITLE" = "Azure Voting App" "VOTE1VALUE" = "Cats" "VOTE2VALUE" = "Dogs" } } } output "dns" { value = azurerm_container_group.vote-aci.fqdn }Dosyayı kaydedin ( Ctrl > S) ve düzenleyiciden çıkın (>).
Önceki bölümde yaptığınız gibi, yapılacak değişiklikleri görsel olarak görselleştirmek için aşağıdaki komutu çalıştırın:
terraform plan --out plan.outYapılandırmayı
terraform applyuygulamak için komutunu çalıştırın.terraform apply plan.outKapsayıcı örneği FQDN'lerini not edin.
5. Uygulamayı test
Uygulamayı test etmek için kapsayıcı örneğinin FQDN'sına gidin. Aşağıdaki çıkışa benzer sonuçlar görüyor gerekir:

6. Kaynakları temizleme
Artık gerekli değilken, bu makalede oluşturulan kaynakları silin.
Terraform destroy komutunu çalıştırarak bu makalede oluşturulan Azure kaynaklarını kaldırın:
terraform destroy -auto-approve
Azure'da Terraform sorunlarını giderme
Azure'da Terraform kullanırken karşılaşılan yaygın sorunları giderme