Ejercicio: Creación de una máquina virtual para hospedar una aplicación web

Completado

Al igual que la mayoría de los marcos de trabajo de las aplicaciones, puede ejecutar la aplicación de la pila MEAN en muchos entornos diferentes. Puede ejecutar la aplicación en un equipo físico en su sala de servidores, en una máquina virtual o en contenedores.

Aquí ejecutará la aplicación en una máquina virtual que se ejecuta en Azure. MEAN es compatible con varios sistemas operativos diferentes. Aquí se usará Ubuntu Linux con fines de aprendizaje.

Creación de una máquina virtual Ubuntu Linux

Normalmente, crearía un grupo de recursos antes de crear otros recursos en Azure. Un grupo de recursos es un contenedor que almacena los recursos relacionados de una solución de Azure. En este ejercicio, el espacio aislado de Azure le proporciona un grupo de recursos. Pero si trabaja en una suscripción de Azure propia, tendría que ejecutar el comando siguiente para crear un grupo de recursos en una ubicación cercana.

Nota:

El ejemplo de código siguiente az group create es para que lo ejecute en una cuenta propia, no con este espacio aislado.

az group create \
  --name <resource-group-name> \
  --location <resource-group-location>
  1. En Cloud Shell, ejecute el comando az vm create para crear una máquina virtual Ubuntu:

    az vm create \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name MeanStack \
      --image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest \
      --admin-username azureuser \
      --generate-ssh-keys
    

    El comando tarda unos dos minutos en completarse. Cuando finalice el comando, verá una salida similar a esta:

    (Output Example)
    {
      "fqdns": "",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/MeanStack",
      "location": "eastus",
      "macAddress": "00-0D-3A-1E-1B-3B",
      "powerState": "VM running",
      "privateIpAddress": "10.0.0.5",
      "publicIpAddress": "104.211.9.245",
      "resourceGroup": "<rgn>[sandbox resource group name]</rgn>",
      "zones": ""
    }
    

    El nombre de la máquina virtual es MeanStack. Usará este nombre en futuros comandos para identificar la máquina virtual con la que quiera trabajar.

  2. Abra el puerto 80 en la máquina virtual para permitir el tráfico HTTP entrante a la aplicación web que creará después.

    az vm open-port \
      --port 80 \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name MeanStack
    
  3. Cree una conexión SSH a la máquina virtual.

    Aunque el resultado del comando az vm create muestra la dirección IP pública de la máquina virtual, puede que le sea útil almacenar la dirección en una variable de Bash.

    Para comenzar, ejecute az vm show. Este comando guarda la dirección IP en una variable de Bash denominada ipaddress.

    ipaddress=$(az vm show \
      --name MeanStack \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --show-details \
      --query [publicIps] \
      --output tsv)
    
  4. Conéctese a la máquina virtual de esta forma.

    ssh azureuser@$ipaddress
    

    Cuando se le solicite, escriba yes (sí) para guardar la identidad de la máquina virtual de forma local para que las futuras conexiones sean de confianza.

    Usará la conexión SSH para configurar el software en la máquina virtual en las secciones siguientes.

Resumen

Con la máquina virtual Ubuntu lista, ya puede instalar cada componente de la pila MEAN. Comenzará instalando MongoDB.