Infrastructuur en beheer van Mesh Cloud Scripting
Overzicht
In dit artikel vindt u informatie over verschillende aspecten van de Infrastructuur en het beheer van Mesh Clouding, waaronder de services die worden geïmplementeerd in uw Azure-abonnement wanneer u uw Cloud Scripting-project bouwt en publiceert.
Geïmplementeerde resources
Mesh Cloud Scripting bestaat uit . Op NET gebaseerde apps die worden uitgevoerd in de cloud. De Mesh Cloud Scripting-cloudinfrastructuur die is geïmplementeerd in het Azure-abonnement van de klant bevat de volgende Azure-resources:
App Service-plan: Vertegenwoordigt een rekencluster waar web-apps kunnen worden uitgevoerd. Het kan ook een of meer verschillende web-apps uitvoeren.
Azure VNet: dit is de virtuele netwerkresource waarin de App Service-exemplaren worden geïmplementeerd en waarmee ze met elkaar kunnen communiceren.
Azure Web App Instance: Vertegenwoordigt een exemplaar van de web-app die wordt uitgevoerd op een specifieke VM.
Azure Storage-account: bevat de gepubliceerde inhoud en informatie over de Exemplaren van de Azure-web-app. Deze is onderverdeeld in twee onderdelen:
- De Mesh Cloud Scripting Service Blob Storage: bevat de Mesh Cloud Scripting Service-blob die is geüpload door de Mesh Uploader.
- De lidmaatschapstabel orleans: bevat informatie over de levensduur van de Orleans Silo-exemplaren.
Log Analytics-werkruimte: bevat de logboeken die worden verzonden vanuit de Mesh Cloud Scripting Service die wordt uitgevoerd in App Service.
Application Insights: biedt APM-functies (Application Performance Monitoring). APM-hulpprogramma's zijn handig voor het bewaken van toepassingen vanuit ontwikkeling, via tests en in productie.
App Service-plan
Een App Service-plan definieert een set rekenresources waarmee een web-app kan worden uitgevoerd.
Wanneer u een App Service-plan maakt in een bepaalde regio (bijvoorbeeld Europa - west), wordt er een set rekenresources gemaakt voor dat plan in die regio. Alle apps die u in dit App Service-plan plaatst, worden uitgevoerd op deze rekenresources, zoals gedefinieerd door uw App Service-plan. In elk App Service-plan wordt het volgende gedefinieerd:
- Besturingssysteem (Windows, Linux)
- Regio (VS - west, VS - oost, enzovoort)
- Aantal VM-exemplaren
- Grootte van VM-exemplaren (klein, normaal of groot)
- Prijscategorie (Gratis, Gedeeld, Basic, Standard, Premium, PremiumV2, PremiumV3, Isolated, IsolatedV2)
Raadpleeg de Docs van het App Service-plan voor meer informatie.
Standaardresource-instellingen voor Mesh-toolkit voor App Service-plan
- SKU-naam: P1v2
- SKU-laag: PremiumV2
- SKU-capaciteit: 1
- Soort: Linux
- Gereserveerd: Waar
In de context van Mesh Cloud Scripting Services is het App Service-plan het rekenonderdeel. Het kan automatisch worden geschaald en afhandelen hoe de verschillende exemplaren met elkaar communiceren (netwerken). De CloudHost, de toepassing die Mesh Cloud Scripting Services uitvoert en beheert, wordt momenteel aangeboden als docker-installatiekopieën en als zodanig gebruiken we een Linux-abonnement. De Premium-abonnementen zijn geschikter voor productieworkloads.
Raadpleeg de bicep & ARM-sjabloonverwijzing voor de Resource van het App Service-plan voor meer informatie over de standaardinstellingen.
App Service
Azure App Service is een op HTTP gebaseerde service voor het hosten van webtoepassingen, REST API's en mobiele back-ends. App Service voegt de kracht van Microsoft Azure toe aan uw toepassing, zoals beveiliging, taakverdeling, automatisch schalen en geautomatiseerd beheer. Met App Service betaalt u voor de Azure-rekenresources die u gebruikt. De rekenresources die u gebruikt, zijn vastgesteld door het App Service-plan waarmee u uw apps uitvoert.
Raadpleeg de App Service Docs voor meer informatie.
Standaardresource-instellingen voor Mesh-toolkit - App Service
- httpsOnly: Waar
- alwaysOn: Waar
- aantal vnetPrivatePorts: 2
- vnetRouteAllEnabled: True
- vnetName: standaardnaam van virtueel netwerk
Raadpleeg voor meer informatie over de standaardinstellingen de referentie voor Bicep & ARM-sjablonen voor de Resource van het App Service-plan.
Virtual Network
Azure Virtual Network is de fundamentele bouwsteen voor uw privénetwerk in Azure. Met een virtueel netwerk kunnen veel soorten Azure-resources, zoals Azure Virtual Machines (VM), veilig met elkaar, internet en on-premises netwerken communiceren. Een virtueel netwerk is vergelijkbaar met een traditioneel netwerk dat u in uw eigen datacenter zou gebruiken. Een virtueel Azure-netwerk biedt extra voordelen van de infrastructuur van Azure, zoals schaal, beschikbaarheid en isolatie.
Raadpleeg de Documentatie voor virtueel netwerk voor meer informatie.
Standaardresource-instellingen voor Mesh-toolkit - Virtueel netwerk
- AddressSpace addressPrefixes: 10.0.0.0/16
- Subnet addressPrefix: 10.0.0.0/24
- Naam van subnetdelegeringen: delegatie
- Subnet DelegatieserviceNaam: Microsoft.Web/serverFarms
Raadpleeg de bicep & ARM-sjabloonverwijzing voor de virtual network-resource voor meer informatie over de standaardinstellingen.
Opslagaccount
Een Azure-opslagaccount bevat al uw Azure Storage-gegevensobjecten: blobs, bestanden, wachtrijen en tabellen. Het opslagaccount biedt een unieke naamruimte voor uw Azure Storage-gegevens die overal ter wereld toegankelijk zijn via HTTP of HTTPS. Gegevens in uw opslagaccount zijn duurzaam en maximaal beschikbaar, veilig en zeer schaalbaar.
Raadpleeg de documentatie voor het opslagaccount voor meer informatie.
Standaardresource-instellingen voor Mesh-toolkit - Opslagaccount
- SKU-naam: Standard_LRS
- Soort: StorageV2
Raadpleeg de bicep & ARM-sjabloonverwijzing voor de opslagaccountresource voor meer informatie over de standaardinstellingen.
Log Analytics-werkruimte
Een Log Analytics-werkruimte is een unieke omgeving voor logboekgegevens van Azure Monitor en andere Azure-services, zoals Microsoft Sentinel en Microsoft Defender voor Cloud. Het is een hulpprogramma in Azure Portal dat wordt gebruikt om logboekquery's te bewerken en uit te voeren op gegevens in het logboekarchief van Azure Monitor.
Raadpleeg de Docs van de Log Analytics-werkruimte voor meer informatie.
Standaardresource-instellingen voor Mesh-toolkit - Log Analytics-werkruimte
- forceCmkForQuery: false
- retentionInDays: 30
- SKU-naam: PerGB2018
- dailyQuotaGb: 2 GB
Raadpleeg de bicep & ARM-sjabloonverwijzing voor de werkruimteresource voor meer informatie over de standaardinstellingen.
Analyses van toepassingen
Application Insights is een uitbreiding van Azure Monitor en biedt APM-functies (Application Performance Monitoring). APM-hulpprogramma's zijn handig om toepassingen te bewaken van ontwikkeling, door middel van tests en productie op de volgende manieren:
Proactief begrijpen hoe een toepassing presteert. Controleer de uitvoeringsgegevens van de toepassing reactief om de oorzaak van een incident te bepalen. Samen met het verzamelen van metrische gegevens en toepassingstelemetriegegevens, waarin toepassingsactiviteiten en status worden beschreven, kunt u Application Insights gebruiken om logboekregistratiegegevens voor toepassingstracering te verzamelen en op te slaan.
Raadpleeg de Application Insights Docs voor meer informatie.
Standaardresource-instellingen voor Mesh-toolkit - Application Insights
- Soort: web
- Request_Source: rust
- WorkspaceResourceId: Standaard-Log Analytics-werkruimte-id.
Raadpleeg de bicep & ARM-sjabloonverwijzing voor de virtual network-resource voor meer informatie over de standaardinstellingen.
Diagram van de infrastructuur van Mesh Cloud Scripting Services
Verkeer stroomt door elk onderdeel
Client <-> AppService-exemplaren: clientaanvragen/antwoorden (verbindingsaanvragen, cloudscriptmeldingen en meer).
App Service-exemplaren: TCP ping-berichten om de liveness te bepalen.
App Service-exemplaren <-> LogAnalytics/AppInsights: Toepassingstelemetrie (toepassingslogboeken).
App Service-exemplaren -> Lidmaatschapstabel<: Liveness-informatie over elk app service-exemplaar.
App Service Instance <-> Blob Storage: het zip-bestand van de cloudscripts die in de cloud worden uitgevoerd.
Registraties van resourceproviders
De te registreren services zijn:
- Microsoft.Web
- Microsoft.Storage
- Microsoft.Network
- Microsoft.Insights
- Microsoft.OperationalInsights
Notes
Als u hulp nodig hebt bij fouten, raadpleegt u registratiefouten van de resourceprovider.
Zoals uitgelegd in de Azure-documentatie, wordt het registreren van services uitgevoerd op abonnementsniveau. Met andere woorden, u hoeft de services niet te registreren voor verschillende resourcegroepen.
Toegangsbeheer voor de implementatie van de Mesh Cloud Scripting Service
Ontwikkelaars moeten beschikken over een e-mailtoerekening die kan worden gebruikt voor de implementatie. Dit kan een nieuw of bestaand account zijn.
Als u toegangsbeheer beheert via een Azure-beveiligingsgroep, maakt u deze groep (bijvoorbeeld 'Mesh Cloud Scripting Services-ontwikkelaars'). Zie Meer informatie over groepen en groepslidmaatschappen voor meer informatie over Azure-beveiligingsgroep in vergelijking met Microsoft 365-groepstypen.
Bepaal hoe ontwikkelaars toegang willen krijgen tot uw Azure-abonnement. Dit wordt bepaald door of de ontwikkelaar een systeemeigen lid is van de directory of een gastgebruiker.
- U kunt systeemeigen leden toevoegen aan de Azure-beveiligingsgroep die u in stap 2 hierboven hebt gemaakt als u eenvoudig toegangsbeheer wilt beheren.
- U kunt gastgebruikers toevoegen aan uw Azure-abonnement of deze toevoegen aan de Azure-beveiligingsgroep (zie stap 2 hierboven).
Zie B2B-samenwerkingsgebruikers toevoegen in Azure Portal voor meer informatie over gastgebruikers.
Onze aanbevelingen voor toegangsbeheer
Hier volgen enkele aanbevelingen voor het verlenen van toegang tot ontwikkelaars om de cloudinfrastructuur van Mesh Cloud Scripting Services in Azure in te richten. Deze variëren, afhankelijk van hoe beperkend u uw toegangsbeheerbeleid wilt hebben.
Verdeel ontwikkelaars de rol Inzender voor het volledige abonnement dat is ingericht voor uw Mesh Cloud Scripting Services.
Maak een toegewezen resourcegroep voor de implementatie van de cloudinfrastructuur van Mesh Cloud Scripting Services en verdeel ontwikkelaars de rol Inzender in deze resourcegroep. U kunt dit doen via de Azure-beveiligingsgroep die u hebt gemaakt in de tweede vereiste, met andere woorden: 'Mesh Cloud Scripting Services-ontwikkelaars'. Hierdoor hebben ze volledige toegang tot het beheren van alle resources, maar kunnen ze geen rollen toewijzen in Azure RBAC, toewijzingen beheren in Azure Blueprints of afbeeldingengalerieën delen.
Maak een aangepaste rol in Azure met de minste machtigingen die nodig zijn voor het maken en beheren van de Mesh Cloud Scripting Services-cloudinfrastructuur.
U kunt deze rol rechtstreeks toewijzen aan de Azure-beveiligingsgroep die u hebt gemaakt in de tweede vereiste, bijvoorbeeld 'Mesh Cloud Scripting Services-ontwikkelaars'.
Hier volgen onze aanbevolen machtigingen voor de aangepaste rollen die u maakt:
Het JSON-bestand dat u zou uploaden, moet er ongeveer als volgt uitzien**:
{ "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": [] } ] } }
Notitie
Met de aangepaste rol MeshCloudScriptingServiceDeployer kunnen gebruikers geen resourcegroepen maken. Als we willen dat gebruikers een resourcegroep maken, hebben ze ook de machtigingen Microsoft.Resources/subscriptions/resourcegroups/write nodig.
Quotumbeperkingen voor Mesh Cloud Scripting Services
De Mesh Cloud Scripting Services-infrastructuur maakt gebruik van het Premium App Service Linux-plan (P1V2). Dit zijn de App Service-limieten die kunnen optreden tijdens het implementeren van Mesh Cloud Scripting Service:
Bron | Premium (P1V2) |
---|---|
Web-, mobiele of API-apps per Azure-app Service-plan | Onbeperkt |
App Service-plan | 100 per resourcegroep |
Notitie
Apps en opslagquota zijn per App Service-plan, tenzij anders vermeld.
Notitie
Het werkelijke aantal apps dat u op deze machines kunt hosten, is afhankelijk van de activiteit van de apps, de grootte van de machine-exemplaren en het bijbehorende resourcegebruik.
Als u de volgende fout krijgt: 'Deze regio heeft een quotum van 0 PremiumV2-exemplaren voor uw abonnement. Probeer een andere regio of SKU te selecteren, zie limieten en quota voor Azure-abonnementen.
Verouderde Mesh Cloud Scripting-services opschonen
Als u verouderde of ongebruikte Mesh Cloud Scripting-services hebt, volgt u deze stappen om uw Mesh Cloud Scripting-resources te vinden en te verwijderen.
Meld u aan bij Azure Portal.
Navigeer naar het tabblad Alle resources.
Op de pagina Alle resources:
a. Selecteer het juiste abonnement.
b. Voeg een filter toe met de tag EnvironmentName.
c. Zoek de resources die overeenkomen met de omgevingen die u wilt verwijderen.
Schoon de verouderde Mesh Cloud Scripting-services op door op het beletselteken naast de naam van elke resource in stap 3C te klikken en vervolgens in de vervolgkeuzelijst op Verwijderen te klikken. U kunt ook de Azure CLI gebruiken zoals beschreven in dit artikel Resource verwijderen om de resources op naam te verwijderen.