Compartir a través de


Inicio rápido: Creación de una máquina virtual de servidor Linux mediante la CLI de Azure en Azure Stack Hub

Puede crear una máquina virtual (VM) ubuntu Server 20.04 LTS mediante la CLI de Azure. Siga los pasos que se describen en este artículo para crear y usar una máquina virtual. En este artículo también se muestra cómo:

  • Conectarse a la máquina virtual con un cliente remoto.
  • Instalar un servidor web NGINX y ver la página principal predeterminada.
  • Borrar los recursos que no use.

Requisitos previos

Asegúrese de que cumple los siguientes requisitos previos antes de empezar:

  • Una imagen de Linux en el Marketplace de Azure Stack Hub

    El Marketplace de Azure Stack Hub no contiene la imagen de Linux de forma predeterminada. Haga que el operador de Azure Stack Hub proporcione la imagen de Ubuntu Server 20.04 LTS que necesita. El operador puede seguir las instrucciones del artículo Descarga de elementos de Marketplace desde Azure a Azure Stack Hub.

  • Azure Stack Hub requiere una versión específica de la CLI de Azure para crear y administrar sus recursos. Si no tiene la CLI de Azure configurada para Azure Stack Hub, inicie sesión en un cliente externo basado en Windows si está conectado a través de VPN y siga las instrucciones para instalar y configurar la CLI de Azure.

  • Se guardó una clave pública de Secure Shell (SSH) denominada id_rsa.pub en el directorio .ssh del perfil de usuario de Windows. Para más información sobre cómo crear claves SSH, consulte Uso de un par de claves SSH con Azure Stack Hub.

Crear un grupo de recursos

Un grupo de recursos es un contenedor lógico en el que puede implementar y administrar recursos de Azure Stack Hub. En el sistema integrado de Azure Stack Hub, ejecute el comando az group create para crear un grupo de recursos.

Nota:

Hemos asignado valores para todas las variables de los ejemplos de código siguientes. Sin embargo, puede asignar sus propios valores.

En el ejemplo siguiente se crea un grupo de recursos denominado myResourceGroup con un sufijo aleatorio en la ubicación local:

export RANDOM_SUFFIX=$(openssl rand -hex 3)
export RESOURCE_GROUP="myResourceGroup$RANDOM_SUFFIX"
export LOCATION="eastus2"
az group create --name $RESOURCE_GROUP --location $LOCATION

Resultados:

{
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx",
  "location": "local",
  "managedBy": null,
  "name": "myResourceGroupxxx",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Creación de una máquina virtual

Cree una máquina virtual con el comando az vm create. En el ejemplo siguiente se crea una máquina virtual denominada myVM. En el ejemplo se usa Demouser como nombre de usuario de administrador. Actualice estos valores a un valor apropiado para su entorno.

export VM_NAME="myVM$RANDOM_SUFFIX"
az vm create \
  --resource-group $RESOURCE_GROUP \
  --name $VM_NAME \
  --image "Ubuntu2204" \
  --admin-username "azureuser" \
  --assign-identity \
  --generate-ssh-keys \
  --public-ip-sku Standard \
  --location $LOCATION

Resultados:

{
  "fqdns": "",
  "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.Compute/virtualMachines/myVMxxx",
  "location": "local",
  "name": "myVMxxx",
  "osProfile": {
    "computerName": "myVMxxx",
    "adminUsername": "Demouser"
  },
  "publicIpAddress": "x.x.x.x",
  "powerState": "VM running",
  "provisioningState": "Succeeded"
}

La dirección IP pública se devuelve en el PublicIpAddress parámetro . Anote la dirección para usarla más adelante con la máquina virtual.

Apertura del puerto 80 para el tráfico web

Dado que esta máquina virtual ejecuta el servidor web IIS, debe abrir el puerto 80 al tráfico de Internet. Para abrir el puerto, use el comando az vm open-port:

az vm open-port --port 80 --resource-group $RESOURCE_GROUP --name $VM_NAME

Resultados:

{
  "endPort": 80,
  "name": "openPort80",
  "port": 80,
  "protocol": "Tcp",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroupxxx",
  "startPort": 80
}

Uso de SSH para conectarse a la máquina virtual

En un equipo cliente con SSH instalado, conéctese a la máquina virtual. Si trabaja en un cliente de Windows, use PuTTY para crear la conexión. Para conectarse a la máquina virtual, puede usar el ssh comando .

Instalación del servidor web NGINX

Ejecute el siguiente script para actualizar los recursos del paquete e instalar el paquete NGINX más reciente:

output=$(az vm run-command invoke --resource-group $RESOURCE_GROUP --name $VM_NAME --command-id RunShellScript --scripts 'apt-get -y install nginx')
value=$(echo "$output" | jq -r '.value[0].message')
extracted=$(echo "$value" | awk '/[stdout]/,/[stderr]/' | sed '/[stdout]/d' | sed '/[stderr]/d')
echo "$extracted"

Visualización de la página de bienvenida de NGINX

Con el servidor web NGINX instalado y el puerto 80 abierto en la máquina virtual, puede acceder al servidor web mediante la dirección IP pública de la máquina virtual. Para hacerlo, abra un explorador y vaya a http://<public IP address>. Como alternativa, puede usar el comando curl para ver la página principal de NGINX:

export PUBLIC_IP=$(az vm show -d -g $RESOURCE_GROUP -n $VM_NAME --query publicIps -o tsv)

output=$(az vm run-command invoke --resource-group $RESOURCE_GROUP --name $VM_NAME --command-id RunShellScript --scripts 'curl -v http://localhost')
value=$(echo "$output" | jq -r '.value[0].message')
extracted=$(echo "$value" | awk '/[stdout]/,/[stderr]/' | sed '/[stdout]/d' | sed '/[stderr]/d')
echo "$extracted"

Resultados:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
  body {
    width: 35em;
    margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif;
  }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Página principal del servidor web NGINX

Pasos siguientes

En esta guía de inicio rápido ha implementado una máquina virtual de servidor Linux básica con un servidor web. Para más información sobre las máquina virtuales de Azure Stack Hub, consulte el artículo Consideraciones sobre máquinas virtuales en Azure Stack Hub.