Confronto tra distribuzione di Azure Resource Manager e classica: comprensione dei modelli di implementazione e dello stato delle risorseAzure Resource Manager vs. classic deployment: Understand deployment models and the state of your resources

In questo articolo si apprenderanno informazioni sui modelli di distribuzione classica e di Azure Resource Manager.In this article, you learn about Azure Resource Manager and classic deployment models. I modelli di distribuzione classica e Resource Manager rappresentano due diversi modi di distribuire e gestire le soluzioni Azure.The Resource Manager and classic deployment models represent two different ways of deploying and managing your Azure solutions. Vengono usati con due diversi set di API e le risorse distribuite possono contenere differenze significative.You work with them through two different API sets, and the deployed resources can contain important differences. I due modelli non sono compatibili tra loro.The two models are not compatible with each other. Questo articolo ne descrive le differenze.This article describes those differences.

Per semplificare la distribuzione e la gestione delle risorse, è consigliabile usare Resource Manager per tutte le nuove risorseTo simplify the deployment and management of resources, Microsoft recommends that you use Resource Manager for all new resources. e, se possibile, ridistribuire le risorse esistenti con Resource Manager.If possible, Microsoft recommends that you redeploy existing resources through Resource Manager.

Se non si conosce Resource Manager, è opportuno vedere prima la terminologia definita in Panoramica di Azure Resource Manager.If you are new to Resource Manager, you may want to first review the terminology defined in the Azure Resource Manager overview.

Cronologia dei modelli di distribuzioneHistory of the deployment models

In origine, Azure metteva a disposizione solo il modello di distribuzione classica.Azure originally provided only the classic deployment model. In questo modello ogni risorsa era indipendente, non era possibile raggruppare le risorse correlate.In this model, each resource existed independently; there was no way to group related resources together. Era invece necessario verificare manualmente quali risorse componessero la soluzione o l'applicazione e ricordare di gestirle in un approccio coordinato.Instead, you had to manually track which resources made up your solution or application, and remember to manage them in a coordinated approach. Per distribuire una soluzione è necessario creare ogni risorsa singolarmente con il portale oppure creare uno script che distribuisca tutte le risorse nell'ordine corretto.To deploy a solution, you had to either create each resource individually through the portal or create a script that deployed all the resources in the correct order. Per eliminare una soluzione era necessario eliminare ogni risorsa singolarmente.To delete a solution, you had to delete each resource individually. Non era semplice applicare e aggiornare i criteri di controllo di accesso per le risorse correlate.You could not easily apply and update access control policies for related resources. Non era infine possibile applicare i tag alle risorse per etichettarle con i termini che consentono di monitorare le risorse e gestire la fatturazione.Finally, you could not apply tags to resources to label them with terms that help you monitor your resources and manage billing.

Nel 2014, Azure ha introdotto Resource Manager e il nuovo concetto di gruppo di risorse.In 2014, Azure introduced Resource Manager, which added the concept of a resource group. Un gruppo di risorse è un contenitore di risorse che condividono un ciclo di vita comune.A resource group is a container for resources that share a common lifecycle. Il modello di distribuzione di Resource Manager offre diversi vantaggi:The Resource Manager deployment model provides several benefits:

  • È possibile distribuire, gestire e monitorare tutti i servizi per la soluzione come un gruppo, anziché gestire singolarmente questi servizi.You can deploy, manage, and monitor all the services for your solution as a group, rather than handling these services individually.
  • È possibile distribuire ripetutamente la soluzione nel corso del ciclo di vita garantendo al contempo che le risorse vengano distribuite in uno stato coerente.You can repeatedly deploy your solution throughout its lifecycle and have confidence your resources are deployed in a consistent state.
  • È possibile applicare il controllo di accesso a tutte le risorse nel gruppo di risorse e tali criteri vengono applicati automaticamente quando si aggiungono nuove risorse al gruppo di risorse.You can apply access control to all resources in your resource group, and those policies are automatically applied when new resources are added to the resource group.
  • È possibile applicare tag alle risorse per organizzare in modo logico tutte le risorse nella sottoscrizione.You can apply tags to resources to logically organize all the resources in your subscription.
  • È possibile usare JavaScript Object Notation (JSON) per definire l'infrastruttura per la soluzione.You can use JavaScript Object Notation (JSON) to define the infrastructure for your solution. Il file JSON è noto come modello di Resource Manager.The JSON file is known as a Resource Manager template.
  • È possibile definire le dipendenze tra risorse e pertanto esse vengono distribuite nell'ordine corretto.You can define the dependencies between resources so they are deployed in the correct order.

