Ejercicio: Definición de recursos en una plantilla de Bicep

Completado

Nota:

La primera vez que active un espacio aislado y acepte los términos, la cuenta de Microsoft se asocia a un nuevo directorio de Azure denominado Espacio aislado de Microsoft Learn. Se le agrega también a una suscripción especial llamada Suscripción de Concierge.

Para el sitio web de lanzamiento de juguetes, decide crear primero una prueba de concepto mediante la creación de una plantilla básica de Bicep. En este ejercicio, creará una cuenta de almacenamiento, un plan de Azure App Service y una aplicación. Más adelante, modificará la plantilla para que sea más reutilizable.

Durante el proceso, hará lo siguiente:

  • Creará una plantilla que defina un único recurso de cuenta de almacenamiento que incluya valores codificados de forma rígida.
  • Aprovisionará la infraestructura y comprobará el resultado.
  • Agregará un plan de App Service y una aplicación a la plantilla.
  • Aprovisionará de nuevo la infraestructura para ver los nuevos recursos.

En este ejercicio se usa la extensión de Bicep para Visual Studio Code. Asegúrese de instalar esta extensión en Visual Studio Code.

Creación de una plantilla de Bicep que contenga una cuenta de almacenamiento

  1. Abra Visual Studio Code.

  2. Cree un archivo con el nombre main.bicep.

  3. Guarde el archivo vacío para que Visual Studio Code cargue las herramientas de Bicep.

    Puede seleccionar Archivo>Guardar como o Ctrl+S en Windows (⌘+S en macOS). Debe acordarse de dónde ha guardado el archivo. Por ejemplo, podría crear una carpeta plantillas en la que guardar el fichero.

  4. Agrega el código de Bicep siguiente al archivo. Implementará la plantilla pronto. Es una buena idea escribir el código usted mismo en lugar de copiar y pegar para que pueda ver cómo las herramientas le ayudan a escribir los archivos de Bicep.

    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: 'toylaunchstorage'
      location: 'eastus'
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

    Sugerencia

    Bicep es estricto sobre dónde colocar los saltos de línea, así que asegúrese de no colocar saltos de línea en lugares diferentes de los que se enumeran aquí.

    Tenga en cuenta Visual Studio Code sugiere automáticamente nombres de propiedad a medida que escribe. La extensión de Bicep para Visual Studio Code entiende los recursos que está definiendo en la plantilla y enumera las propiedades y valores disponibles que puede usar.

  5. Actualice el nombre de la cuenta de almacenamiento de toylaunchstorage a algo que probablemente sea único, ya que cada cuenta de almacenamiento necesita un nombre único a nivel global. Asegúrese de que el nombre tenga entre 3 y 24 caracteres y que solo incluya números y letras en minúsculas.

    Importante

    No omita este paso. Si lo hace, el archivo de Bicep no se implementará correctamente.

  6. Guarde los cambios en el archivo.

Implementación de la plantilla de Bicep en Azure

Para implementar esta plantilla en Azure, debe iniciar sesión en la cuenta de Azure desde el terminal de Visual Studio Code. Asegúrese de que tiene instalada la CLI de Azure y de que inicia sesión con la misma cuenta que utilizó para activar el espacio aislado.

  1. En el menú Terminal, seleccione Nuevo terminal. Normalmente, la ventana de terminal se abre en la mitad inferior de la pantalla.

  2. Si la ventana del terminal muestra Bash en el lado derecho, significa que el shell correcto ya está abierto. Como alternativa, si ve un icono de shell de Bash a la derecha, puede seleccionarlo para iniciar el shell.

    Captura de pantalla de la ventana de terminal de Visual Studio Code, en la que se muestra la opción bash.

    Si apareciera un shell distinto de Bash, seleccione la flecha de la lista desplegable del shell y, a continuación, seleccione Bash de Git.

    Captura de pantalla de la ventana de terminal de Visual Studio Code, en la que se muestra la lista desplegable de shell de terminal y la selección de Git Bash (valor predeterminado).

  3. En el terminal, vaya al directorio donde ha guardado la plantilla. Por ejemplo, si ha guardado la plantilla en la carpeta templates, puede usar este comando:

    cd templates
    

Instalación de Bicep

Ejecute el comando siguiente para asegurarse de que tiene la versión más reciente de Bicep:

az bicep install && az bicep upgrade

