Provider di risorse di rete

Un fattore essenziale per il successo di un'azienda è la possibilità di creare e gestire applicazioni presenti in rete su larga scala in modo agile, flessibile, sicuro e ripetibile. Azure Resource Manager consente di creare tali applicazioni come unica raccolta di risorse nei gruppi di risorse. Tali risorse vengono gestite tramite diversi provider in Resource Manager.

Gestione risorse di Azure si basa su diversi provider di risorse per fornire l'accesso alle risorse. Sono disponibili tre provider di risorse principali: Rete, Archiviazione e Calcolo. In questo documento vengono illustrate le caratteristiche e i vantaggi del Provider di risorse di rete, tra cui:

  • Metadati : le informazioni alle risorse possono essere aggiunte usando i tag. Questi tag possono essere usati per tenere traccia dell'utilizzo delle risorse tra le sottoscrizioni e i gruppi di risorse.
  • Maggior controllo della rete : le risorse di rete sono a regime di controllo libero ed è possibile controllarle in modo più granulare. Questo consente una maggiore flessibilità nella gestione delle risorse di rete.
  • Configurazione più veloce : grazie al regime di controllo libero, è possibile creare e orchestrare in parallelo le risorse di rete. Il tempo di configurazione viene ridotto drasticamente.
  • Controllo degli accessi in base al ruolo : questa funzionalità fornisce ruoli predefiniti con uno specifico ambito di sicurezza, oltre a consentire la creazione di ruoli personalizzati per una gestione sicura.
  • Gestione e distribuzione più semplice : la distribuzione e la gestione delle applicazioni è più semplice perché è possibile creare un intero stack di applicazioni sotto forma di un'unica raccolta di risorse in un gruppo di risorse. Inoltre, la distribuzione risulta più rapida perché è possibile eseguirla semplicemente fornendo un payload JSON del modello.
  • Personalizzazione rapida : è possibile usare modelli con stile dichiarativo per abilitare la personalizzazione ripetibile e rapida delle distribuzioni.
  • Personalizzazione ripetibile : è possibile usare modelli con stile dichiarativo per abilitare la personalizzazione ripetibile e rapida delle distribuzioni.
  • Interfacce di gestione - è possibile gestire le risorse usando una delle seguenti interfacce:
    • API basata su REST
    • PowerShell
    • .NET SDK
    • Node.JS SDK
    • SDK per Java
    • Interfaccia della riga di comando di Azure
    • Portale di anteprima
    • Linguaggio del modello di Resource Manager

Risorse di rete

Ora è possibile gestire le risorse di rete in modo indipendente, anziché tutte insieme mediante un'unica risorsa di calcolo (una macchina virtuale). Ciò garantisce una maggiore flessibilità durante la creazione di un'infrastruttura complessa e su larga scala in un gruppo di risorse.

Di seguito è riportata una visualizzazione concettuale di una distribuzione di esempio che interessa un'applicazione multilivello. È possibile gestire in modo indipendente ciascuna risorsa visualizzata, ad esempio schede di rete, indirizzi IP pubblici e VM.

Modello di risorsa di rete

Ogni risorsa prevede un set comune di proprietà e il proprio set di proprietà. Ecco le proprietà comuni:

Proprietà Descrizione Valori di esempio
nome Nome univoco per le risorse. Ogni tipo di risorsa dispone delle proprie restrizioni di denominazione. PIP01, VM01, NIC01
Località Area di Azure in cui sarà creata la VM. westus, eastus
id Identificazione univoca basata su URI /subscriptions//resourceGroups/TestRG/providers/Microsoft.Network/publicIPAddresses/TestPIP

È possibile controllare le proprietà delle singole risorse nelle sezioni seguenti.

Indirizzo IP pubblico

Una risorsa di indirizzo IP pubblico fornisce un indirizzo IP pubblico con connessione a internet riservato o dinamico. Sebbene sia possibile creare un indirizzo IP pubblico come oggetto autonomo, è necessario associarlo a un altro oggetto per utilizzare davvero l'indirizzo. È possibile associare un indirizzo IP pubblico a un servizio di bilanciamento del carico, a un gateway applicazione o a una scheda di rete per fornire l'accesso a Internet a tali risorse.

Proprietà Descrizione Valori di esempio
publicIPAllocationMethod Definisce se l'indirizzo IP è statico o dinamico. statico, dinamico
idleTimeoutInMinutes Definisce il timeout di inattività, con un valore predefinito pari a 4 minuti. Se non vengono ricevuti ulteriori pacchetti per una determinata sessione entro questo intervallo di tempo, la sessione è terminata. qualsiasi valore compreso tra 4 e 30.
ipAddress Indirizzo IP assegnato all'oggetto. La proprietà è di sola lettura. 104.42.233.77

Impostazioni DNS

Gli indirizzi IP pubblici dispongono di un oggetto figlio denominato dnsSettings contenente le proprietà seguenti:

Proprietà Descrizione Valori di esempio
domainNameLabel Host denominato utilizzato per la risoluzione dei nomi. www, ftp, vm1
fqdn Nome completo per l'indirizzo IP pubblico. www.westus.cloudapp.azure.com
reverseFqdn Nome di dominio completo che viene risolto nell'indirizzo IP e viene registrato in DNS come un record PTR. www.contoso.com

Indirizzo IP pubblico di esempio in formato JSON:

{
   "name": "PIP01",
   "location": "North US",
   "tags": { "key": "value" },
   "properties": {
      "publicIPAllocationMethod": "Static",
      "idleTimeoutInMinutes": 4,
      "ipAddress": "104.42.233.77",
      "dnsSettings": {
         "domainNameLabel": "mylabel",
         "fqdn": "mylabel.westus.cloudapp.azure.com",
         "reverseFqdn": "contoso.com."
      }
   }
} 

Risorse aggiuntive

