Configura un endpoint di servizio standard usando la interfaccia della riga di comando di Azure

Questo articolo ti guida nella configurazione di un endpoint di servizio standard utilizzando la interfaccia della riga di comando di Azure. Si crea un indirizzo IP pubblico come identificatore di rete, si associa agli endpoint dei servizi su una subnet, si configura un perimetro di sicurezza di rete e si convalida la connettività.

Importante

L'endpoint standard del servizio è attualmente in anteprima pubblica. Questa anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero avere funzionalità limitate. Per ulteriori informazioni, vedere Condizioni supplementari per l'uso delle versioni di anteprima di Microsoft Azure.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Se non ne hai uno, crea gratuitamente un account.

  • Ruolo di Network Contributor o superiore sull'abbonamento. In particolare, è necessario il permesso Microsoft.Network/publicIPAddresses/joinServiceEndpointNetworkIdentifier/action. Per ulteriori informazioni, consulta i requisiti del controllo degli accessi basato sui ruoli per il perimetro di sicurezza di rete.

  • L'endpoint di servizio standard è attualmente controllato da un feature flag. Prima di configurarlo, registra la funzione AllowServiceEndpointNetworkIdentifier nel tuo abbonamento utilizzando questi comandi self-serve:

    az feature register \
        --namespace Microsoft.Network \
        --name AllowServiceEndpointNetworkIdentifier
    

    Verificare lo stato della registrazione:

    az feature show \
        --namespace Microsoft.Network \
        --name AllowServiceEndpointNetworkIdentifier \
        --query "properties.state" \
        --output tsv
    

    Aspetta che lo stato mostri Registrato, poi aggiorna la registrazione del fornitore di risorse:

    az provider register --namespace Microsoft.Network
    
  • interfaccia della riga di comando di Azure versione 2.x o successiva. Eseguire az --version per trovare la versione. Se è necessario installare o aggiornare, vedere Installare interfaccia della riga di comando di Azure.

Creare un gruppo di risorse

Creare un gruppo di risorse con az group create.

az group create \
  --name test-rg \
  --location eastus2

Creare una rete virtuale

Creare una rete virtuale e una subnet con az network vnet create.

az network vnet create \
  --resource-group test-rg \
  --name vnet-1 \
  --address-prefix 10.0.0.0/16 \
  --subnet-name subnet-1 \
  --subnet-prefix 10.0.0.0/24 \
  --location eastus2

Creare un gateway NAT

Crea un NAT gateway v2 e associalo alla subnet-1 per fornire connettività internet in uscita alla macchina virtuale.

  1. Crea un indirizzo IP pubblico per il NAT gateway con az-network public-ip create.

    az network public-ip create \
      --resource-group test-rg \
      --name public-ip-nat \
      --sku Standard \
      --allocation-method Static \
      --location eastus2
    
  2. Crea un NAT gateway con la creazione di un gateway NAT di rete AZ.

    az network nat gateway create \
      --resource-group test-rg \
      --name nat-gateway \
      --location eastus2 \
      --public-ip-addresses public-ip-nat \
      --idle-timeout 4  
    
  3. Associa il gateway NAT a subnet-1 utilizzando az network vnet subnet update.

    az network vnet subnet update \
      --resource-group test-rg \
      --vnet-name vnet-1 \
      --name subnet-1 \
      --nat-gateway nat-gateway
    

Distribuire Azure Bastion

Azure Bastion usa il browser per connettersi alle VM nella rete virtuale tramite Secure Shell (SSH) o Remote Desktop Protocol (RDP) usando i relativi indirizzi IP privati. Le macchine virtuali non necessitano di indirizzi IP pubblici, software client o configurazioni speciali. Per altre informazioni su Azure Bastion, vedere Azure Bastion.

Note

La tariffa oraria inizia dal momento in cui viene distribuito Bastion, a prescindere dall'utilizzo dei dati in uscita. Per altre informazioni, vedere Prezzi e SKU. Se si distribuisce Bastion come parte di un'esercitazione o di un test, è consigliabile eliminare questa risorsa dopo averla usata.

Creare un host Azure Bastion con az network bastion create.

az network bastion create \
  --name bastion \
  --resource-group test-rg \
  --vnet-name vnet-1 \
  --location eastus2 \
  --sku Basic

Creare una macchina virtuale

Crea una VM chiamata vm-1 nella rete virtuale. La macchina virtuale viene utilizzata per validare la connettività dopo la configurazione.

Creare una macchina virtuale con az vm create.

az vm create \
  --resource-group test-rg \
  --name vm-1 \
  --image Ubuntu2204 \
  --vnet-name vnet-1 \
  --subnet subnet-1 \
  --admin-username azureuser \
  --generate-ssh-keys \
  --public-ip-address "" \
  --nsg nsg-1