Quando è stato aggiunto Gestione risorse, tutte le risorse retroattive sono state aggiunti ai gruppi di risorse predefiniti.When Resource Manager was added, all resources were retroactively added to default resource groups. Se ora si crea una risorsa tramite la distribuzione classica, la risorsa viene creata automaticamente all'interno di un gruppo di risorse predefinito per tale servizio anche se non è stato specificato il gruppo di risorse in fase di distribuzione.If you create a resource through classic deployment now, the resource is automatically created within a default resource group for that service, even though you did not specify that resource group at deployment. Tuttavia, il solo fatto di esistere all'interno di un gruppo di risorse non significa che la risorsa è stata convertita nel modello di Gestione risorse.However, just existing within a resource group does not mean that the resource has been converted to the Resource Manager model.

Informazioni sul supporto dei modelliUnderstand support for the models

Tenere presenti tre scenari:There are three scenarios to be aware of:

  1. Servizi cloud non supporta il modello di distribuzione di Resource Manager.Cloud Services does not support Resource Manager deployment model.
  2. Macchine virtuali, gli account di archiviazione e le reti virtuali supportano i modelli di distribuzione classica e di Resource Manager.Virtual machines, storage accounts, and virtual networks support both Resource Manager and classic deployment models.
  3. Tutti gli altri servizi di Azure supportano il modello di Resource Manager.All other Azure services support Resource Manager.

Per le macchine virtuali, gli account di archiviazione e le reti virtuali, se la risorsa è stata creata con una distribuzione classica è necessario continuare eseguire operazioni classiche sulla risorsa.For virtual machines, storage accounts, and virtual networks, if the resource was created through classic deployment, you must continue to operate on it through classic operations. Se per creare la macchina virtuale, l'account di archiviazione o la rete virtuale è stata usata la distribuzione di Resource Manager è necessario continuare a eseguire operazioni di Resource Manager.If the virtual machine, storage account, or virtual network was created through Resource Manager deployment, you must continue using Resource Manager operations. Questa distinzione può creare confusione quando la sottoscrizione contiene una combinazione di risorse create con Resource Manager e con la distribuzione classica.This distinction can get confusing when your subscription contains a mix of resources created through Resource Manager and classic deployment. Questa combinazione di risorse può produrre risultati imprevisti perché le risorse non supportano le stesse operazioni.This combination of resources can create unexpected results because the resources do not support the same operations.

In alcuni casi, un comando di Resource Manager può recuperare informazioni su una risorsa creata con la distribuzione classica o può eseguire attività amministrative, come lo spostamento di una risorsa classica in un altro gruppo di risorse,In some cases, a Resource Manager command can retrieve information about a resource created through classic deployment, or can perform an administrative task such as moving a classic resource to another resource group. ma non per questo il tipo supporta le operazioni di Resource Manager.But, these cases should not give the impression that the type supports Resource Manager operations. Si supponga ad esempio di avere un gruppo di risorse che contiene una macchina virtuale creata con la distribuzione classica.For example, suppose you have a resource group that contains a virtual machine that was created with classic deployment. Se si esegue questo comando PowerShell di Resource Manager:If you run the following Resource Manager PowerShell command:

Get-AzureRmResource -ResourceGroupName ExampleGroup -ResourceType Microsoft.ClassicCompute/virtualMachines

Verrà restituita la macchina virtuale:It returns the virtual machine:

Name              : ExampleClassicVM
ResourceId        : /subscriptions/{guid}/resourceGroups/ExampleGroup/providers/Microsoft.ClassicCompute/virtualMachines/ExampleClassicVM
ResourceName      : ExampleClassicVM
ResourceType      : Microsoft.ClassicCompute/virtualMachines
ResourceGroupName : ExampleGroup
Location          : westus
SubscriptionId    : {guid}