NIC

La scheda di interfaccia di rete (o NIC) è una risorsa che fornisce la connettività di rete a una subnet esistente in una risorsa di rete virtuale. Sebbene sia possibile creare una scheda di interfaccia di rete come oggetto autonomo, è necessario associarla a un altro oggetto per fornire davvero la connettività. Una scheda di interfaccia di rete può essere usata per la connessione di una macchina virtuale a una subnet, a un indirizzo IP pubblico o a un servizio di bilanciamento del carico.

Proprietà Descrizione Valori di esempio
virtualMachine VM alla quale è associata la scheda di interfaccia di rete. /subscriptions/{guid}/../Microsoft.Compute/virtualMachines/vm1
macAddress Indirizzo MAC della scheda di interfaccia di rete qualsiasi valore compreso tra 4 e 30.
networkSecurityGroup Gruppo di sicurezza di rete associato alla scheda di interfaccia di rete /subscriptions/{guid}/../Microsoft.Network/networkSecurityGroups/myNSG1
dnsSettings Impostazioni DNS della scheda di interfaccia di rete. vedere PIP

La scheda di interfaccia di rete, o NIC, rappresenta un'interfaccia di rete che è possibile associare a una macchina virtuale (VM). Una macchina virtuale può avere una o più schede di interfaccia di rete.

Scheda di interfaccia di rete in una macchina virtuale singola

Configurazioni IP

Le schede di interfaccia di rete dispongono di un oggetto figlio denominato ipConfigurations contenente le proprietà seguenti:

Proprietà Descrizione Valori di esempio
subnet Subnet alla quale è connessa la scheda di interfaccia di rete. /Subscriptions/{GUID}/../microsoft.Network/virtualNetworks/myvnet1/Subnets/mysub1
privateIPAddress Indirizzo IP della scheda di interfaccia di rete nella subnet 10.0.0.8
privateIPAllocationMethod Metodo di allocazione degli indirizzi IP Dinamico o statico
enableIPForwarding Indica se la scheda di interfaccia di rete può essere usata per il routing true o false
primary Indica se la scheda di interfaccia di rete è la scheda primaria per la macchina virtuale true o false
publicIPAddress Indirizzo PIP associato alla scheda di interfaccia di rete vedere Impostazioni DNS
loadBalancerBackendAddressPools Pool di indirizzi di back-end associati alla scheda di interfaccia di rete
loadBalancerInboundNatRules Regole NAT del servizio di bilanciamento del carico in ingresso associate alla scheda di interfaccia di rete

Indirizzo IP pubblico di esempio in formato JSON:

{
    "name": "lb-nic1-be",
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/nrprg/providers/Microsoft.Network/networkInterfaces/lb-nic1-be",
    "etag": "W/\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
    "type": "Microsoft.Network/networkInterfaces",
    "location": "eastus",
    "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ipConfigurations": [
            {
                "name": "NIC-config",
                "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/nrprg/providers/Microsoft.Network/networkInterfaces/lb-nic1-be/ipConfigurations/NIC-config",
                "etag": "W/\"0027f1a2-3ac8-49de-b5d5-fd46550500b1\"",
                "properties": {
                    "provisioningState": "Succeeded",
                    "privateIPAddress": "10.0.0.4",
                    "privateIPAllocationMethod": "Dynamic",
                    "subnet": {
                        "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/NRPRG/providers/Microsoft.Network/virtualNetworks/NRPVnet/subnets/NRPVnetSubnet"
                    },
                    "loadBalancerBackendAddressPools": [
                        {
                            "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/nrprg/providers/Microsoft.Network/loadBalancers/nrplb/backendAddressPools/NRPbackendpool"
                        }
                    ],
                    "loadBalancerInboundNatRules": [
                        {
                            "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/nrprg/providers/Microsoft.Network/loadBalancers/nrplb/inboundNatRules/rdp1"
                        }
                    ]
                }
            }
        ],
        "dnsSettings": { ... },
        "macAddress": "00-0D-3A-10-F1-29",
        "enableIPForwarding": false,
        "primary": true,
        "virtualMachine": {
            "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/nrprg/providers/Microsoft.Compute/virtualMachines/web1"
        }
    }
}

Risorse aggiuntive

Gruppo di sicurezza di rete

Una risorsa del gruppo di sicurezza di rete consente di creare un limite di sicurezza per i carichi di lavoro, implementando le regole di accesso consentito e negato. Tali regole possono essere applicate a una macchina virtuale, una scheda di rete o una subnet.

Proprietà Descrizione Valori di esempio
subnet Elenco di ID subnet a cui è collegato il gruppo di sicurezza di rete. /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/TestVNet/subnets/FrontEnd
securityRules Elenco di regole di sicurezza che costituiscono il gruppo di sicurezza di rete Vedere Regola di sicurezza di seguito
defaultSecurityRules Elenco delle regole di sicurezza predefinite presenti in ogni gruppo di sicurezza di rete Vedere Regole di sicurezza predefinite di seguito
  • Regola di sicurezza : in un gruppo di sicurezza di rete possono essere definite più regole di sicurezza. Ogni regola può consentire o negare diversi tipi di traffico.

Regola di sicurezza

Una regola di sicurezza è una risorsa figlio di un gruppo di sicurezza di rete contenente le proprietà seguenti.

Proprietà Descrizione Valori di esempio
description Descrizione della regola Consentire il traffico in ingresso per tutte le macchine virtuali nella subnet X
protocol Protocollo per la regola TCP, UDP o *
sourcePortRange Intervallo di porte di origine per la regola 80, 100-200, *
destinationPortRange Intervallo di porte di destinazione per la regola 80, 100-200, *
sourceAddressPrefix Prefisso dell'indirizzo di origine per la regola 10.10.10.1, 10.10.10.0/24, VirtualNetwork
destinationAddressPrefix Prefisso dell'indirizzo di destinazione per la regola 10.10.10.1, 10.10.10.0/24, VirtualNetwork
direction Direzione del traffico per la regola in ingresso o in uscita
priority Priorità per la regola. Le regole vengono controllate nell'ordine di priorità. Una volta che viene applicata una regola, non viene verificata la corrispondenza di altre regole. 10, 100, 65000
access Tipo di accesso da applicare se la regola corrisponde consentire o negare

