Aprire porte ed endpoint per una VM Linux con l'interfaccia della riga di comando di Azure

Aprire una porta o creare un endpoint in una macchina virtuale (VM) di Azure tramite la creazione di un filtro di rete su una subnet o un'interfaccia di rete di VM. Questi filtri, che consentono di controllare il traffico in ingresso e in uscita, vengono inseriti in un gruppo di sicurezza di rete e collegati alla risorsa che riceve il traffico. Si userà un esempio comune di traffico Web sulla porta 80. Questo articolo illustra come aprire una porta in una VM con l'interfaccia della riga di comando di Azure 2.0. È possibile anche eseguire questi passaggi tramite l'interfaccia della riga di comando di Azure 1.0.

Comandi rapidi

Per creare un gruppo di sicurezza di rete e le regole è necessario aver installato la versione più recente dell'interfaccia della riga di comando di Azure 2.0 e aver eseguito l'accesso a un account Azure usando az login.

Nell'esempio seguente sostituire i nomi dei parametri di esempio con i valori desiderati. I nomi dei parametri di esempio includono myResourceGroup, myNetworkSecurityGroup e myVnet.

Creare il gruppo di sicurezza di rete con az network nsg create. L'esempio seguente crea un gruppo di sicurezza di rete denominato myNetworkSecurityGroup nella posizione eastus:

az network nsg create \
    --resource-group myResourceGroup \
    --location eastus \
    --name myNetworkSecurityGroup

Aggiungere una regola con az network nsg rule create per consentire il traffico HTTP al server Web (o in base allo scenario specifico, come l'accesso SSH o la connettività al database). L'esempio seguente crea una regola denominata myNetworkSecurityGroupRule per consentire il traffico TCP sulla porta 80:

az network nsg rule create \
    --resource-group myResourceGroup \
    --nsg-name myNetworkSecurityGroup \
    --name myNetworkSecurityGroupRule \
    --protocol tcp \
    --priority 1000 \
    --destination-port-range 80

Associare il gruppo di sicurezza di rete all'interfaccia di rete della VM (NIC) utilizzando az network nic update. L'esempio seguente associa una scheda di interfaccia di rete esistente denominata myNic al gruppo di sicurezza di rete denominato myNetworkSecurityGroup:

az network nic update \
    --resource-group myResourceGroup \
    --name myNic \
    --network-security-group myNetworkSecurityGroup

In alternativa, è possibile associare il gruppo di sicurezza di rete a una subnet di rete virtuale utilizzando az network vnet subnet update anziché solo all'interfaccia di rete di una singola VM. L'esempio seguente associa una subnet esistente denominata mySubnet nella rete virtuale myVnet al gruppo di sicurezza di rete denominato myNetworkSecurityGroup:

az network vnet subnet update \
    --resource-group myResourceGroup \
    --vnet-name myVnet \
    --name mySubnet \
    --network-security-group myNetworkSecurityGroup

Altre informazioni sui gruppi di sicurezza di rete

I comandi rapidi seguenti consentono di rendere operativo il traffico verso la VM. I gruppi di sicurezza di rete offrono numerose funzionalità efficienti e la necessaria granularità per controllare l'accesso alle risorse. Per altre informazioni, leggere l'articolo sulla creazione di un gruppo di sicurezza di rete e di regole dell'elenco di controllo di accesso qui.

È possibile definire le regole dell'elenco di controllo di accesso e i gruppi di sicurezza di rete come parte dei modelli di Azure Resource Manager. Per altre informazioni, leggere l'articolo Come creare NSG utilizzando un modello.

Se si deve usare il port forwarding per eseguire il mapping di una sola porta esterna verso una porta interna della VM, usare un servizio di bilanciamento del carico e le regole Network Address Translation (NAT). Ad esempio, si desidera esporre la porta TCP 8080 esternamente e che il traffico venga indirizzato sulla porta TCP 80 in una VM. Per altre informazioni, leggere l'articolo relativo alla creazione di un servizio di bilanciamento del carico per Internet.

Passaggi successivi

In questo esempio viene creata una regola semplice per consentire il traffico HTTP. È possibile trovare informazioni sulla creazione di ambienti più dettagliati negli articoli seguenti: