Infrastruttura e gestione di Mesh Cloud Scripting

Panoramica

Questo articolo illustra vari aspetti dell'infrastruttura e della gestione del clouding mesh, inclusi i servizi distribuiti nella sottoscrizione di Azure durante la compilazione e la pubblicazione del progetto di scripting cloud.

Risorse distribuite

Mesh Cloud Scripting è costituito da . App basate su NET eseguite nel cloud. L'infrastruttura cloud di scripting cloud mesh distribuita nella sottoscrizione di Azure del cliente contiene le risorse di Azure seguenti:

  1. servizio app piano: rappresenta un cluster di calcolo in cui le app Web possono essere eseguite. Può anche eseguire una o più app Web diverse.

  2. Rete virtuale di Azure: si tratta della risorsa di rete virtuale in cui vengono distribuite le istanze del servizio app e di comunicare tra loro.

  3. Istanza dell'app Web di Azure: rappresenta un'istanza dell'app Web in esecuzione in una macchina virtuale specifica.

  4. Archiviazione di Azure account: contiene il contenuto pubblicato e le informazioni sulle istanze dell'app Web di Azure. È suddiviso in due componenti:

    1. Archiviazione BLOB del servizio mesh di scripting cloud: contiene il BLOB del servizio mesh di scripting cloud caricato dal caricatore mesh.
    2. The Orleans Membership Table: contiene informazioni sulla vivacità delle istanze di Orleans Silo.
  5. Area di lavoro Log Analytics: contiene i log generati dal servizio di scripting cloud mesh in esecuzione in servizio app.

  6. Application Insights: fornisce funzionalità di monitoraggio delle prestazioni dell'applicazione (APM). Gli strumenti APM sono utili per monitorare le applicazioni dallo sviluppo, tramite test e nell'ambiente di produzione.

Piano di servizio app

Un piano di servizio app definisce un set di risorse di calcolo che consentono l'esecuzione di un'app Web.

Quando si crea un piano di servizio app in una determinata area, ad esempio Europa occidentale, viene creato un set di risorse di calcolo per tale piano in tale area. Qualsiasi app inserita in questo piano di servizio app viene eseguita con queste risorse di calcolo, come definito dal piano di servizio app. Ogni piano di servizio app definisce:

  • Sistema operativo (Windows, Linux)
  • Area (Stati Uniti occidentali, Stati Uniti orientali e così via)
  • Numero di istanze della macchina virtuale
  • Dimensioni delle istanze delle macchine virtuali (piccole, medie, grandi)
  • Piano tariffario (Gratuito, Condiviso, Basic, Standard, Premium, PremiumV2, Premium V3, Isolato, Isolato V2)

Per altre info, vedere la documentazione relativa al piano servizio app.

Impostazioni predefinite delle risorse del toolkit mesh per il piano di servizio app

  • Nome SKU: P1v2
  • Livello SKU: PremiumV2
  • Capacità SKU: 1
  • Tipo: Linux
  • Riservato: True

Nel contesto di Mesh Cloud Scripting Services, il piano di servizio app è il componente di calcolo. Può essere ridimensionato automaticamente e gestire il modo in cui le diverse istanze comunicano tra loro (rete). CloudHost, che è l'applicazione che esegue e gestisce i servizi di scripting cloud mesh, è attualmente offerta come immagine Docker e, di conseguenza, viene usato un piano basato su Linux. I piani Premium sono più adatti per i carichi di lavoro di produzione.

Per altre informazioni sulle impostazioni predefinite, vedere le informazioni di riferimento sul modello Bicep & ARM per la risorsa del piano di servizio app.

Servizio app

Il Servizio app di Azure è un servizio per l'hosting di applicazioni Web, API REST e back-end mobili, basato su HTTP. Il servizio app aggiunge la potenza di Microsoft Azure all'applicazione, in termini di sicurezza, bilanciamento del carico, ridimensionamento automatico e gestione automatizzata. Con il servizio app si pagano le risorse di calcolo di Azure effettivamente usate. La quantità di risorse di calcolo usate è determinata dal piano di servizio app in cui vengono eseguite le app.

Per altre informazioni, vedere la servizio app Docs.

Impostazioni predefinite delle risorse del toolkit mesh - servizio app

  • httpsOnly: True
  • alwaysOn: True
  • vnetPrivatePorts Count: 2
  • vnetRouteAllEnabled: True
  • vnetName: nome Rete virtuale predefinito