Gruppo di sicurezza di rete di esempio in formato JSON:

{
    "name": "NSG-BackEnd",
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/networkSecurityGroups/NSG-BackEnd",
    "etag": "W/\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
    "type": "Microsoft.Network/networkSecurityGroups",
    "location": "westus",
    "tags": {
        "displayName": "NSG - Front End"
    },
    "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "securityRules": [
            {
                "name": "rdp-rule",
                "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/networkSecurityGroups/NSG-BackEnd/securityRules/rdp-rule",
                "etag": "W/\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
                "properties": {
                    "provisioningState": "Succeeded",
                    "description": "Allow RDP",
                    "protocol": "Tcp",
                    "sourcePortRange": "*",
                    "destinationPortRange": "3389",
                    "sourceAddressPrefix": "Internet",
                    "destinationAddressPrefix": "*",
                    "access": "Allow",
                    "priority": 100,
                    "direction": "Inbound"
                }
            }
        ],
        "defaultSecurityRules": [
            { [...],
        "subnets": [
            {
                "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/TestVNet/subnets/FrontEnd"
            }
        ]
    }
}

Regole di sicurezza predefinite

Le regole di sicurezza predefinite hanno le stesse proprietà disponibili nelle regole di sicurezza. Esistono per fornire la connettività di base tra le risorse a cui sono applicati gruppi di sicurezza di rete. Assicurarsi di conoscere le regole di sicurezza predefinite esistenti.

Risorse aggiuntive

Tabelle di route

Le risorse di tabelle di route contengono le route usate per definire il flusso del traffico all'interno dell'infrastruttura di Azure. È possibile usare le route definite dall'utente (UDR) per inviare tutto il traffico da una determinata subnet a un dispositivo virtuale, ad esempio un firewall o un sistema di rilevamento delle intrusioni (IDS). È possibile associare una tabella di route alle subnet.

Le tabella di route contengono le proprietà seguenti.

Proprietà Descrizione Valori di esempio
routes Raccolta di route definite dall'utente nella tabella di route vedere route definite dall'utente
subnet Raccolta di subnet a cui viene applicata la tabella di route vedere subnet

route definite dall'utente

È possibile creare route definite dall'utente per specificare dove inviare il traffico, in base al relativo indirizzo di destinazione. Una route può essere considerata come la definizione del gateway predefinito in base all'indirizzo di destinazione di un pacchetto di rete.

Le route definite dall'utente contengono le proprietà seguenti.

Proprietà Descrizione Valori di esempio
addressPrefix Prefisso dell'indirizzo o indirizzo IP completo per la destinazione 192.168.1.0/24, 192.168.1.101
nextHopType Tipo di dispositivo al quale verrà inviato il traffico. VirtualAppliance, Gateway VPN, Internet
nextHopIpAddress Indirizzo IP per l'hop successivo 192.168.1.4

Tabella di route di esempio in formato JSON:

{
    "name": "UDR-BackEnd",
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/routeTables/UDR-BackEnd",
    "etag": "W/\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
    "type": "Microsoft.Network/routeTables",
    "location": "westus",
    "properties": {
        "provisioningState": "Succeeded",
        "routes": [
            {
                "name": "RouteToFrontEnd",
                "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/routeTables/UDR-BackEnd/routes/RouteToFrontEnd",
                "etag": "W/\"v\"",
                "properties": {
                    "provisioningState": "Succeeded",
                    "addressPrefix": "192.168.1.0/24",
                    "nextHopType": "VirtualAppliance",
                    "nextHopIpAddress": "192.168.0.4"
                }
            }
        ],
        "subnets": [
            {
                "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/TestVNet/subnets/BackEnd"
            }
        ]
    }
}

Risorse aggiuntive

Rete virtuale

Le reti virtuali e le risorse subnet consentono di definire un limite di sicurezza per i carichi di lavoro in esecuzione in Azure. Una rete virtuale è caratterizzata da una raccolta di spazi di indirizzi, definiti come blocchi CIDR.

Nota

Gli amministratori di rete hanno familiarità con la notazione CIDR. Se non si ha familiarità con CIDR, è possibile ottenere maggiori informazioni.

Reti virtuali con più subnet

Le reti virtuali contengono le proprietà seguenti.

Proprietà Descrizione Valori di esempio
addressSpace Raccolta di prefissi di indirizzi che costituiscono la rete virtuale nella notazione CIDR 192.168.0.0/16
subnet Raccolta di subnet che costituiscono la rete virtuale vedere subnet di seguito.
ipAddress Indirizzo IP assegnato all'oggetto. La proprietà è di sola lettura. 104.42.233.77

Subnet

Una subnet è una risorsa figlio di una rete virtuale e consente di definire i segmenti degli spazi di indirizzi all'interno di un blocco CIDR, usando i prefissi degli indirizzi IP. Le NIC possono essere aggiunte alle subnet e connesse alle macchine virtuali, fornendo connettività per diversi carichi di lavoro.

Le subnet contengono le proprietà seguenti.

Proprietà Descrizione Valori di esempio
addressPrefix Singolo prefisso di indirizzo che costituisce la subnet nella notazione CIDR 192.168.1.0/24
networkSecurityGroup NSG applicato alla subnet vedere NSG
routeTable Tabella di route applicata alla subnet vedere UDR
ipConfigurations Raccolta di oggetti di configurazione IP usati dalle schede di rete connesse alla subnet vedere UDR