Note

Le macchine virtuali in una rete virtuale con un host Azure Bastion non necessitano di indirizzi IP pubblici. Bastion fornisce l'indirizzo IP pubblico e le macchine virtuali usano indirizzi IP privati per comunicare all'interno della rete. È possibile rimuovere gli indirizzi IP pubblici da qualsiasi macchina virtuale in reti virtuali ospitate da Bastion. Per altre informazioni, vedere Annullare l'associazione di un indirizzo IP pubblico da una macchina virtuale di Azure.

Note

Azure fornisce un indirizzo IP di accesso in uscita predefinito per le macchine virtuali a cui non è assegnato un indirizzo IP pubblico o che si trovano nel pool back-end di un servizio di bilanciamento del carico di base interno Azure. Il meccanismo dell'IP di accesso in uscita predefinito fornisce un IP in uscita non configurabile.

L'IP di accesso in uscita predefinito è disabilitato quando si verifica uno degli eventi seguenti:

  • Alla macchina virtuale viene assegnato un indirizzo IP pubblico.
  • La macchina virtuale è posizionata nel pool back-end di un servizio di bilanciamento del carico standard, con o senza regole in uscita.
  • Una risorsa Gateway NAT di Azure viene assegnata alla subnet della macchina virtuale.

Le macchine virtuali che crei utilizzando set di scalabilità delle macchine virtuali in modalità di orchestrazione flessibile non dispongono di accesso predefinito verso l'esterno.

Per altre informazioni sulle connessioni in uscita in Azure, vedere Accesso in uscita predefinito in Azure e Uso di Source Network Address Translation (SNAT) per le connessioni in uscita.

Installa strumenti sulla macchina virtuale

Installa cifs-utils e interfaccia della riga di comando di Azure sulla macchina virtuale eseguendo uno script shell con az vm run-command invoke.

az vm run-command invoke \
  --resource-group test-rg \
  --name vm-1 \
  --command-id RunShellScript \
  --scripts "sudo apt-get update && sudo apt-get install -y cifs-utils && curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash"

Creare un account di archiviazione

Crea un account di archiviazione Azure con una condivisione file da usare come risorsa PaaS per testare la connettività tramite l'endpoint del servizio.

  1. Crea un account di archiviazione con az storage account create. Sostituisci <storage-account-name> con un nome unico a livello globale.

    az storage account create \
      --name <storage-account-name> \
      --resource-group test-rg \
      --location eastus2 \
      --sku Standard_LRS \
      --kind StorageV2
    
  2. Crea una condivisione file con az storage share-rm create.

    az storage share-rm create \
      --resource-group test-rg \
      --storage-account <storage-account-name> \
      --name fileshare-1
    

Crea un prefisso IP pubblico

Crea un prefisso IP pubblico e un'istanza di indirizzo IP pubblico da usare come identificatore di rete.

  1. Crea un prefisso IP pubblico con az network public-ip prefix create.

    az network public-ip prefix create \
      --resource-group test-rg \
      --name public-ip-prefix \
      --length 31 \
      --location eastus2
    
  2. Crea un indirizzo IP pubblico dal prefisso con az-network public-ip create.

    az network public-ip create \
      --resource-group test-rg \
      --name public-ip-1 \
      --public-ip-prefix public-ip-prefix \
      --sku Standard \
      --allocation-method Static
    

Configura gli endpoint di servizio con un identificatore di rete

Questo passaggio è la configurazione chiave per un endpoint di servizio standard. Associ un indirizzo IP pubblico come identificatore di rete agli endpoint dei servizi su una subnet.

Un identificatore di rete è un indirizzo IP pubblico che assegni al tuo endpoint di servizio. L'IP pubblico non viene utilizzato per le decisioni di routing di rete. Quando crei un indirizzo IP pubblico all'interno del tuo abbonamento, viene automaticamente assegnato dal pool IP designato del tuo servizio. I servizi all'interno del perimetro di sicurezza di rete utilizzano questo indirizzo IP pubblico per riconoscere il traffico degli endpoint di servizio e configurare le regole di accesso appropriate.

Note

L'indirizzo IP pubblico utilizzato come identificatore di rete deve soddisfare tutti i requisiti seguenti: SKU Standard, metodo di allocazione statico, IPv4, stato di provisioning Succeeded e deve già esistere prima di essere associato a un endpoint di servizio. La NRP respinge la proprietà intellettuale se una di queste condizioni non viene soddisfatta.

Aggiorna la subnet per aggiungere un endpoint di servizio usando l'indirizzo IP pubblico come identificatore di rete, utilizzando az network vnet subnet update.

az network vnet subnet update \
  --resource-group test-rg \
  --vnet-name vnet-1 \
  --name subnet-1 \
  --add serviceEndpoints '{"service":"Microsoft.Storage","networkIdentifier":{"id":"/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Network/publicIPAddresses/public-ip-1"}}'