Il cmdlet Get-AzureRmVM di Resource Manager restituisce tuttavia solo le macchine virtuali distribuite con Resource Manager.However, the Resource Manager cmdlet Get-AzureRmVM only returns virtual machines deployed through Resource Manager. Il comando seguente non restituisce la macchina virtuale creata tramite distribuzione classica.The following command does not return the virtual machine created through classic deployment.

Get-AzureRmVM -ResourceGroupName ExampleGroup

Solo le risorse create tramite il tag di supporto di Gestione risorse.Only resources created through Resource Manager support tags. Non è possibile applicare i tag alle risorse classiche.You cannot apply tags to classic resources.

Cambiamenti a livello di calcolo, rete e archiviazioneChanges for compute, network, and storage

Il diagramma seguente illustra le risorse di calcolo, rete e archiviazione distribuite con Resource Manager.The following diagram displays compute, network, and storage resources deployed through Resource Manager.

Architettura di Resource Manager

Tenere presenti le relazioni tra le risorse elencate di seguito:Note the following relationships between the resources:

  • Tutte le risorse si trovano in un gruppo di risorse.All the resources exist within a resource group.
  • La macchina virtuale dipende da un account di archiviazione specifico definito nel provider di risorse di archiviazione per archiviare i dischi nell'archivio BLOB (obbligatorio).The virtual machine depends on a specific storage account defined in the Storage resource provider to store its disks in blob storage (required).
  • La macchina virtuale fa riferimento a una scheda di interfaccia di rete specifica definita nel provider di risorse di rete (obbligatorio) e a un set di disponibilità definito nel provider di risorse di calcolo (facoltativo).The virtual machine references a specific NIC defined in the Network resource provider (required) and an availability set defined in the Compute resource provider (optional).
  • La scheda di interfaccia di rete fa riferimento all'indirizzo IP assegnato della macchina virtuale (obbligatorio), alla subnet della rete virtuale per la macchina virtuale (obbligatorio) e a un gruppo di sicurezza di rete (facoltativo).The NIC references the virtual machine's assigned IP address (required), the subnet of the virtual network for the virtual machine (required), and to a Network Security Group (optional).
  • La subnet all'interno di una rete virtuale fa riferimento a un gruppo di sicurezza di rete (facoltativo).The subnet within a virtual network references a Network Security Group (optional).
  • L'istanza del servizio di bilanciamento del carico fa riferimento al pool back-end di indirizzi IP che includono la scheda di interfaccia di rete di una macchina virtuale (facoltativo) e a un indirizzo IP pubblico o privato del servizio di bilanciamento del carico (facoltativo).The load balancer instance references the backend pool of IP addresses that include the NIC of a virtual machine (optional) and references a load balancer public or private IP address (optional).

Di seguito sono illustrati i componenti e le relative relazioni per la distribuzione classica:Here are the components and their relationships for classic deployment:

architettura classica

La soluzione classica per l'hosting di una macchina virtuale include:The classic solution for hosting a virtual machine includes:

  • Un servizio cloud obbligatorio che funge da contenitore per l'hosting di macchine virtuali (calcolo).A required cloud service that acts as a container for hosting virtual machines (compute). Le macchine virtuali sono fornite automaticamente con una scheda di rete (NIC) e un indirizzo IP assegnati da Azure.Virtual machines are automatically provided with a network interface card (NIC) and an IP address assigned by Azure. Il servizio cloud contiene inoltre un'istanza del servizio di bilanciamento del carico esterno, un indirizzo IP pubblico ed endpoint predefiniti per consentire il traffico di desktop remoto e di PowerShell remoto per le macchine virtuali basate su Windows e il traffico Secure Shell (SSH) per le macchine virtuali basate su Linux.Additionally, the cloud service contains an external load balancer instance, a public IP address, and default endpoints to allow remote desktop and remote PowerShell traffic for Windows-based virtual machines and Secure Shell (SSH) traffic for Linux-based virtual machines.
  • Un account di archiviazione obbligatorio per l'archiviazione dei dischi rigidi virtuali per una macchina virtuale, inclusi il sistema operativo, i dati temporanei e altri dischi dati (archiviazione).A required storage account that stores the VHDs for a virtual machine, including the operating system, temporary, and additional data disks (storage).
  • Una rete virtuale facoltativa che funge da contenitore aggiuntivo, in cui è possibile creare una struttura di subnet e definire la subnet in cui si trova la macchina virtuale (rete).An optional virtual network that acts as an additional container, in which you can create a subnetted structure and designate the subnet on which the virtual machine is located (network).