Inicio de sesión en Azure

  1. En el terminal de Visual Studio Code, inicie sesión en Azure mediante el siguiente comando:

    az login
    
  2. En el explorador que se abre, inicie sesión en su cuenta de Azure.

    En el terminal de Visual Studio Code se muestra una lista de las suscripciones asociadas a esta cuenta.

  3. Establezca la suscripción predeterminada para todos los comandos de la CLI de Azure que ejecute en esta sesión.

    az account set --subscription "Concierge Subscription"
    

    Nota:

    Si ha usado más de un espacio aislado recientemente, es posible que en el terminal se muestre más de una instancia de Suscripción de Concierge. En este caso, siga estos dos pasos para establecer una de las suscripciones como la predeterminada. Si el comando anterior se ha realizado correctamente y solo se muestra una Suscripción de Concierge, omita los dos pasos siguientes.

  4. Obtenga los identificadores de la Suscripción de Concierge.

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. Establezca la suscripción predeterminada con el identificador de la suscripción. Reemplace {identificador de su suscripción} por el identificador más reciente de la Suscripción de Concierge.

    az account set --subscription {your subscription ID}
    

Establecimiento del grupo de recursos predeterminado

Al usar la CLI de Azure, puede establecer el grupo de recursos predeterminado y omitir el parámetro del resto de los comandos de la CLI de Azure de este ejercicio. Establezca el valor predeterminado en el grupo de recursos que se ha creado de forma automática en el entorno del espacio aislado.

az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"

Implementación de la plantilla en Azure

Ejecute el comando siguiente desde el terminal en Visual Studio Code para implementar la plantilla de Bicep en Azure. El comando puede tardar un par de minutos en completarse; después, verá que la implementación se realizó correctamente. Si ve una advertencia sobre la ubicación codificada de forma rígida, puede omitirla. Corregirá la ubicación más adelante en el módulo. Es seguro continuar y la implementación se realizará correctamente.

az deployment group create --template-file main.bicep

Verá Running... en el terminal.

Para implementar esta plantilla en Azure, inicie sesión en la cuenta de Azure desde el terminal de Visual Studio Code. Asegúrese de haber instalado Azure PowerShell e inicie sesión en la misma cuenta que ha activado el espacio aislado.

  1. En el menú Terminal, seleccione Nuevo terminal. Normalmente, la ventana de terminal se abre en la mitad inferior de la pantalla.

  2. Si la ventana del terminal muestra pwsh o powershell en el lado derecho, significa que el shell correcto ya está abierto. Como alternativa, si ve un icono de shell de PowerShell a la derecha, puede seleccionarlo para iniciar el shell.

    Captura de pantalla de la ventana de terminal de Visual Studio Code, en la que se muestra la opción pwsh en la lista desplegable de shell.

    Si aparece un shell distinto de pwsh o PowerShell, seleccione la flecha desplegable del shell y, a continuación, seleccione PowerShell.

    Captura de pantalla de la ventana del terminal de Visual Studio Code, en la que se muestra la lista desplegable del shell del terminal y PowerShell seleccionado.

  3. En el terminal, vaya al directorio donde ha guardado la plantilla. Por ejemplo, si ha guardado la plantilla en la carpeta templates, puede usar este comando:

    Set-Location -Path templates
    

Instalación de la CLI de Bicep

Para usar Bicep desde Azure PowerShell, instale la CLI de Bicep.

Inicio de sesión en Azure mediante Azure PowerShell

  1. En el terminal de Visual Studio Code, ejecute el comando siguiente:

    Connect-AzAccount
    

    Se abre un explorador para que pueda iniciar sesión en la cuenta de Azure.

  2. Después de iniciar sesión, en el terminal se muestra una lista de las suscripciones asociadas a esta cuenta.

    Si ha activado el espacio aislado, se muestra una suscripción denominada Suscripción de Concierge. Úsela para el resto del ejercicio.

  3. Establezca la suscripción predeterminada para todos los comandos de Azure PowerShell que ejecute en esta sesión.

    $context = Get-AzSubscription -SubscriptionName 'Concierge Subscription'
    Set-AzContext $context
    

    Nota:

    Si ha usado más de un espacio aislado recientemente, es posible que en el terminal se muestre más de una instancia de Suscripción de Concierge. En este caso, siga estos dos pasos para establecer una de las suscripciones como la predeterminada. Si el comando anterior se ha realizado correctamente y solo se muestra una Suscripción de Concierge, omita los dos pasos siguientes.

  4. Obtenga el identificador de la suscripción. Al ejecutar el comando siguiente se mostrarán las suscripciones y sus identificadores. Busque Concierge Subscription y copie el identificador de la segunda columna. Tiene un aspecto similar a aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e.

    Get-AzSubscription
    
  5. Cambie la suscripción activa a la Suscripción de Concierge. Asegúrese de reemplazar {identificador de la suscripción} por el que ha copiado.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    

Establecimiento del grupo de recursos predeterminado