Rete virtuale di esempio in formato JSON:

{
    "name": "TestVNet",
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/TestVNet",
    "etag": "W/\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
    "type": "Microsoft.Network/virtualNetworks",
    "location": "westus",
    "tags": {
        "displayName": "VNet"
    },
    "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "addressSpace": {
            "addressPrefixes": [
                "192.168.0.0/16"
            ]
        },
        "subnets": [
            {
                "name": "FrontEnd",
                "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/virtualNetworks/TestVNet/subnets/FrontEnd",
                "etag": "W/\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
                "properties": {
                    "provisioningState": "Succeeded",
                    "addressPrefix": "192.168.1.0/24",
                    "networkSecurityGroup": {
                        "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/networkSecurityGroups/NSG-BackEnd"
                    },
                    "routeTable": {
                        "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/routeTables/UDR-FrontEnd"
                    },
                    "ipConfigurations": [
                        {
                            "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/TestRG/providers/Microsoft.Network/networkInterfaces/NICWEB1/ipConfigurations/ipconfig1"
                        },
                        ...]
                }
            },
            ...]
    }
}

Risorse aggiuntive

DNS di Azure

DNS di Azure è un servizio di hosting per i domini DNS, che fornisce la risoluzione dei nomi usando l'infrastruttura di Microsoft Azure.

Proprietà Descrizione Valore di esempio
DNSzones Informazioni sulla zona del dominio per ospitare i record DNS di un particolare dominio. /subscriptions/{guid}/.../providers/Microsoft.Network/dnszones/contoso.com"

Set di record DNS

Le zone DNS dispongono di un oggetto figlio denominato set di record. I set di record sono una raccolta di record host in base al tipo per una zona DNS. I tipi record sono A, AAAA, CNAME, MX, NS, SOA, SRV e TXT.

Proprietà Descrizione Valore di esempio
A Tipo di record IPv4 /subscriptions/{guid}/.../providers/Microsoft.Network/dnszones/contoso.com/A/www
AAAA Tipo di record IPv6 /subscriptions/{guid}/.../providers/Microsoft.Network/dnszones/contoso.com/AAAA/hostrecord
CNAME tipo di record di nome canonical 1 /subscriptions/{guid}/.../providers/Microsoft.Network/dnszones/contoso.com/CNAME/www
MX Tipo di record di posta elettronica /subscriptions/{guid}/.../providers/Microsoft.Network/dnszones/contoso.com/MX/mail
NS tipo di record di nome del server /subscriptions/{guid}/.../providers/Microsoft.Network/dnszones/contoso.com/NS/
SOA Tipo di record di "Start of Authority" 2 /subscriptions/{guid}/.../providers/Microsoft.Network/dnszones/contoso.com/SOA
SRV tipo di record di servizio /subscriptions/{guid}/.../providers/Microsoft.Network/dnszones/contoso.com/SRV

1 consente solo un valore per ogni set di record.

2 consente solo un tipo di record SOA per ogni zona DNS.

Esempio di zona DNS nel formato Json:

{
  "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "newZoneName": {
      "type": "String",
      "metadata": {
          "description": "The name of the DNS zone to be created."
      }
    },
    "newRecordName": {
      "type": "String",
      "defaultValue": "www",
      "metadata": {
          "description": "The name of the DNS record to be created.  The name is relative to the zone, not the FQDN."
      }
    }
  },
  "resources": 
  [
    {
      "type": "microsoft.network/dnszones",
      "name": "[parameters('newZoneName')]",
      "apiVersion": "2015-05-04-preview",
      "location": "global",
      "properties": {
      }
    },
    {
      "type": "microsoft.network/dnszones/a",
      "name": "[concat(parameters('newZoneName'), concat('/', parameters('newRecordName')))]",
      "apiVersion": "2015-05-04-preview",
      "location": "global",
      "properties": 
      {
        "TTL": 3600,
        "ARecords": 
        [
            {
                "ipv4Address": "1.2.3.4"
            },
            {
                "ipv4Address": "1.2.3.5"
            }
        ]
      },
      "dependsOn": [
        "[concat('Microsoft.Network/dnszones/', parameters('newZoneName'))]"
      ]
    }
      ]
}

Risorse aggiuntive

Per ulteriori informazioni, leggere la documentazione dell'API REST per le zone DNS .

Leggere la documentazione dell'API REST per i set di record DNS per ulteriori informazioni.

Bilanciamento del carico

Un bilanciamento del carico viene usato per ridimensionare le applicazioni. Gli scenari di distribuzione più comuni riguardano applicazioni in esecuzione in più istanze della macchina virtuale. Le istanze della macchina virtuale sono gestite dal bilanciamento del carico che consente di distribuire il traffico di rete alle varie istanze.

Scheda di interfaccia di rete in una macchina virtuale singola

Proprietà Descrizione
frontendIPConfigurations un bilanciamento del carico può includere uno o più indirizzi IP front-end, anche noti come IP virtuali (indirizzi VIP). Questi indirizzi IP fungono da entrata per il traffico e possono essere IP pubblici o privati
backendAddressPools si tratta di indirizzi IP associati alle schede di interfaccia di rete della macchina virtuale a cui viene distribuito il carico
loadBalancingRules una proprietà della regola esegue il mapping di una specifica combinazione di IP e porte front-end a un set di combinazioni di indirizzi IP e porte back-end. Con una singola definizione di una risorsa di bilanciamento del carico è possibile definire più regole di bilanciamento carico, ciascuna delle quali riflette una combinazione di IP e porte front-end e di IP e porte back-end associata alle macchine virtuali. La regola è una porta nel pool di front-end per numerose macchine virtuali nel pool di back-end
Probe le probe consentono di tenere traccia dell'integrità delle istanze della macchina virtuale. Se una probe di integrità non riesce, l'istanza della macchina virtuale viene esclusa automaticamente dalla rotazione.
inboundNatRules regole NAT che definiscono il traffico in ingresso che attraversa l'IP front-end e viene distribuito all'IP back-end verso una specifica istanza della macchina virtuale. La regola NAT è una porta nel pool di front-end per una macchina virtuale nel pool di back-end