La tabella seguente descrive i cambiamenti nelle modalità di interazione dei provider di risorse di calcolo, rete e archiviazione:The following table describes changes in how Compute, Network, and Storage resource providers interact:

ElementoItem ClassicoClassic Gestione risorseResource Manager
Servizio cloud per macchine virtualiCloud Service for Virtual Machines Servizio cloud era un contenitore per mantenere le macchine virtuali che richiedevano disponibilità dalla piattaforma e bilanciamento del carico.Cloud Service was a container for holding the virtual machines that required Availability from the platform and Load Balancing. Servizio cloud non è più un oggetto richiesto per la creazione di una macchina virtuale che utilizza il nuovo modello.Cloud Service is no longer an object required for creating a Virtual Machine using the new model.
Reti virtualiVirtual Networks La rete virtuale è facoltativa per la macchina virtuale.A virtual network is optional for the virtual machine. Se inclusa, non può essere distribuita con Resource Manager.If included, the virtual network cannot be deployed with Resource Manager. La macchina virtuale richiede una rete virtuale distribuita con Resource Manager.Virtual machine requires a virtual network that has been deployed with Resource Manager.
Account di archiviazioneStorage Accounts La macchina virtuale richiede un account di archiviazione per l'archiviazione dei dischi rigidi virtuali per il sistema operativo, i dati temporanei e altri dischi dati.The virtual machine requires a storage account that stores the VHDs for the operating system, temporary, and additional data disks. La macchina virtuale richiede un account di archiviazione per l'archiviazione dei dischi nell'archivio BLOB.The virtual machine requires a storage account to store its disks in blob storage.
SET DI DISPONIBILITÀAvailability Sets La disponibilità per la piattaforma era indicata mediante la configurazione dello stesso oggetto "AvailabilitySetName" nelle macchine virtuali.Availability to the platform was indicated by configuring the same “AvailabilitySetName” on the Virtual Machines. Il numero massimo di domini di errore era 2.The maximum count of fault domains was 2. Il set di disponibilità è una risorsa esposta dal provider Microsoft.Compute.Availability Set is a resource exposed by Microsoft.Compute Provider. Le macchine virtuali che richiedono un'elevata disponibilità devono essere incluse nel set di disponibilità.Virtual Machines that require high availability must be included in the Availability Set. Il numero massimo di domini di errore è ora 3.The maximum count of fault domains is now 3.
Gruppi di affinitàAffinity Groups I gruppi di affinità erano necessari per la creazione di reti virtuali.Affinity Groups were required for creating Virtual Networks. Tuttavia, con l'introduzione di reti virtuali regionali, tale requisito non era più necessario.However, with the introduction of Regional Virtual Networks, that was not required anymore. Per semplificare, non esiste il concetto di gruppi di affinità nelle API esposte tramite Gestione risorse di Microsoft Azure.To simplify, the Affinity Groups concept doesn’t exist in the APIs exposed through Azure Resource Manager.
Bilanciamento del carico.Load Balancing La creazione di un servizio cloud fornisce un servizio di bilanciamento del carico implicito per le macchine virtuali distribuite.Creation of a Cloud Service provides an implicit load balancer for the Virtual Machines deployed. Il bilanciamento del carico è una risorsa esposta dal provider Microsoft.Network.The Load Balancer is a resource exposed by the Microsoft.Network provider. L'interfaccia di rete primaria delle macchine virtuali che deve essere configurata con carico bilanciato deve fare riferimento al servizio di bilanciamento del carico.The primary network interface of the Virtual Machines that needs to be load balanced should be referencing the load balancer. I servizi di bilanciamento del carico possono essere interni o esterni.Load Balancers can be internal or external. Un'istanza del servizio di bilanciamento del carico fa riferimento al pool back-end di indirizzi IP che includono la NIC di una macchina virtuale (facoltativo) e fa riferimento a un indirizzo IP pubblico o privato del servizio di bilanciamento del carico (facoltativo).A load balancer instance references the backend pool of IP addresses that include the NIC of a virtual machine (optional) and references a load balancer public or private IP address (optional).
Indirizzo IP virtualeVirtual IP Address Servizi cloud ottiene un indirizzo IP virtuale (VIP) predefinito quando una VM viene aggiunta a un servizio cloud.Cloud Services gets a default VIP (Virtual IP Address) when a VM is added to a cloud service. L'indirizzo IP virtuale è l'indirizzo associato al servizio di bilanciamento del carico implicito.The Virtual IP Address is the address associated with the implicit load balancer. Il bilanciamento del carico è una risorsa esposta dal provider Microsoft.Network.Public IP address is a resource exposed by the Microsoft.Network provider. L'indirizzo IP pubblico può essere statico (riservato) o dinamico.Public IP address can be static (reserved) or dynamic. Gli indirizzi IP pubblici possono essere assegnati a un Load Balancer.Dynamic public IPs can be assigned to a Load Balancer. Gli indirizzi IP pubblici possono essere protetti tramite gruppi di protezione.Public IPs can be secured using Security Groups.
Indirizzo IP riservatoReserved IP Address In Microsoft Azure è possibile riservare un indirizzo IP e associarlo a un servizio cloud per assicurarsi che l'indirizzo IP sia permanente.You can reserve an IP Address in Azure and associate it with a Cloud Service to ensure that the IP Address is sticky. L'indirizzo IP pubblico può essere creato in modalità statica e offre le stesse funzionalità di un indirizzo IP riservato.Public IP Address can be created in static mode and it offers the same capability as a reserved IP address.
Indirizzo IP pubblico per macchina virtualePublic IP Address (PIP) per VM Gli indirizzi IP pubblici possono anche essere associati direttamente a una VM.Public IP Addresses can also be associated to a VM directly. Il bilanciamento del carico è una risorsa esposta dal provider Microsoft.Network.Public IP address is a resource exposed by the Microsoft.Network provider. L'indirizzo IP pubblico può essere statico (riservato) o dinamico.Public IP Address can be static (reserved) or dynamic.
EndpointEndpoints In una macchina virtuale era necessario configurare gli endpoint di input per consentire connettività a determinate porte.Input Endpoints needed to be configured on a Virtual Machine to be open up connectivity for certain ports. Una delle modalità comuni di connessione alle macchine virtuali eseguita mediante l'impostazione di endpoint di input.One of the common modes of connecting to virtual machines done by setting up input endpoints. È possibile configurare le regole NAT in ingresso in servizi di bilanciamento del carico per ottenere le stesse funzionalità di abilitazione degli endpoint su porte specifiche per la connessione alle macchine virtuali.Inbound NAT Rules can be configured on Load Balancers to achieve the same capability of enabling endpoints on specific ports for connecting to the VMs.
Nome DNSDNS Name Un servizio cloud otterrebbe un nome DNS univoco globale implicito.A cloud service would get an implicit globally unique DNS Name. Ad esempio: mycoffeeshop.cloudapp.net.For example: mycoffeeshop.cloudapp.net. I nomi DNS sono parametri facoltativi che possono essere specificati in una risorsa di indirizzo IP pubblico.DNS Names are optional parameters that can be specified on a Public IP Address resource. Il nome di dominio completo ha il formato seguente: <domainlabel>.<region>.cloudapp.azure.com.The FQDN is in the following format - <domainlabel>.<region>.cloudapp.azure.com.
Interfacce di reteNetwork Interfaces Interfacce di rete primarie e secondarie e le relative proprietà sono state definite come configurazione di rete di una macchina virtuale.Primary and Secondary Network Interface and its properties were defined as network configuration of a Virtual machine. L’interfaccia di rete è una risorsa esposta dal provider Microsoft.Network.Network Interface is a resource exposed by Microsoft.Network Provider. Il ciclo di vita dell'interfaccia di rete non è correlato a una macchina virtuale.The lifecycle of the Network Interface is not tied to a Virtual Machine. Fa riferimento all'indirizzo IP assegnato della macchina virtuale (obbligatorio), alla subnet della rete virtuale per la macchina virtuale (obbligatorio) e a un gruppo di sicurezza di rete (facoltativo).It references the virtual machine's assigned IP address (required), the subnet of the virtual network for the virtual machine (required), and to a Network Security Group (optional).

