Ejercicio: Creación de un sitio web de Azure mediante la CLI

Completado

A continuación, se usará la CLI de Azure para crear un grupo de recursos e implementar después una aplicación web en ese grupo de recursos.

El espacio aislado gratuito permite crear recursos en un subconjunto de las regiones globales de Azure. Seleccione una región de la lista al crear los recursos:

  • westus2
  • southcentralus
  • centralus
  • eastus
  • westeurope
  • southeastasia
  • japaneast
  • brazilsouth
  • australiasoutheast
  • centralindia

Uso de un grupo de recursos

Si va a trabajar con su propia máquina y su suscripción de Azure, primero debe iniciar sesión en Azure con el comando az login. Sin embargo, no es necesario iniciar sesión cuando se usa el entorno de espacio aislado de Cloud Shell basado en el explorador.

Normalmente, crearía un grupo de recursos a continuación para todos los recursos relacionados de Azure con un comando az group create, pero se ha creado el siguiente grupo de recursos para este ejercicio de forma automática:[nombre del grupo de recursos de espacio aislado].

Nota

En este ejercicio, se usa la región Este de EE. UU. Si tiene algún problema para crear el plan de App Service, seleccione otra región en la lista anterior.

  1. El primer paso de este ejercicio es crear múltiples variables para usarlas en comandos posteriores:

    export RESOURCE_GROUP=<rgn>[sandbox resource group name]</rgn>
    export AZURE_REGION=eastus
    export AZURE_APP_PLAN=popupappplan-$RANDOM
    export AZURE_WEB_APP=popupwebapp-$RANDOM
    
  2. Puede solicitar a la CLI de Azure que muestre todos los grupos de recursos en una tabla. Mientras esté en el espacio aislado de Azure gratuito, solo debería haber uno:

    az group list --output table
    

    Sugerencia

    Puede usar el botón Copiar para copiar los comandos en el Portapapeles. Para pegarlos, haga clic con el botón derecho en una nueva línea en el terminal de Cloud Shell y seleccione Pegar, o bien use el método abreviado de teclado Mayús+Insert (⌘+V en macOS).

  3. A medida que avance con el desarrollo en Azure, puede acabar con varios grupos de recursos. Si tiene varios elementos en la lista de grupos, puede filtrar los valores devueltos agregando una opción --query. Pruebe el siguiente comando:

    az group list --query "[?name == '$RESOURCE_GROUP']"
    

    El formato de la consulta se establece con JMESPath, que es un lenguaje de consulta estándar para las solicitudes JSON. Puede obtener más información sobre este eficaz lenguaje de filtro en http://jmespath.org/. También analizaremos con más detalle las consultas en el módulo Administración de máquinas virtuales con la CLI de Azure.

Pasos para crear un plan de servicio

Al ejecutar Web Apps, mediante Azure App Service, paga por los recursos de proceso de Azure que la aplicación usa y los costos de los recursos dependen del plan de App Service asociado con Web Apps. Los planes de servicio determinan la región que se usa para el centro de datos de la aplicación, el número de máquinas virtuales que se usan y el plan de tarifa.

  1. Cree un plan de App Service para ejecutar la aplicación. En el siguiente comando se especifica el plan de tarifa gratuito, pero puede ejecutar az appservice plan create --help para ver los demás planes de tarifa.

    Nota:

    Los nombres de la aplicación y el plan deben ser únicos en todo Azure. Las variables que ha creado anteriormente asignarán valores aleatorios como sufijos para garantizar que sean únicos. Sin embargo, si recibe un error al crear los recursos, debe ejecutar los comandos enumerados anteriormente para restablecer todas las variables con nuevos valores aleatorios.

    Si recibe un error sobre el grupo de recursos, ejecute los comandos enumerados anteriormente con un valor de grupo de recursos diferente.

    az appservice plan create --name $AZURE_APP_PLAN --resource-group $RESOURCE_GROUP --location $AZURE_REGION --sku FREE
    

    Este comando puede tardar varios minutos en completarse.

  2. Muestre todos los planes en una tabla para comprobar que el plan de servicio se haya creado correctamente:

    az appservice plan list --output table
    

    Debería obtener una respuesta similar a la del siguiente ejemplo:

    Kind    Location    MaximumNumberOfWorkers    Name                NumberOfSites    ResourceGroup                               Status
    ------  ----------  ------------------------  ------------------  ---------------  ------------------------------------------  --------
    app     East US     3                         popupappplan-54321  0                Learn-12345678-1234-1234-1234-123456789abc  Ready
    