Per altre informazioni sulle impostazioni predefinite, vedere le informazioni di riferimento sul modello Bicep & ARM per la risorsa piano servizio app.

Rete virtuale

La rete virtuale di Azure è il blocco predefinito fondamentale per la rete privata in Azure. Una rete virtuale consente a diversi tipi di risorse di Azure, ad esempio Macchine virtuali di Azure, di comunicare in modo sicuro tra di esse, con Internet e con le reti locali. Una rete virtuale è simile a una rete tradizionale gestita nel proprio data center. Una rete virtuale di Azure mette a disposizione i vantaggi aggiuntivi offerti dall'infrastruttura di Azure, tra cui scalabilità, disponibilità e isolamento.

Per altre informazioni, vedere la Rete virtuale Docs.

Impostazioni predefinite delle risorse del toolkit mesh - Rete virtuale

  • AddressSpace addressPrefixes: 10.0.0.0/16
  • Indirizzo subnetPrefix: 10.0.0.0/24
  • Nome delle deleghe subnet: delega
  • Subnet Delegations serviceName: Microsoft.Web/serverFarms

Per altre informazioni sulle impostazioni predefinite, vedere le informazioni di riferimento sul modello Bicep & ARM per la risorsa Rete virtuale.

Account di archiviazione

Un account di archiviazione di Azure contiene tutti gli oggetti dati di Archiviazione di Azure: BLOB, file, code e tabelle. L’account di archiviazione fornisce uno spazio dei nomi univoco per i dati di Archiviazione di Azure accessibili da qualsiasi posizione nel mondo tramite HTTP o HTTPS. I dati nell'account di archiviazione offrono durabilità e disponibilità elevata, sicurezza e un elevato livello di scalabilità.

Per altre informazioni, vedere la documentazione dell'account di archiviazione.

Impostazioni predefinite delle risorse del toolkit mesh - Account di archiviazione

  • Nome SKU: Standard_LRS
  • Tipo: StorageV2

Per altre informazioni sulle impostazioni predefinite, vedere le informazioni di riferimento sul modello Bicep & ARM per la risorsa account di archiviazione.

Area di lavoro Log Analytics

Un'area di lavoro Log Analytics è un ambiente univoco per i dati di log provenienti da Monitoraggio di Azure e da altri servizi di Azure, ad esempio Microsoft Sentinel e Microsoft Defender per il cloud. Si tratta di uno strumento nel portale di Azure usato per modificare ed eseguire query di log sui dati nell'archivio dei log di Monitoraggio di Azure.

Per altre informazioni, vedere la documentazione dell'area di lavoro Log Analytics.

Impostazioni predefinite delle risorse del toolkit mesh - Area di lavoro Log Analytics

  • forceCmkForQuery: false
  • retentionInDays: 30
  • Nome SKU: PerGB2018
  • dailyQuotaGb: 2 GB

Per altre informazioni sulle impostazioni predefinite, vedere le informazioni di riferimento sul modello Bicep & ARM per la risorsa Area di lavoro.

Application Insights

Application Insights è un'estensione di Monitoraggio di Azure e offre funzionalità di monitoraggio delle prestazioni delle applicazioni (APM). Gli strumenti di APM sono utili per monitorare le applicazioni dallo sviluppo, durante il test e nell'ambiente di produzione nei modi seguenti:

Comprendere in modo proattivo l'esecuzione di un'applicazione. Esaminare in modo reattivo i dati di esecuzione dell'applicazione per determinare la causa di un evento imprevisto. Oltre alla raccolta di metriche e dati di telemetria dell'applicazione, che descrivono le attività e l'integrità delle applicazioni, è possibile usare Application Insights per raccogliere e archiviare i dati di registrazione delle tracce delle applicazioni.

Per altre informazioni, vedere la documentazione di Application Insights.

Impostazioni predefinite delle risorse del toolkit mesh - Application Insights

  • Tipo: Web
  • Request_Source: rest
  • WorkspaceResourceId: ID predefinito dell'area di lavoro Log Analytics.

Per altre informazioni sulle impostazioni predefinite, vedere le informazioni di riferimento sul modello Bicep & ARM per la risorsa Rete virtuale.

Diagramma dell'infrastruttura di Servizi di scripting cloud mesh