Per informazioni sulla connessione di reti virtuali da diversi modelli di distribuzione, vedere Connettere reti virtuali da modelli di distribuzione diversi nel portale.To learn about connecting virtual networks from different deployment models, see Connect virtual networks from different deployment models in the portal.

Eseguire la migrazione da distribuzioni classiche a distribuzioni Resource ManagerMigrate from classic to Resource Manager

Se si è pronti per eseguire la migrazione delle risorse dalla distribuzione classica alla distribuzione di Resource Manager, vedere:If you are ready to migrate your resources from classic deployment to Resource Manager deployment, see:

  1. Approfondimento tecnico sulla migrazione supportata dalla piattaforma dal modello di distribuzione classica ad Azure Resource ManagerTechnical deep dive on platform-supported migration from classic to Azure Resource Manager
  2. Migrazione supportata dalla piattaforma di risorse IaaS dal modello classico al modello di Azure Resource ManagerPlatform supported migration of IaaS resources from Classic to Azure Resource Manager
  3. Eseguire la migrazione di risorse IaaS dal modello classico al modello di Azure Resource Manager tramite Azure PowerShellMigrate IaaS resources from classic to Azure Resource Manager by using Azure PowerShell
  4. Eseguire la migrazione di risorse IaaS dal modello classico al modello di Azure Resource Manager tramite l'interfaccia della riga di comando di AzureMigrate IaaS resources from classic to Azure Resource Manager by using Azure CLI