Esempio di modello di bilanciamento del carico in formato Json:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "dnsNameforLBIP": {
      "type": "string",
      "metadata": {
        "description": "Unique DNS name"
      }
    },
    "location": {
      "type": "string",
      "allowedValues": [
        "East US",
        "West US",
        "West Europe",
        "East Asia",
        "Southeast Asia"
      ],
      "metadata": {
        "description": "Location to deploy"
      }
    },
    "addressPrefix": {
      "type": "string",
      "defaultValue": "10.0.0.0/16",
      "metadata": {
        "description": "Address Prefix"
      }
    },
    "subnetPrefix": {
      "type": "string",
      "defaultValue": "10.0.0.0/24",
      "metadata": {
        "description": "Subnet Prefix"
      }
    },
    "publicIPAddressType": {
      "type": "string",
      "defaultValue": "Dynamic",
      "allowedValues": [
        "Dynamic",
        "Static"
      ],
      "metadata": {
        "description": "Public IP type"
      }
    }
  },
  "variables": {
    "virtualNetworkName": "virtualNetwork1",
    "publicIPAddressName": "publicIp1",
    "subnetName": "subnet1",
    "loadBalancerName": "loadBalancer1",
    "nicName": "networkInterface1",
    "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]",
    "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
    "publicIPAddressID": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]",
    "lbID": "[resourceId('Microsoft.Network/loadBalancers',variables('loadBalancerName'))]",
    "nicId": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]",
    "frontEndIPConfigID": "[concat(variables('lbID'),'/frontendIPConfigurations/loadBalancerFrontEnd')]",
    "backEndIPConfigID": "[concat(variables('nicId'),'/ipConfigurations/ipconfig1')]"
  },
  "resources": [
{
  "apiVersion": "2015-05-01-preview",
  "type": "Microsoft.Network/publicIPAddresses",
  "name": "[variables('publicIPAddressName')]",
  "location": "[parameters('location')]",
  "properties": {
    "publicIPAllocationMethod": "[parameters('publicIPAddressType')]",
    "dnsSettings": {
      "domainNameLabel": "[parameters('dnsNameforLBIP')]"
    }
  }
},
{
  "apiVersion": "2015-05-01-preview",
  "type": "Microsoft.Network/virtualNetworks",
  "name": "[variables('virtualNetworkName')]",
  "location": "[parameters('location')]",
  "properties": {
    "addressSpace": {
      "addressPrefixes": [
        "[parameters('addressPrefix')]"
      ]
    },
    "subnets": [
      {
        "name": "[variables('subnetName')]",
        "properties": {
          "addressPrefix": "[parameters('subnetPrefix')]"
        }
      }
    ]
  }
},
{
  "apiVersion": "2015-05-01-preview",
  "type": "Microsoft.Network/networkInterfaces",
  "name": "[variables('nicName')]",
  "location": "[parameters('location')]",
  "dependsOn": [
    "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]",
    "[concat('Microsoft.Network/loadBalancers/', variables('loadBalancerName'))]"
  ],
  "properties": {
    "ipConfigurations": [
      {
        "name": "ipconfig1",
        "properties": {
          "privateIPAllocationMethod": "Dynamic",
          "subnet": {
            "id": "[variables('subnetRef')]"
          },
          "loadBalancerBackendAddressPools": [
            {
              "id": "[concat(variables('lbID'), '/backendAddressPools/LoadBalancerBackend')]"
            }
          ],
          "loadBalancerInboundNatRules": [
            {
              "id": "[concat(variables('lbID'),'/inboundNatRules/RDP')]"
            }
          ]
        }
      }
    ]
  }
},
{
  "apiVersion": "2015-05-01-preview",
  "name": "[variables('loadBalancerName')]",
  "type": "Microsoft.Network/loadBalancers",
  "location": "[parameters('location')]",
  "dependsOn": [
    "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]"
  ],
  "properties": {
    "frontendIPConfigurations": [
      {
        "name": "loadBalancerFrontEnd",
        "properties": {
          "publicIPAddress": {
            "id": "[variables('publicIPAddressID')]"
          }
        }
      }
    ],
    "backendAddressPools": [
      {
        "name": "loadBalancerBackEnd"
      }
    ],
    "inboundNatRules": [
      {
        "name": "RDP",
        "properties": {
          "frontendIPConfiguration": {
            "id": "[variables('frontEndIPConfigID')]"
          },
          "protocol": "tcp",
          "frontendPort": 3389,
          "backendPort": 3389,
          "enableFloatingIP": false
        }
      }
    ]
  }
}
  ]
}

Risorse aggiuntive

Leggere API REST di bilanciamento del carico per altre informazioni.

Gateway applicazione

Il servizio Gateway applicazione fornisce una soluzione di bilanciamento del carico HTTP gestita da Azure basata sul bilanciamento del carico di livello 7. Il bilanciamento del carico applicazioni consente di usare le regole di routing per il traffico di rete basato su HTTP.

