Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Developer CLI (azd) ondersteunt meerdere infrastructuren als codeproviders( IaC), waaronder:
Standaard wordt ervan uitgegaan dat azd Bicep als de IaC-provider gebruikt. Raadpleeg het artikel Terraform en Bicep vergelijken voor hulp bij het bepalen welke IaC-provider het beste is voor uw project.
Notitie
Terraform bevindt zich nog steeds in de bètafase. Meer informatie over ondersteuning voor alfa- en bètafuncties op de pagina met functieversiebeheer en releasestrategie
Vereisten
- Terraform installeren en configureren.
- Installeer Azure CLI (v 2.38.0+).
- Bekijk het architectuurdiagram en de Azure resources die u in de Node.js of Python Terraform-sjabloon implementeert.
Important
Voor Terraform-implementaties is een Azure CLI-aanmelding vereist, zelfs wanneer u deze gebruiktazd. De Terraform-provider azurerm wordt standaard geverifieerd via Azure CLI en leest geen tokens uit de azd referentiecache. Als u alleen azd auth login uitvoert, mislukt azd up tijdens de inrichtingsstap met ERROR: Please run 'az login' to setup account. Zie Verifiëren voor Azure voor de aanbevolen aanmeldingsstroom.
Verifiëren bij Azure
Omdat Terraform Azure CLI gebruikt voor authenticatie, moet u zijn aangemeld bij zowel azd als az voordat u azd up uitvoert. Dat kunt u op twee manieren doen.
Optie 1: Meld u eenmaal aan met Azure CLI (aanbevolen)
Configureren azd voor het delegeren van verificatie aan Azure CLI. Met deze instelling kunt u zich eenmaal aanmelden met az login en dezelfde referenties gebruiken voor beide hulpprogramma's.
azd config set auth.useAzCliAuth true
az login
Als u met meerdere tenants werkt, neemt u de --tenant parameter op:
az login --tenant <tenant-id>
Optie 2: Meld u afzonderlijk aan bij elk hulpprogramma
Als u de verificatie voor azd en Azure CLI liever onafhankelijk houdt, meldt u zich bij elk hulpprogramma aan met de eigen opdracht:
azd auth login
az login
U moet beide sessies vernieuwen als een van beide tokens verloopt.
Terraform configureren als de IaC-provider
Open het bestand
azure.yamlin de hoofdmap van uw project en zorg ervoor dat u de volgende regels hebt om de standaardwaarde te overschrijven. Dit is Bicep:infra: provider: terraformVoeg al uw
.tfbestanden toe aan deinframap in de hoofdmap van uw project.Voer
azd upuit.
Notitie
Bekijk deze twee azd-sjablonen met Terraform als IaC-provider: Node.js en Terraform en Python en Terraform.
azd pipeline config voor Terraform
Terraform slaat de status van uw beheerde infrastructuur en configuratie op. Vanwege dit statusbestand moet u externe status voordat u azd pipeline config uitvoert om uw implementatiepijplijn in GitHub in te stellen.
azd Standaard gaan we uit van het gebruik van een lokaal statusbestand. Als u azd up hebt uitgevoerd voordat u de externe status inschakelt, moet u azd down uitvoeren en overschakelen naar het externe statusbestand.
Lokale versus externe toestand
Terraform maakt gebruik van persistente statusgegevens om de resources bij te houden die worden beheerd.
Scenario’s voor het inschakelen van de afstandsstatus:
- Als u gedeelde toegang tot de statusgegevens wilt toestaan en meerdere personen wilt toestaan samen te werken aan die verzameling infrastructuurbronnen
- Om te voorkomen dat gevoelige informatie wordt weergegeven die is opgenomen in het statusbestand
- De kans op onbedoeld verwijderen verkleinen vanwege het lokaal opslaan van de status
Externe status inschakelen
Zorg ervoor dat u een opslagaccount voor externe status configureert.
Voeg een nieuw bestand toe met de naam
provider.conf.jsonin deinframap.{ "storage_account_name": "${RS_STORAGE_ACCOUNT}", "container_name": "${RS_CONTAINER_NAME}", "key": "azd/azdremotetest.tfstate", "resource_group_name": "${RS_RESOURCE_GROUP}" }Update
provider.tfgevonden in deinframap om de back-end op 'remote' in te stellen# Configure the Azure Provider terraform { required_version = ">= 1.1.7, < 2.0.0" backend "azurerm" { }Voer
azd env set <key> <value>uit om configuratie toe te voegen aan het.envbestand. Voorbeeld:azd env set RS_STORAGE_ACCOUNT your_storage_account_name azd env set RS_CONTAINER_NAME your_terraform_container_name azd env set RS_RESOURCE_GROUP your_storage_account_resource_groupVoer de volgende
azdopdracht uit op basis van uw gebruikelijke werkstroom. Wanneer de externe status wordt gedetecteerd, initialiseertazdTerraform met de geconfigureerde back-endconfiguratie.Als u de omgeving wilt delen met teamleden, moet u ervoor zorgen dat ze
azd env refresh -e <environmentName>omgevingsinstellingen in het lokale systeem vernieuwen en stap 4 uitvoeren om configuratie in het.envbestand toe te voegen.
Zie ook
- Meer informatie over de afhankelijkheid van Terraform op Azure CLI.
- Zie store Terraform-status in Azure Storage voor meer informatie over externe status.
- Sjabloon: React Web App met Node.js API en MongoDB (Terraform) op Azure
Volgende stappen
veelgestelde vragen over Azure Developer CLI