Domande frequentiFrequently asked questions

È possibile creare una macchina virtuale con Resource Manager per la distribuzione in una rete virtuale creata con la distribuzione classica?Can I create a virtual machine using Resource Manager to deploy in a virtual network created using classic deployment?

Questa configurazione non è supportata.This configuration is not supported. Non è possibile usare Resource Manager per distribuire una macchina virtuale in una rete virtuale creata con la distribuzione classica.You cannot use Resource Manager to deploy a virtual machine into a virtual network that was created using classic deployment.

È possibile creare una macchina virtuale con Resource Manager da un'immagine utente creata con il modello di distribuzione classica?Can I create a virtual machine using Resource Manager from a user image that was created using the classic deployment model?

Questa configurazione non è supportata.This configuration is not supported. È tuttavia possibile copiare i file VHD da un account di archiviazione creato con il modello di distribuzione classica e aggiungerli a un nuovo account creato con Resource Manager.However, you can copy the VHD files from a storage account that was created using the classic deployment model, and add them to a new account created through Resource Manager.

Quali sono le conseguenze sulla quota della mia sottoscrizione?What is the impact on the quota for my subscription?

Le quote per le macchine virtuali, le reti virtuali e gli account di archiviazione creati con Azure Resource Manager sono separate dalle altre quote.The quotas for the virtual machines, virtual networks, and storage accounts created through the Azure Resource Manager are separate from other quotas. Ogni sottoscrizione ottiene quote per creare le risorse con le nuove API.Each subscription gets quotas to create the resources using the new APIs. Per ulteriori informazioni sulle quote aggiuntive, fare clic qui.You can read more about the additional quotas here.

È possibile continuare a usare gli script automatizzati per il provisioning di macchine virtuali, reti virtuali e account di archiviazione tramite le API di Resource Manager?Can I continue to use my automated scripts for provisioning virtual machines, virtual networks, and storage accounts through the Resource Manager APIs?

Tutta l'automazione e tutti gli script creati dall'utente continueranno a funzionare per le macchine virtuali e le reti virtuali esistenti create con la modalità Azure Service Management.All the automation and scripts that you've built continue to work for the existing virtual machines, virtual networks created under the Azure Service Management mode. È tuttavia necessario aggiornare gli script per usare il nuovo schema per la creazione delle stesse risorse con la modalità Resource Manager.However, the scripts have to be updated to use the new schema for creating the same resources through the Resource Manager mode.

Dove è possibile trovare esempi di modelli di gestione risorse di Azure?Where can I find examples of Azure Resource Manager templates?

È possibile trovare un set completo di modelli di base in Modelli di avvio rapido di Azure Resource Manager.A comprehensive set of starter templates can be found on Azure Resource Manager Quickstart Templates.

Passaggi successiviNext steps