Proprietà Descrizione
backendAddressPools L’elenco di indirizzi IP dei server di back-end. Gli indirizzi IP elencati devono appartenere alla subnet della rete virtuale o devono essere indirizzi IP/VIP pubblici o indirizzi IP privati.
backendHttpSettingsCollection Ogni pool ha impostazioni quali porta, protocollo e affinità basate sui cookie. Queste impostazioni sono associate a un pool e vengono applicate a tutti i server nel pool.
frontendPorts Questa porta è la porta pubblica aperta sul gateway applicazione. Il traffico raggiunge questa porta e quindi viene reindirizzato a uno dei server back-end.
httpListeners Il listener ha una porta front-end, un protocollo (Http o Https, con applicazione della distinzione tra maiuscole e minuscole) e il nome del certificato SSL (se si configura l'offload SSL).
requestRoutingRules La regola associa il listener e il pool di server back-end e definisce il pool di server back-end a cui deve essere indirizzato il traffico. Attualmente è supportato solo come Round-robin

Esempio di un modello Json del gateway applicazione:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "location": {
      "type": "string",
      "metadata": {
        "description": "Location to deploy to"
      }
    },
    "addressPrefix": {
      "type": "string",
      "defaultValue": "10.0.0.0/16",
      "metadata": {
        "description": "Address prefix for the Virtual Network"
      }
    },
    "subnetPrefix": {
      "type": "string",
      "defaultValue": "10.0.0.0/28",
      "metadata": {
        "description": "Subnet prefix"
      }
    },
    "skuName": {
      "type": "string",
      "allowedValues": [
        "Standard_Small",
        "Standard_Medium",
        "Standard_Large"
      ],
      "defaultValue": "Standard_Medium",
      "metadata": {
        "description": "Sku Name"
      }
    },
    "capacity": {
      "type": "int",
      "defaultValue": 2,
      "metadata": {
        "description": "Number of instances"
      }
    },
    "backendIpAddress1": {
      "type": "string",
      "metadata": {
        "description": "IP Address for Backend Server 1"
      }
    },
    "backendIpAddress2": {
      "type": "string",
      "metadata": {
        "description": "IP Address for Backend Server 2"
      }
    }
  },
  "variables": {
    "applicationGatewayName": "applicationGateway1",
    "publicIPAddressName": "publicIp1",
    "virtualNetworkName": "virtualNetwork1",
    "subnetName": "appGatewaySubnet",
    "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]",
    "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
    "publicIPRef": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]",
    "applicationGatewayID": "[resourceId('Microsoft.Network/applicationGateways',variables('applicationGatewayName'))]",
    "apiVersion": "2015-05-01-preview"
  },
  "resources": [
    {
      "apiVersion": "[variables('apiVersion')]",
      "type": "Microsoft.Network/publicIPAddresses",
      "name": "[variables('publicIPAddressName')]",
      "location": "[parameters('location')]",
      "properties": {
        "publicIPAllocationMethod": "Dynamic"
      }
    },
    {
      "apiVersion": "[variables('apiVersion')]",
      "type": "Microsoft.Network/virtualNetworks",
      "name": "[variables('virtualNetworkName')]",
      "location": "[parameters('location')]",
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('addressPrefix')]"
          ]
        },
        "subnets": [
          {
            "name": "[variables('subnetName')]",
            "properties": {
              "addressPrefix": "[parameters('subnetPrefix')]"
            }
          }
        ]
      }
    },
    {
      "apiVersion": "[variables('apiVersion')]",
      "name": "[variables('applicationGatewayName')]",
      "type": "Microsoft.Network/applicationGateways",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[concat('Microsoft.Network/virtualNetworks/', variables    ('virtualNetworkName'))]",
        "[concat('Microsoft.Network/publicIPAddresses/', variables    ('publicIPAddressName'))]"
      ],
      "properties": {
        "sku": {
          "name": "[parameters('skuName')]",
          "tier": "Standard",
          "capacity": "[parameters('capacity')]"
        },
        "gatewayIPConfigurations": [
          {
            "name": "appGatewayIpConfig",
            "properties": {
              "subnet": {
                "id": "[variables('subnetRef')]"
              }
            }
          }
        ],
        "frontendIPConfigurations": [
          {
            "name": "appGatewayFrontendIP",
            "properties": {
              "PublicIPAddress": {
                "id": "[variables('publicIPRef')]"
              }
            }
          }
        ],
        "frontendPorts": [
          {
            "name": "appGatewayFrontendPort",
            "properties": {
              "Port": 80
            }
          }
        ],
        "backendAddressPools": [
          {
            "name": "appGatewayBackendPool",
            "properties": {
              "BackendAddresses": [
                {
                  "IpAddress": "[parameters('backendIpAddress1')]"
                },
                {
                  "IpAddress": "[parameters('backendIpAddress2')]"
                }
              ]
            }
          }
        ],
        "backendHttpSettingsCollection": [
          {
            "name": "appGatewayBackendHttpSettings",
            "properties": {
              "Port": 80,
              "Protocol": "Http",
              "CookieBasedAffinity": "Disabled"
            }
          }
        ],
        "httpListeners": [
          {
            "name": "appGatewayHttpListener",
            "properties": {
              "FrontendIPConfiguration": {
                "Id": "[concat(variables('applicationGatewayID'), '/    frontendIPConfigurations/appGatewayFrontendIP')]"
              },
              "FrontendPort": {
                "Id": "[concat(variables('applicationGatewayID'), '/    frontendPorts/appGatewayFrontendPort')]"
              },
              "Protocol": "Http",
              "SslCertificate": null
            }
          }
        ],
        "requestRoutingRules": [
          {
            "Name": "rule1",
            "properties": {
              "RuleType": "Basic",
              "httpListener": {
                "id": "[concat(variables('applicationGatewayID'), '/    httpListeners/appGatewayHttpListener')]"
              },
              "backendAddressPool": {
                "id": "[concat(variables('applicationGatewayID'), '/    backendAddressPools/appGatewayBackendPool')]"
              },
              "backendHttpSettings": {
                "id": "[concat(variables('applicationGatewayID'), '/    backendHttpSettingsCollection/    appGatewayBackendHttpSettings')]"
              }
            }
          }
        ]
      }
    }
  ]    
}

Risorse aggiuntive

Leggere API REST del gateway applicazione per altre informazioni.