Diagramma che mostra l'infrastruttura dei servizi mesh cloud scripting

Il traffico scorre attraverso ogni componente

Client <-> Istanze di AppService: richieste/risposte client (richieste di connessione, notifiche di script cloud e altro ancora).

istanze di servizio app: messaggi ping TCP per determinare l'attività.

<istanze di servizio app -> LogAnalytics/AppInsights: Application Telemetry (log applicazioni).

<istanze di servizio app -> Tabella di appartenenza: informazioni di liveness su ogni istanza del servizio app.

servizio app'istanza <-> Archiviazione BLOB: zip degli script cloud in esecuzione nel cloud.

Registrazioni del provider di risorse

I servizi da registrare sono:

  1. Microsoft.Web
  2. Microsoft.Storage
  3. Microsoft.Network
  4. Microsoft.Insights
  5. Microsoft.OperationalInsights

Note

  • Per informazioni sugli errori, vedere Errori di registrazione del provider di risorse.

  • Come illustrato nella documentazione di Azure, la registrazione dei servizi viene eseguita a livello di sottoscrizione. In altre parole, non è necessario registrare i servizi per gruppi di risorse diversi.

Controllo di accesso per la distribuzione del servizio di scripting cloud mesh

  1. Gli sviluppatori devono avere un acccount di posta elettronica che può essere usato per la distribuzione. Può trattarsi di un account nuovo o preesistente.

  2. Se si gestisce il controllo di accesso tramite un gruppo di sicurezza di Azure, creare questo gruppo, ad esempio "Mesh Cloud Scripting Services Developers". Per altre informazioni sul gruppo di sicurezza di Azure rispetto ai tipi di gruppo di Microsoft 365, vedere Informazioni sui gruppi e sull'appartenenza ai gruppi.

  3. Decidere in che modo gli sviluppatori possono accedere alla sottoscrizione di Azure. Ciò è determinato dal fatto che lo sviluppatore sia un membro nativo della directory o un utente guest.

    1. È possibile aggiungere membri nativi al gruppo di sicurezza di Azure creato nel passaggio 2 precedente se si vuole gestire facilmente i controlli di accesso.
    2. È possibile aggiungere utenti guest alla sottoscrizione di Azure o aggiungerli al gruppo di sicurezza di Azure (vedere il passaggio 2 precedente).

    Per altre informazioni sugli utenti guest, vedere Aggiungere utenti di Collaborazione B2B nel portale di Azure .

Raccomandazioni per il controllo di accesso