Puede establecer el grupo de recursos predeterminado y omitir el parámetro del resto de los comandos de Azure PowerShell de este ejercicio. Establezca este valor predeterminado en el grupo de recursos que se ha creado de forma automática en el entorno del espacio aislado.

Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>

Implementación de la plantilla en Azure

Implemente la plantilla en Azure usando el siguiente comando de Azure PowerShell en el terminal. El comando puede tardar un par de minutos en completarse y, luego, verá que la implementación se realizó correctamente. Si ve una advertencia sobre la ubicación codificada de forma rígida, puede omitirla. Corregirá la ubicación más adelante en el módulo. Es seguro continuar y la implementación se realizará correctamente.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Comprobación de la implementación

La primera vez que implemente una plantilla de Bicep, es posible que desee usar Azure Portal para comprobar que la implementación ha finalizado correctamente y para inspeccionar los resultados.

  1. Vaya a Azure Portal y asegúrese de que está en la suscripción de espacio aislado:

    1. Seleccione el avatar en la esquina superior derecha de la página.
    2. Seleccione Cambiar directorio. En la lista, seleccione el directorio Espacio aislado de Microsoft Learn.
  2. En el panel izquierdo, seleccione Grupos de recursos.

  3. Seleccione [nombre del grupo de recursos del espacio aislado].

  4. En la Información general, puede ver la implementación realizada correctamente. Es posible que tenga que expandir el área Essentials para ver la implementación.

    Captura de pantalla de la interfaz de Azure Portal con información general del grupo de recursos, con la sección de implementaciones que muestra la implementación que se ha realizado correctamente.

  5. Seleccione 1 correcta para ver los detalles de la implementación.

    Captura de pantalla de la interfaz de Azure Portal con las implementaciones, donde se muestra la implementación con el estado correcto.

  6. Seleccione la implementación llamada main para ver qué recursos se han implementado; después, seleccione Detalles de la implementación para expandirla. En este caso, hay una cuenta de almacenamiento con el nombre que especificó.

    Captura de pantalla de la interfaz de Azure Portal de la implementación específica, con un recurso de cuenta de almacenamiento enumerado.

  7. Deje la página abierta en el explorador. Tendrá que volver a comprobar las implementaciones posteriormente.

También puede verificar la implementación desde la línea de comandos. Para ello, ejecute el siguiente comando de la CLI de Azure:

az deployment group list --output table

También puede verificar la implementación desde la línea de comandos. Para ello, ejecute el siguiente comando de Azure Powershell:

Get-AzResourceGroupDeployment -ResourceGroupName <rgn>[sandbox resource group name]</rgn> | Format-Table

Adición de un plan de App Service a la plantilla de Bicep

En la tarea anterior, ha aprendido a crear una plantilla que contiene un único recurso y a implementarla. Ahora está listo para implementar más recursos, incluida una dependencia. En esta tarea, agregará un plan de App Service y una aplicación a la plantilla de Bicep.

  1. En el archivo main.bicep en Visual Studio Code, agregue el código siguiente en la parte inferior:

    resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
      name: 'toy-product-launch-plan-starter'
      location: 'eastus'
      sku: {
        name: 'F1'
      }
    }
    
    resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = {
      name: 'toy-product-launch-1'
      location: 'eastus'
      properties: {
        serverFarmId: appServicePlan.id
        httpsOnly: true
      }
    }
    
  2. Actualice el nombre de la aplicación de App Service de toy-product-launch-1 a algo que es probable que sea único. Asegúrese de que el nombre tenga entre 2 y 60 caracteres con guiones, números y letras en minúsculas y que no comienza ni termina con un guion.

  3. Guarde los cambios en el archivo.

Implementación de la plantilla de Bicep actualizada

Ejecute el siguiente comando de la CLI de Azure en el terminal. Puede omitir las advertencias sobre la ubicación codificada de forma rígida. Pronto corregirá la ubicación.

az deployment group create --template-file main.bicep

Ejecute el siguiente comando de Azure PowerShell en el terminal. Puede omitir los mensajes de advertencia sobre la ubicación codificada de forma rígida. Pronto corregirá la ubicación.

New-AzResourceGroupDeployment -TemplateFile main.bicep

Comprobación de la implementación

  1. Vuelva a Azure Portal y vaya al grupo de recursos. Seguirá viendo una implementación correcta, ya que esta habrá usado el mismo nombre que la primera.

  2. Seleccione el vínculo 1 Succeeded (1 correcta).

  3. Seleccione la implementación llamada main y, después, Detalles de la implementación para expandir la lista de recursos implementados.

    Captura de pantalla en la que se muestra la interfaz de Azure Portal para la implementación concreta. Se indican la cuenta de almacenamiento y los recursos de App Service.

  4. Tenga en cuenta que se implementó la aplicación y el plan de App Service.