Creación de una aplicación web

A continuación, cree la aplicación web en su plan de servicio. Puede implementar el código al mismo tiempo, pero, en nuestro ejemplo, crearemos la aplicación web e implementaremos el código por separado.

  1. Para crear la aplicación web, proporcione el nombre de la aplicación web y el nombre del plan de App Service que creó antes. Al igual que el nombre del plan de aplicación, el nombre de la aplicación web debe ser único. Las variables que creó antes asignan valores aleatorios que deberían ser suficientes para este ejercicio. Este comando puede tardar unos minutos en completarse.

    az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
    
  2. Muestre todas las aplicaciones en una tabla para comprobar que la aplicación se haya creado correctamente:

    az webapp list --output table
    

    Debería obtener una respuesta similar a la del siguiente ejemplo:

    Name               Location    State    ResourceGroup                               DefaultHostName                      AppServicePlan
    -----------------  ----------  -------  ------------------------------------------  -----------------------------------  ------------------
    popupwebapp-12345  East US  Running  Learn-12345678-1234-1234-1234-123456789abc  popupwebapp-12345.azurewebsites.net  popupappplan-54321
    

    Anote el valor de DefaultHostName mostrado en la tabla; esta dirección es la URL para el nuevo sitio web. Azure hará que su sitio web esté disponible con el nombre de aplicación único en el dominio azurewebsites.net. Por ejemplo, si el nombre de la aplicación fuera "popupwebapp-12345", la dirección del sitio web sería: http://popupwebapp-12345.azurewebsites.net. También puede usar el siguiente script para devolver la dirección HTTP:

    site="http://$AZURE_WEB_APP.azurewebsites.net"
    echo $site
    
  3. Para obtener el código HTML predeterminado de la aplicación de ejemplo, use CURL con el valor de DefaultHostName:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    Debería obtener una respuesta similar a la del siguiente ejemplo:

    <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Microsoft Azure App Service - Welcome</title><link rel="shortcut icon" href="https://appservice.azureedge.net/images/app-service/v4/favicon.ico" type="image/x-icon"/><link href="https://appservice.azureedge.net/css/app-service/v4/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"/><style>html, body{height: 100%; background-color: #ffffff; color: #000000; font-size: 13px;}*{border-radius: 0 !important;}</style> ... (continued)
    

Implementación de código desde GitHub

  1. El último paso es implementar código de un repositorio GitHub en la aplicación web. Se usará una página PHP básica disponible en el repositorio GitHub de ejemplos de Azure que muestra "¡Hola mundo!" cuando se ejecuta. Asegúrese de usar el nombre de la aplicación web que creó. Este comando puede tardar unos minutos en completarse.

    az webapp deployment source config --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --repo-url "https://github.com/Azure-Samples/php-docs-hello-world" --branch master --manual-integration
    
  2. Una vez implementada, use un explorador o CURL para llegar de nuevo al sitio:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    La página muestra "¡Hola mundo!"

    Hello World!
    

En este ejercicio se ha mostrado un patrón típico de una sesión interactiva de la CLI de Azure. Primero ha usado un comando estándar para crear un grupo de recursos. Después ha usado un conjunto de comandos para implementar un recurso (en este ejemplo, una aplicación web) en este grupo de recursos. Podría combinar fácilmente este conjunto de comandos en un script de shell y ejecutarlo cada vez que sea necesario crear el mismo recurso.