Ejercicio: Creación de un sitio web de Azure mediante la CLI
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:
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.
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
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).
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.
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.
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.
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
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
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
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
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.