Gateway VPN

Una risorsa del gateway VPN consente di creare una connessione sicura tra i data center locali e Azure. Una risorsa del gateway VPN può essere configurata in tre modi diversi:

  • Da punto a sito : per accedere in modo sicuro alle risorse di Azure ospitate in una rete virtuale usando un client VPN da qualsiasi computer.
  • Connessione multisito : per connettersi in modo sicuro dai data center locali alle risorse in esecuzione in una rete virtuale.
  • Connessione tra reti virtuali : per stabilire una connessione sicura tra le reti virtuali di Azure nella stessa area o in aree diverse per compilare i carichi di lavoro con ridondanza geografica.

Le proprietà principali di un gateway VPN includono:

  • Tipo di gateway : gateway indirizzato in modo dinamico o statico.
  • Prefisso del pool di indirizzi del client VPN : indirizzi IP da assegnare ai client che si connettono in una configurazione da punto a sito.

Profilo di Gestione traffico

Gestione traffico e la relativa risorsa endpoint figlio consentono il routing DNS agli endpoint all'interno e all'esterno di Azure. Questa distribuzione del traffico è regolata dai metodi dei criteri di routing. Gestione traffico consente anche il monitoraggio dell'integrità dell'endpoint e la corretta deviazione del traffico in base all'integrità di un endpoint.

Proprietà Descrizione
trafficRoutingMethod i valori possibili sono Prestazioni, Valore ponderato e Priorità
dnsConfig FQDN per il profilo
Protocollo protocollo di monitoraggio, i valori possibili sono HTTP e HTTPS
Porta porta di monitoraggio
Percorso percorso di monitoraggio
Endpoint contenitore per le risorse endpoint

Endpoint

Un endpoint è una risorsa figlio di un profilo di Gestione traffico. Rappresenta un endpoint di servizio o Web al quale viene distribuito il traffico in base ai criteri configurati nella risorsa del profilo di Gestione traffico.

Proprietà Descrizione
Tipo il tipo di endpoint. I valori possibili sono Endpoint di Azure, Endpoint esterno e Endpoint annidato.
targetResourceId indirizzo IP pubblico di un endpoint di servizio o Web. Può trattarsi di un endpoint di Azure o esterno.
Peso peso dell'endpoint usato nella gestione del traffico.
Priorità priorità dell'endpoint, usata per definire un'azione di failover

Esempio di Gestione traffico in formato Json:

    {
        "apiVersion": "[variables('tmApiVersion')]",
        "type": "Microsoft.Network/trafficManagerProfiles",
        "name": "VMEndpointExample",
        "location": "global",
        "dependsOn": [
            "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'), '0')]",
            "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'), '1')]",
            "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'), '2')]",
        ],
        "properties": {
            "profileStatus": "Enabled",
            "trafficRoutingMethod": "Weighted",
            "dnsConfig": {
                "relativeName": "[parameters('dnsname')]",
                "ttl": 30
            },
            "monitorConfig": {
                "protocol": "http",
                "port": 80,
                "path": "/"
            },
            "endpoints": [
                {
                    "name": "endpoint0",
                    "type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
                    "properties": {
                        "targetResourceId": "[resourceId('Microsoft.Network/publicIPAddresses',concat(variables('publicIPAddressName'), 0))]",
                        "endpointStatus": "Enabled",
                        "weight": 1
                    }
                },
                {
                    "name": "endpoint1",
                    "type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
                    "properties": {
                        "targetResourceId": "[resourceId('Microsoft.Network/publicIPAddresses',concat(variables('publicIPAddressName'), 1))]",
                        "endpointStatus": "Enabled",
                        "weight": 1
                    }
                },
                {
                    "name": "endpoint2",
                    "type": "Microsoft.Network/trafficManagerProfiles/azureEndpoints",
                    "properties": {
                        "targetResourceId": "[resourceId('Microsoft.Network/publicIPAddresses',concat(variables('publicIPAddressName'), 2))]",
                        "endpointStatus": "Enabled",
                        "weight": 1
                    }
                }
            ]
        }
    }

Risorse aggiuntive

Per ulteriori informazioni, leggere la documentazione dell'API REST per Gestione traffico .

Interfacce di gestione

È possibile gestire le risorse di rete Azure tramite interfacce diverse. Questo documento è dedicato a tali interfacce: API REST e modelli.

API REST

Come accennato in precedenza, le risorse di rete possono essere gestite tramite un'ampia gamma di interfacce, tra cui API REST,.NET SDK, Node.JS SDK, Java SDK, PowerShell, l'interfaccia della riga di comando, il portale di Azure e i modelli.

L'API REST è conforme alla specifica del protocollo HTTP 1.1. La struttura generale degli URI dell'API viene presentata di seguito:

https://management.azure.com/subscriptions/{subscription-id}/providers/{resource-provider-namespace}/locations/{region-location}/register?api-version={api-version}

E i parametri tra parentesi graffe rappresentano gli elementi seguenti:

  • subscription-id : ID sottoscrizione di Azure.
  • resource-provider-namespace : spazio dei nomi per il provider usato. Il valore per il provider di risorse di rete è Microsoft.Network.
  • region-name : nome dell'area di Azure

Quando si effettuano chiamate all'API REST sono supportati i seguenti metodi HTTP:

  • PUT : usato per creare una risorsa di un determinato tipo, modificare una proprietà della risorsa o modificare un'associazione tra le risorse.
  • GET : usato per recuperare le informazioni per una risorsa con provisioning.
  • DELETE : usato per eliminare una risorsa esistente.

Richiesta e risposta sono conformi a un formato di payload JSON. Per altre informazioni, vedere API di gestione delle risorse di Azure.

Linguaggio del modello di Resource Manager

