Condividi tramite


Guida introduttiva: Creare una macchina virtuale server Linux usando l'interfaccia della riga di comando di Azure nell'hub di Azure Stack

È possibile creare una macchina virtuale Ubuntu Server 20.04 LTS usando l'interfaccia della riga di comando di Azure. In questo articolo viene creata e usata una macchina virtuale. Questo articolo illustra anche come:

  • Connettersi alla macchina virtuale con un client remoto.
  • Installare un server Web NGINX e visualizzare la home page predefinita.
  • Pulire le risorse inutilizzate.

Prerequisiti

Prima di iniziare, verificare di aver soddisfatto i prerequisiti seguenti:

  • Immagine Linux nel Marketplace dell'hub di Azure Stack

    Azure Stack Hub Marketplace non contiene un'immagine Linux per impostazione predefinita. Chiedere all'operatore dell'hub di Azure Stack di fornire l'immagine Ubuntu Server 20.04 LTS necessaria. L'operatore può usare le istruzioni in Scaricare gli elementi del Marketplace da Azure all'hub di Azure Stack.

  • L'hub di Azure Stack richiede una versione specifica dell'interfaccia della riga di comando di Azure per creare e gestire le risorse. Se l'interfaccia della riga di comando di Azure non è configurata per l'hub di Azure Stack, accedere a un client esterno basato su Windows se si è connessi tramite VPN e seguire le istruzioni per l'installazione e la configurazione dell'interfaccia della riga di comando di Azure.

  • Chiave SSH (Secure Shell) pubblica con il nome id_rsa.pub salvato nella directory SSH del profilo utente di Windows. Per altre informazioni sulla creazione di chiavi SSH, vedere Usare una coppia di chiavi SSH con l'hub di Azure Stack.

Creare un gruppo di risorse

Un gruppo di risorse è un contenitore logico in cui è possibile distribuire e gestire le risorse dell'hub di Azure Stack. Dal sistema integrato dell'hub di Azure Stack eseguire il comando az group create per creare un gruppo di risorse.

Nota

Sono stati assegnati valori per tutte le variabili negli esempi di codice seguenti. Tuttavia, è possibile assegnare valori personalizzati.

L'esempio seguente crea un gruppo di risorse denominato myResourceGroup con un suffisso casuale nella posizione locale:

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

Risultati:

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

Creare una macchina virtuale

Creare una macchina virtuale usando il comando az vm create . L'esempio seguente crea una macchina virtuale denominata myVM. Nell'esempio viene Demouser usato come nome utente amministratore. Modificare questi valori in un elemento appropriato per l'ambiente in uso.

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

Risultati:

{
  "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"
}

L'indirizzo IP pubblico viene restituito nel PublicIpAddress parametro . Prendere nota dell'indirizzo per un uso successivo con la macchina virtuale.

Aprire la porta 80 per il traffico Web

Poiché questa macchina virtuale esegue il server Web IIS, è necessario aprire la porta 80 al traffico Internet. Per aprire la porta, usare il comando az vm open-port :

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

Risultati:

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

Usare SSH per connettersi alla macchina virtuale

Da un computer client con SSH installato, connettersi alla macchina virtuale. Se si lavora su un client Windows, usare PuTTY per creare la connessione. Per connettersi alla macchina virtuale, è possibile usare il ssh comando .

Installare il server Web NGINX

Per aggiornare le risorse del pacchetto e installare il pacchetto NGINX più recente, eseguire lo script seguente:

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"

Visualizzare la pagina iniziale di NGINX

Con il server Web NGINX installato e la porta 80 aperta nella macchina virtuale, è possibile accedere al server Web usando l'indirizzo IP pubblico della macchina virtuale. A tale scopo, aprire un browser e passare a http://<public IP address>. In alternativa, è possibile usare il comando curl per visualizzare la pagina iniziale di 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"

Risultati:

<!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>

Pagina iniziale del server Web NGINX

Passaggi successivi

In questa guida introduttiva è stata distribuita una macchina virtuale server Linux di base con un server Web. Per altre informazioni sulle macchine virtuali dell'hub di Azure Stack, vedere Considerazioni sulle macchine virtuali nell'hub di Azure Stack.