Compartir a través de


Inicio rápido: Creación de una aplicación de App Service mediante una plantilla de Terraform

Para empezar a trabajar con Azure App Service , implemente una aplicación en la nube a través de Terraform. Cuando se usa un nivel gratuito de App Service, no hay ningún cargo para completar este inicio rápido.

Terraform permite definir y crear implementaciones de infraestructura completas en Azure. Cree plantillas de Terraform en un formato legible que cree y configure recursos de Azure de forma coherente y reproducible. En este artículo se muestra cómo crear una aplicación mediante Terraform.

Prerrequisitos

Revisión de la plantilla

Elija la siguiente plantilla de Linux o Windows para crear un plan de App Service y una aplicación de App Service. Linux creará una aplicación de ejemplo Node.js Hello World desde el repositorio de ejemplos de Azure . La plantilla de contenedor de Windows creará una aplicación de ejemplo ASP.NET desde Microsoft Container Registry.

# Configure the Azure provider
terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 3.0.0"
    }
  }
  required_version = ">= 0.14.9"
}
provider "azurerm" {
  features {}
}

# Generate a random integer to create a globally unique name
resource "random_integer" "ri" {
  min = 10000
  max = 99999
}

# Create the resource group
resource "azurerm_resource_group" "rg" {
  name     = "myResourceGroup-${random_integer.ri.result}"
  location = "eastus"
}

# Create the Linux App Service Plan
resource "azurerm_service_plan" "appserviceplan" {
  name                = "webapp-asp-${random_integer.ri.result}"
  location            = azurerm_resource_group.rg.location
  resource_group_name = azurerm_resource_group.rg.name
  os_type             = "Linux"
  sku_name            = "B1"
}

# Create the web app, pass in the App Service Plan ID
resource "azurerm_linux_web_app" "webapp" {
  name                  = "webapp-${random_integer.ri.result}"
  location              = azurerm_resource_group.rg.location
  resource_group_name   = azurerm_resource_group.rg.name
  service_plan_id       = azurerm_service_plan.appserviceplan.id
  depends_on            = [azurerm_service_plan.appserviceplan]
  https_only            = true
  site_config { 
    minimum_tls_version = "1.2"
    application_stack {
      node_version = "16-lts"
    }
  }
}

#  Deploy code from a public GitHub repo
resource "azurerm_app_service_source_control" "sourcecontrol" {
  app_id             = azurerm_linux_web_app.webapp.id
  repo_url           = "https://github.com/Azure-Samples/nodejs-docs-hello-world"
  branch             = "main"
  use_manual_integration = true
  use_mercurial      = false
}

La plantilla define los cuatro recursos de Azure siguientes. Para más información y información de uso, consulte Azure Provider Terraform Registry.