Ecco alcuni consigli su come concedere agli sviluppatori l'accesso per il provisioning dell'infrastruttura cloud di Servizi di scripting cloud mesh in Azure. Queste variabili variano a seconda del livello di restrizione che si desidera che i criteri di controllo di accesso siano.

  1. Concedere agli sviluppatori il ruolo Collaboratore per l'intera sottoscrizione di cui è stato effettuato il provisioning per i servizi di scripting cloud mesh.

  2. Creare un gruppo di risorse dedicato per la distribuzione dell'infrastruttura cloud di Servizi di scripting cloud mesh e concedere agli sviluppatori il ruolo Collaboratore in questo gruppo di risorse. A tale scopo, è possibile usare il gruppo di sicurezza di Azure creato nel secondo prerequisito, ovvero "Mesh Cloud Scripting Services Developers". In questo modo viene concesso l'accesso completo per gestire tutte le risorse, ma non consente loro di assegnare ruoli in Controllo degli accessi in base al ruolo di Azure, di gestire le assegnazioni in Azure Blueprints o di condividere raccolte di immagini.

  3. Creare un ruolo personalizzato in Azure con le autorizzazioni meno necessarie per creare e gestire l'infrastruttura cloud di Servizi di scripting cloud mesh.

    È possibile assegnare questo ruolo direttamente al gruppo di sicurezza di Azure creato nel secondo prerequisito, ad esempio "Mesh Cloud Scripting Services Developers".

    Di seguito sono riportate le autorizzazioni consigliate per i ruoli personalizzati creati:

    Schermata della pagina in cui si scelgono ruoli personalizzati.

    Il file JSON caricato dovrebbe essere simile al seguente**:

    {
    "id": "88888-8888-8888-888-8888888",
        "properties": {
            "roleName": "MeshCloudScriptingServiceDeployer",
            "description": "Grants access to Mesh Cloud Scripting Services resources",
            "assignableScopes": [
                "/subscriptions/{subscriptionID}"
            ],
            "permissions": [
                {
                    "actions": [
                        "*/read",
                        "Microsoft.Authorization/*/read",
                        "Microsoft.ClassicCompute/virtualMachines/extensions/*",
                        "Microsoft.ClassicStorage/storageAccounts/listKeys/action",
                        "Microsoft.Compute/virtualMachines/extensions/*",
                        "Microsoft.HybridCompute/machines/extensions/write",
                        "Microsoft.Insights/alertRules/*",
                        "Microsoft.Insights/autoscalesettings/*",
                        "Microsoft.Insights/components/*",
                        "Microsoft.Insights/diagnosticSettings/*",
                        "Microsoft.Insights/generateLiveToken/read",
                        "Microsoft.Insights/metricAlerts/*",
                        "Microsoft.Insights/scheduledqueryrules/*",
                        "Microsoft.Insights/topology/read",
                        "Microsoft.Insights/transactions/read",
                        "Microsoft.Insights/webtests/*",
                        "Microsoft.Network/*",
                        "Microsoft.OperationalInsights/*",
                        "Microsoft.OperationsManagement/*",
                        "Microsoft.ResourceHealth/availabilityStatuses/read",
                        "Microsoft.Resources/deployments/*",
                        "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                        "Microsoft.Resources/subscriptions/resourceGroups/read",
                        "Microsoft.Storage/storageAccounts/*",
                        "Microsoft.Support/*",
                        "Microsoft.Web/certificates/*",
                        "Microsoft.Web/hostingEnvironments/Join/Action",
                        "Microsoft.Web/listSitesAssignedToHostName/read",
                        "Microsoft.Web/serverFarms/join/action",
                        "Microsoft.Web/serverFarms/*",
                        "Microsoft.Web/sites/*"
                    ],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    

    Nota

    Il ruolo personalizzato MeshCloudScriptingServiceDeployer non consente agli utenti di creare gruppi di risorse. Se si vuole che gli utenti creino un gruppo di risorse, sono necessarie anche le autorizzazioni Microsoft.Resources/subscriptions/resourcegroups/write.

Limitazioni della quota per i servizi di scripting cloud mesh

L'infrastruttura Mesh Cloud Scripting Services usa il piano Premium servizio app Linux (P1V2). Questi sono i limiti servizio app che possono verificarsi durante la distribuzione del servizio di scripting cloud mesh:

Conto risorse Premium (P1V2)
App Web, per dispositivi mobili o per le API per ogni piano di servizio app Azure Nessun limite
Piano di servizio app 100 per gruppo di risorse

Nota

Le app e le quote di archiviazione sono per piano servizio app, se non diversamente specificato.

Nota

Il numero effettivo di app che è possibile ospitare in questi computer dipende dall'attività delle app, dalle dimensioni delle istanze del computer e dall'utilizzo delle risorse corrispondente.

Se viene visualizzato l'errore seguente: "Questa area ha una quota di 0 istanze PremiumV2 per la sottoscrizione. Provare a selezionare un'area o uno SKU diverso", vedere Limiti e quote della sottoscrizione di Azure.

Pulire i servizi di scripting cloud mesh non aggiornati

Se si dispone di servizi di scripting cloud mesh non aggiornati o inutilizzati, seguire questa procedura per trovare le risorse di scripting del cloud mesh e rimuoverle.

  1. Accedere al portale di Azure.

  2. Passare alla scheda "Tutte le risorse".

    Selezionare tutte le risorse in portale di Azure

  3. Nella pagina "Tutte le risorse" :

    a. Scegliere la Sottoscrizione appropriata.

    Selezionare la sottoscrizione in Azure

    b. Aggiungere un filtro con il tag EnvironmentName.

    Filtro EnvironmentName in azure

    c. Trovare le risorse corrispondenti agli ambienti da eliminare.

    Filtro delle risorse in Azure

  4. Pulire i servizi di scripting cloud mesh non aggiornati facendo clic sui puntini di sospensione accanto al nome di ogni risorsa presente nel passaggio 3C e quindi facendo clic su Elimina nell'elenco a discesa. In alternativa, è possibile usare l'interfaccia della riga di comando di Azure come descritto in questo articolo Eliminare la risorsa per eliminare le risorse in base al nome.

Passaggi successivi