Distribuera en Azure Cosmos DB till Azure Container Instances
I den här artikeln får du lära dig hur du använder Terraform för att distribuera en Azure Cosmos DB till Azure Container Instances.
I den här artikeln kan du se hur du:
- Skapa en Azure Cosmos DB instans
- Skapa en Azure Container Instance
- Skapa en app som fungerar för de här två resurserna
1. Konfigurera din miljö
- Azure-prenumeration: Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Konfigurera Terraform: Om du inte redan har gjort det konfigurerar du Terraform med något av följande alternativ:
2. Skapa den första konfigurationen
I det här avsnittet skapar du konfigurationen för en Azure Cosmos DB instans.
Logga in på Azure-portalen.
Öppna Azure Cloud Shell.
Starta Cloud Shell redigeringsprogram:
code main.tfKonfigurationen i det här steget modellerar ett par Azure-resurser. Dessa resurser omfattar en Azure-resursgrupp och en Azure Cosmos DB instans. Ett slumpmässigt heltal används för att skapa ett unikt Cosmos DB instansnamn. Dessutom konfigureras flera Cosmos DB-inställningar. Mer information finns i Cosmos DB Terraform. Infoga följande kod i filen:
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 } }Spara filen ( Ctrl > S)och avsluta redigeraren (>).
3. Kör konfigurationen
I det här avsnittet använder du flera Terraform-kommandon för att köra konfigurationen.
Kommandot terraform init initierar arbetskatalogen. Kör följande kommando i Cloud Shell:
terraform initKommandot terraform plan kan användas för att verifiera konfigurationssyntaxen. Parametern
-outdirigerar resultatet till en fil. Utdatafilen kan användas senare för att tillämpa konfigurationen. Kör följande kommando i Cloud Shell:terraform plan --out plan.outKommandot terraform apply används för att tillämpa konfigurationen. Utdatafilen från föregående steg har angetts. Det här kommandot gör att Azure-resurserna skapas. Kör följande kommando i Cloud Shell:
terraform apply plan.outOm du vill kontrollera resultaten i Azure Portal bläddrar du till den nya resursgruppen. Den nya Azure Cosmos DB instansen finns i den nya resursgruppen.
4. Uppdatera konfigurationen
Det här avsnittet visar hur du uppdaterar konfigurationen så att den inkluderar en Azure Container Instance. Containern kör ett program som läser och skriver data till Cosmos DB.
Starta Cloud Shell redigeringsprogram:
code main.tfKonfigurationen i det här steget anger två miljövariabler:
COSMOS_DB_ENDPOINTochCOSMOS_DB_MASTERKEY. Dessa variabler innehåller platsen och nyckeln för åtkomst till databasen. Värdena för dessa variabler hämtas från databasinstansen som skapades i föregående steg. Den här processen kallas interpolering. Läs mer om Terraform-interpolering i interpoleringssyntax. Konfigurationen innehåller även ett utdatablock som returnerar det fullständiga domännamnet (FQDN) för containerinstansen. Infoga följande kod i filen: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 }Spara filen ( Ctrl > S)och avsluta redigeraren (>).
Som du gjorde i föregående avsnitt kör du följande kommando för att se de ändringar som ska göras:
terraform plan --out plan.outKör kommandot
terraform applyför att tillämpa konfigurationen.terraform apply plan.outAnteckna containerinstansens FQDN.
5. Testa programmet
Testa programmet genom att gå till FQDN för containerinstansen. Du bör se resultat som liknar följande utdata:

6. Rensa resurser
Ta bort resurserna som skapades i den här artikeln när de inte längre behövs.
Kör kommandot terraform destroy för att ta bort De Azure-resurser som skapades i den här artikeln:
terraform destroy -auto-approve
Felsöka Terraform på Azure
Felsöka vanliga problem när du använder Terraform på Azure