Oltre a gestire le risorse in modo imperativo (tramite API o SDK), è anche possibile usare uno stile di programmazione dichiarativo per compilare e gestire le risorse di rete tramite il linguaggio del modello di Resource Manager.

Di seguito viene fornita una rappresentazione di un modello:

{
  "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json",
  "contentVersion": "<version-number-of-template>",
  "parameters": { <parameter-definitions-of-template> },
  "variables": { <variable-definitions-of-template> },
  "resources": [ { <definition-of-resource-to-deploy> } ],
  "outputs": { <output-of-template> }    
}

Il modello è principalmente una descrizione JSON delle risorse e dei valori dell'istanza inseriti tramite i parametri. L'esempio seguente può essere usato per creare una rete virtuale con due subnet.

{
    "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/VNET.json",
    "contentVersion": "1.0.0.0",
    "parameters" : {
      "location": {
        "type": "String",
        "allowedValues": ["East US", "West US", "West Europe", "East Asia", "South East Asia"],
        "metadata" : {
          "Description" : "Deployment location"
        }
      },
      "virtualNetworkName":{
        "type" : "string",
        "defaultValue":"myVNET",
        "metadata" : {
          "Description" : "VNET name"
        }
      },
      "addressPrefix":{
        "type" : "string",
        "defaultValue" : "10.0.0.0/16",
        "metadata" : {
          "Description" : "Address prefix"
        }

      },
      "subnet1Name": {
        "type" : "string",
        "defaultValue" : "Subnet-1",
        "metadata" : {
          "Description" : "Subnet 1 Name"
        }
      },
      "subnet2Name": {
        "type" : "string",
        "defaultValue" : "Subnet-2",
        "metadata" : {
          "Description" : "Subnet 2 name"
        }
      },
      "subnet1Prefix" : {
        "type" : "string",
        "defaultValue" : "10.0.0.0/24",
        "metadata" : {
          "Description" : "Subnet 1 Prefix"
        }
      },
      "subnet2Prefix" : {
        "type" : "string",
        "defaultValue" : "10.0.1.0/24",
        "metadata" : {
          "Description" : "Subnet 2 Prefix"
        }
      }
    },
    "resources": [
    {
      "apiVersion": "2015-05-01-preview",
      "type": "Microsoft.Network/virtualNetworks",
      "name": "[parameters('virtualNetworkName')]",
      "location": "[parameters('location')]",
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('addressPrefix')]"
          ]
        },
        "subnets": [
          {
            "name": "[parameters('subnet1Name')]",
            "properties" : {
              "addressPrefix": "[parameters('subnet1Prefix')]"
            }
          },
          {
            "name": "[parameters('subnet2Name')]",
            "properties" : {
              "addressPrefix": "[parameters('subnet2Prefix')]"
            }
          }
        ]
      }
    }
    ]
}

Quando si usa un modello è possibile specificare manualmente i valori dei parametri oppure usare un file dei parametri. L'esempio seguente mostra un possibile set di valori dei parametri da usare con il modello precedente:

{
  "location": {
      "value": "East US"
  },
  "virtualNetworkName": {
      "value": "VNET1"
  },
  "subnet1Name": {
      "value": "Subnet1"
  },
  "subnet2Name": {
      "value": "Subnet2"
  },
  "addressPrefix": {
      "value": "192.168.0.0/16"
  },
  "subnet1Prefix": {
      "value": "192.168.1.0/24"
  },
  "subnet2Prefix": {
      "value": "192.168.2.0/24"
  }
}

I principali vantaggi associati all'uso dei modelli sono:

  • È possibile compilare un'infrastruttura complessa in un gruppo di risorse con uno stile dichiarativo. L'orchestrazione per la creazione delle risorse, inclusa la gestione delle dipendenze, viene gestita da Resource Manager.
  • È possibile creare l'infrastruttura in modo ripetibile in diverse aree e all'interno di una sola area modificando semplicemente i parametri.
  • Lo stile dichiarativo consente tempi più brevi per la compilazione dei modelli e la distribuzione dell'infrastruttura.

Per i modelli di esempio, vedere i modelli della guida introduttiva di Azure.

Per altre informazioni sul linguaggio del modello di Resource Manager, vedere Azure Resource Manager Template Language (Linguaggio del modello di Azure Resource Manager).

Il modello di esempio precedente usa la rete virtuale e le risorse della subnet. È possibile usare altre risorse di rete, come indicato di seguito:

Uso di un modello

È possibile distribuire servizi ad Azure da un modello tramite PowerShell, l'interfaccia della riga di comando di Azure oppure tramite clic per la distribuzione da GitHub. Per distribuire servizi da un modello in GitHub, eseguire i passaggi seguenti:

  1. Aprire il file template3 da GitHub. Come esempio, aprire Rete virtuale con due subnet.
  2. Fare clic su Distribuisci in Azure, quindi accedere al portale di Azure con le proprie credenziali.
  3. Verificare il modello e quindi fare clic su Salva.
  4. Fare clic su Modifica parametri e selezionare una località, ad esempio West US, per la rete virtuale e le subnet.
  5. Se necessario, modificare i parametri ADDRESSPREFIX e SUBNETPREFIX e quindi fare clic su OK.
  6. Fare clic su Seleziona un gruppo di risorse e quindi fare clic sul gruppo di risorse a cui si desidera aggiungere la rete virtuale e le subnet. In alternativa, è possibile creare un nuovo gruppo di risorse facendo clic su Crea nuovo.
  7. Fare clic su Crea. Si noti il riquadro che visualizza la distribuzione del modello di provisioning. Dopo aver eseguito la distribuzione, viene visualizzata una schermata simile alla seguente.

Distribuzione del modello di esempio

Passaggi successivi

Linguaggio del modello di Gestione risorse di Azure

Rete di Azure: modelli di uso comune

Distribuzione Azure Resource Manager o classica

Panoramica di Azure Resource Manager