Note

Sostituire <subscription-id> con l'ID della sottoscrizione di Azure. È possibile trovare l'ID sottoscrizione eseguendo az account show --query id --output tsv.

Lo stesso indirizzo IP pubblico può essere assegnato a tutte le subnet di una regione all'interno di un abbonamento. L'identificatore di rete è supportato in tutte le sottoscrizioni durante l'anteprima pubblica.

Creare un perimetro di sicurezza di rete

Crea un perimetro di sicurezza di rete e associa le tue risorse PaaS ad esso.

  1. Crea un perimetro di sicurezza di rete con az network perimeter create.

    az network perimeter create \
      --name nsp-1 \
      --resource-group test-rg \
      --location eastus2
    
  2. Crea un profilo all'interno del perimetro di sicurezza di rete con az network perimeter profile create.

    az network perimeter profile create \
      --perimeter-name nsp-1 \
      --resource-group test-rg \
      --name profile-1
    
  3. Associare il proprio account di archiviazione al perimetro di sicurezza di rete con az network perimeter association create. Sostituire <subscription-id> e <storage-account-name> con i propri valori.

    az network perimeter association create \
      --perimeter-name nsp-1 \
      --resource-group test-rg \
      --association-name assoc-storage \
      --access-mode Learning \
      --profile "{id:/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Network/networkSecurityPerimeters/nsp-1/profiles/profile-1}" \
      --private-link-resource "{id:/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/<storage-account-name>}"
    

Crea una regola di accesso in entrata per il perimetro di sicurezza di rete

Aggiungi una regola di accesso in entrata basata su IP nel perimetro di sicurezza di rete per autorizzare il traffico dal tuo identificatore di rete. Questa regola corrisponde all'indirizzo IP pubblico per abilitare la connettività dai tuoi endpoint di servizio.

Creare una regola di accesso in ingresso con az network perimeter profile access-rule create. Sostituisci <public-ip-prefix-range> con l'intervallo di indirizzi del prefisso IP pubblico.

az network perimeter profile access-rule create \
  --perimeter-name nsp-1 \
  --resource-group test-rg \
  --profile-name profile-1 \
  --access-rule-name allow-se-standard \
  --direction Inbound \
  --address-prefixes "<public-ip-prefix-range>"

Note

Per trovare l'intervallo di indirizzi del prefisso IP pubblico, esegui az network public-ip prefix show --resource-group test-rg --name public-ip-prefix --query ipPrefix --output tsv.

Convalidare la connettività

Connettiti alla tua macchina virtuale con Azure Bastion e testa la connettività con l'account di archiviazione per verificare che il traffico è autorizzato dalla regola di accesso in entrata del perimetro di sicurezza di rete.

Connettersi alla macchina virtuale

  1. Nel portale Azure cercare e selezionare Macchine virtuali.

  2. Selezionare vm-1.

  3. Selezionare Connetti e quindi Connetti tramite Bastion.

  4. Nella pagina del Bastione , inserisci le seguenti informazioni:

    Setting Value
    Tipo di autenticazione Selezionare Chiave privata SSH da File locale.
    Nome utente Inserisci azureuser.
    File locale Seleziona il file vm-1-key.pem che hai scaricato quando hai creato la macchina virtuale.
  5. Selezionare Connetti.

Effettuare test di connettività all'account di archiviazione

  1. Nella sessione SSH su vm-1, accedi ad interfaccia della riga di comando di Azure:

    az login
    
  2. Monta la condivisione file Azure per validare la connettività con l'account di archiviazione tramite l'endpoint del servizio. Sostituire <storage-account-name> con il nome dell'account di archiviazione:

    sudo mkdir -p /mnt/fileshare-1
    STORAGE_KEY=$(az storage account keys list \
        --resource-group test-rg \
        --account-name <storage-account-name> \
        --query "[0].value" -o tsv)
    
    sudo mount -t cifs //<storage-account-name>.file.core.windows.net/fileshare-1 /mnt/fileshare-1 \
        -o username=<storage-account-name>,password=$STORAGE_KEY,serverino,nosharesock,actimeo=30,mfsymlinks
    
  3. Verifica che la condivisione di file venga montata correttamente:

    df -h /mnt/fileshare-1
    
  4. Per confermare che la regola di accesso in entrata funziona, controlla i log diagnosticali del perimetro di sicurezza di rete. Per ulteriori informazioni sui log diagnostici del perimetro di sicurezza di rete, vedere Registrazione diagnostica per il perimetro di sicurezza di rete.

Pulire le risorse

Quando non hai più bisogno delle risorse create in questo articolo, elimina il gruppo risorse:

az group delete --name test-rg --yes --no-wait

Passaggi successivi