Freigeben über


Mesh Cloud Scripting-Infrastruktur und -Verwaltung

Übersicht

In diesem Artikel erfahren Sie mehr über verschiedene Aspekte der Mesh Clouding-Infrastruktur und -Verwaltung, einschließlich der Dienste, die bei der Erstellung und Veröffentlichung Ihres Cloud Scripting-Projekts für Ihr Azure-Abonnement bereitgestellt werden.

Bereitgestellte Ressourcen

Mesh Cloud Scripting besteht aus . NET-basierte Apps, die in der Cloud ausgeführt werden. Die Mesh Cloud Scripting-Cloudinfrastruktur, die für das Azure-Abonnement des Kunden bereitgestellt wird, enthält die folgenden Azure-Ressourcen:

  1. App Service-Plan: Stellt einen Computecluster dar, in dem Web-Apps ausgeführt werden können. Sie kann auch eine oder mehrere verschiedene Web-Apps ausführen.

  2. Azure VNet: Dies ist die virtuelle Netzwerkressource, in der die App-Dienstinstanzen bereitgestellt werden, und ermöglicht es ihnen, miteinander zu kommunizieren.

  3. Azure Web App-Instanz: Stellt eine Instanz der Web-App dar, die auf einer bestimmten VM ausgeführt wird.

  4. Azure Storage-Konto: Enthält die veröffentlichten Inhalte und Informationen zu den Azure Web App-Instanzen. Es ist in zwei Komponenten unterteilt:

    1. Der Blob-Speicher des Mesh Cloud Scripting Service: Enthält das Mesh Cloud Scripting Service-BLOB, das vom Mesh-Uploader hochgeladen wurde.
    2. The Orleans Membership Table: Enthält Informationen über die Lebendigkeit der Orleans Silo Instanzen.
  5. Log Analytics-Arbeitsbereich: Enthält die Protokolle, die vom Mesh Cloud Scripting Service ausgegeben werden, der auf App Service ausgeführt wird.

  6. Application Insights: Stellt Features zur Anwendungsleistungsüberwachung (Application Performance Monitoring, APM) bereit. APM-Tools sind nützlich, um Anwendungen von der Entwicklung über Tests und in die Produktion zu überwachen.

App Service-Plan

Ein App Service-Plan definiert eine Reihe von Computeressourcen, mit denen eine Web-App ausgeführt werden kann.

Wenn Sie einen App Service-Plan in einer bestimmten Region (z.B. „Europa, Westen“) erstellen, wird für den Plan in dieser Region ein Satz mit Computeressourcen erstellt. Alle Apps, die Sie in diesen App Service-Plan einfügen, werden auf diesen Computeressourcen ausgeführt, wie in Ihrem App Service-Plan definiert. Für jeden App Service-Plan wird Folgendes definiert:

  • Betriebssystem (Windows, Linux)
  • Region (USA Westen, USA Osten usw.)
  • Anzahl von VM-Instanzen
  • Größe von VM-Instanzen (Klein, Mittel, Groß)
  • Tarif (Free, Shared, Basic, Standard, Premium, PremiumV2, PremiumV3, Isolated, IsolatedV2)

Weitere Informationen finden Sie in den Dokumentationen zum App-Dienstplan.

Standardressourceneinstellungen des Mesh-Toolkits für App Service Plan

  • SKU-Name: P1v2
  • SKU-Stufe: PremiumV2
  • SKU-Kapazität: 1
  • Art: Linux
  • Reserviert: True

Im Kontext von Mesh Cloud Scripting Services ist der App Service-Plan die Computekomponente. Es kann automatisch skaliert und behandelt werden, wie die verschiedenen Instanzen miteinander kommunizieren (Netzwerk). Das CloudHost, das die Anwendung ist, die Mesh Cloud Scripting Services ausführt und verwaltet, wird derzeit als Docker-Image angeboten und als solche verwenden wir einen Linux-basierten Plan. Die Premium-Pläne eignen sich besser für Produktionsworkloads.

Weitere Informationen zu den Standardwerten finden Sie in der Bicep & ARM-Vorlagenreferenz für die App Service-Planressource.

App Service

Azure App Service ist ein HTTP-basierter Dienst zum Hosten von Webanwendungen, REST-APIs und mobilen Back-Ends. App Service ergänzt Ihre Anwendung um die Leistungsfähigkeit von Microsoft Azure, z. B. mit Funktionen für Sicherheit, Lastenausgleich, automatische Skalierung und automatisierte Verwaltung. Mit App Service zahlen Sie nur für die Azure-Computeressourcen, die Sie verwenden. Die Computeressourcen, die Sie verwenden, richten sich nach dem App Service-Plan, nach dem Sie Ihre Apps ausführen.

Weitere Informationen finden Sie in den App-Dienstdokumenten.

Standardressourceneinstellungen des Mesh-Toolkits – App Service

  • httpsOnly: True
  • alwaysOn: True
  • vnetPrivatePorts Count: 2
  • vnetRouteAllEnabled: True
  • vnetName: Standardname des virtuellen Netzwerks

Weitere Informationen zu den Standardwerten finden Sie in der Bicep & ARM-Vorlagenreferenz für die App Service Plan-Ressource.

Virtual Network

Azure Virtual Network ist der Grundbaustein für Ihr privates Netzwerk in Azure. Mit einem virtuellen Netzwerk können zahlreiche Arten von Azure-Ressourcen (z. B. virtuelle Azure-Computer) sicher miteinander sowie mit dem Internet und mit lokalen Netzwerken kommunizieren. Virtuelle Netzwerke ähneln den herkömmlichen Netzwerken, die Sie in Ihrem eigenen Rechenzentrum betreiben. Ein virtuellen Azure-Netzwerk bringt jedoch die Vorteile der Azure-Infrastruktur wie Skalierung, Verfügbarkeit und Isolierung mit sich.

Weitere Informationen finden Sie in den Dokumentationen zum virtuellen Netzwerk.

Standardressourceneinstellungen des Mesh-Toolkits – Virtuelles Netzwerk

  • AddressSpace addressPrefixes: 10.0.0.0/16
  • SubnetzadressePrefix: 10.0.0.0/24
  • Subnetzdelegierungsname: Delegierung
  • Subnetzdelegierungsdienstname: Microsoft.Web/serverFarms

Weitere Informationen zu den Standardwerten finden Sie in der Bicep & ARM-Vorlagenreferenz für die Virtual Network-Ressource.

Speicherkonto

Ein Azure Storage-Konto enthält all Ihre Azure Storage-Datenobjekte: Blobs, Dateien, Warteschlangen und Tabellen. Das Speicherkonto stellt einen eindeutigen Namespace für Ihre Azure Storage-Daten bereit, auf den von jedem Ort der Welt aus über HTTP oder HTTPS zugegriffen werden kann. Daten in Ihrem Speicherkonto sind dauerhaft und hochverfügbar, sicher und extrem skalierbar.

Weitere Informationen finden Sie in den Speicherkontodokumenten.

Standardressourceneinstellungen des Mesh-Toolkits – Speicherkonto

  • SKU-Name: Standard_LRS
  • Art: StorageV2

Weitere Informationen zu den Standardwerten finden Sie in der Bicep & ARM-Vorlagenreferenz für die Speicherkontoressource.

Log Analytics-Arbeitsbereich

Ein Log Analytics-Arbeitsbereich ist eine bestimmte Umgebung für Protokolldaten aus Azure Monitor und anderen Azure-Diensten wie Microsoft Sentinel und Microsoft Defender für Cloud. Es ist ein Tool in der Azure-Portal, das zum Bearbeiten und Ausführen von Protokollabfragen für Daten im Azure Monitor Logs Store verwendet wird.

Weitere Informationen finden Sie in den Dokumentationen zum Log Analytics-Arbeitsbereich.

Standardressourceneinstellungen des Mesh-Toolkits – Log Analytics-Arbeitsbereich

  • forceCmkForQuery: false
  • retentionInDays: 30
  • SKU-Name: PerGB2018
  • dailyQuotaGb: 2 GB

Weitere Informationen zu den Standardwerten finden Sie in der Bicep & ARM-Vorlagenreferenz für die Arbeitsbereichsressource.

Application Insights

Application Insights ist eine Erweiterung von Azure Monitor und stellt Funktionen zur Überwachung der Anwendungsleistung (APM) bereit. APM-Tools sind nützlich, um Anwendungen von der Entwicklung über den Test bis hin zur Produktion auf folgende Weise zu überwachen:

Proaktives Verstehen, wie eine Anwendung ausgeführt wird Reaktives Überprüfen von Anwendungsausführungsdaten zur Ermittlung der Ursache eines Vorfalls Neben der Erfassung von Metriken und Telemetriedaten von Anwendungen, die die Aktivitäten und die Integrität von Anwendungen beschreiben, können Sie Application Insights auch zur Erfassung und Speicherung von Ablaufverfolgungs-Protokolldaten der Anwendungen verwenden.

Weitere Informationen finden Sie in den Application Insights-Dokumenten.

Standardressourceneinstellungen des Mesh-Toolkits – Application Insights

  • Art: Web
  • Request_Source: Rest
  • WorkspaceResourceId: Standard-Log Analytics-Arbeitsbereichs-ID.

Weitere Informationen zu den Standardwerten finden Sie in der Bicep & ARM-Vorlagenreferenz für die Virtual Network-Ressource.

Mesh Cloud Scripting Services-Infrastrukturdiagramm

Diagramm mit der Infrastruktur der Mesh Cloud Scripting-Dienste

Datenverkehr fließt durch jede Komponente

Client <–> AppService-Instanzen: Clientanforderungen/-antworten (Verbindungsanforderungen, Cloudskriptbenachrichtigungen und mehr).

App-Dienstinstanzen: TCP-Pingnachrichten, um die Liveität zu bestimmen.

App-Dienstinstanzen <–> LogAnalytics/AppInsights: Anwendungstelemetrie (Anwendungsprotokolle).

App-Dienstinstanzen –> Mitgliedschaftstabelle<: Livenessinformationen zu jeder App-Dienstinstanz.

App-Dienstinstanz <–> Blob Storage: Die ZIP-Datei der Cloudskripts, die in der Cloud ausgeführt werden.

Ressourcenanbieterregistrierungen

Die zu registrierenden Dienste sind:

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

Hinweise

  • Wenn Sie Hilfe zu Fehlern benötigen, lesen Sie Fehler bei der Registrierung des Ressourcenanbieters.

  • Wie in der Azure-Dokumentation erläutert, erfolgt die Registrierung von Diensten auf Abonnementebene. Mit anderen Worten: Es ist nicht erforderlich, die Dienste für verschiedene Ressourcengruppen zu registrieren.

Zugriffssteuerung für die Bereitstellung des Mesh Cloud Scripting Service

  1. Entwickler müssen über eine E-Mail-Zählung verfügen, die für die Bereitstellung verwendet werden kann. Dies kann ein neues oder bereits vorhandenes Konto sein.

  2. Wenn Sie die Zugriffssteuerung über eine Azure-Sicherheitsgruppe verwalten, erstellen Sie diese Gruppe (z. B. "Mesh Cloud Scripting Services Developers"). Weitere Informationen zur Azure-Sicherheitsgruppe im Vergleich zu Microsoft 365-Gruppentypen finden Sie unter "Informationen zu Gruppen und Gruppenmitgliedschaften".

  3. Entscheiden Sie, wie Entwickler auf Ihr Azure-Abonnement zugreifen möchten. Dies wird bestimmt, ob der Entwickler ein systemeigenes Mitglied des Verzeichnisses oder eines Gastbenutzers ist.

    1. Sie können native Mitglieder zur Azure-Sicherheitsgruppe hinzufügen, die Sie in Schritt 2 oben erstellt haben, wenn Sie Zugriffssteuerungen ganz einfach verwalten möchten.
    2. Sie können Gastbenutzer zu Ihrem Azure-Abonnement hinzufügen oder sie zur Azure-Sicherheitsgruppe hinzufügen (siehe Schritt 2 oben).

    Weitere Informationen zu Gastbenutzern finden Sie unter Hinzufügen von B2B-Zusammenarbeitsbenutzern im Azure-Portal.

Unsere Empfehlungen für die Zugriffssteuerung

Hier sind einige Empfehlungen, wie Entwickler Zugriff auf die Cloudinfrastruktur von Mesh Cloud Scripting Services in Azure erhalten. Diese variieren je nachdem, wie restriktiv Ihre Zugriffssteuerungsrichtlinien sein sollen.

  1. Gewähren Sie Entwicklern die Rolle "Mitwirkender" für das gesamte Abonnement, das für Ihre Mesh Cloud Scripting Services bereitgestellt wird.

  2. Erstellen Sie eine dedizierte Ressourcengruppe für die Cloud-Infrastrukturbereitstellung von Mesh Cloud Scripting Services, und gewähren Sie Entwicklern die Rolle "Mitwirkender" in dieser Ressourcengruppe. Sie können dies über die Azure-Sicherheitsgruppe tun, die Sie in der zweiten Voraussetzung erstellt haben, also "Mesh Cloud Scripting Services Developers". Dies gewährt ihnen vollzugriff auf die Verwaltung aller Ressourcen, ermöglicht ihnen jedoch nicht das Zuweisen von Rollen in Azure RBAC, das Verwalten von Zuweisungen in Azure Blueprints oder das Freigeben von Bildkatalogen.

  3. Erstellen Sie eine benutzerdefinierte Rolle in Azure , die über die geringsten Berechtigungen zum Erstellen und Verwalten der Cloudinfrastruktur von Mesh Cloud Scripting Services verfügt.

    Sie können diese Rolle direkt in der Azure-Sicherheitsgruppe zuweisen, die Sie in der zweiten Voraussetzung erstellt haben, z. B. "Mesh Cloud Scripting Services Developers".

    Hier sind unsere empfohlenen Berechtigungen für die von Ihnen erstellten benutzerdefinierten Rollen:

    Ein Bildschirm der Seite, auf der Sie benutzerdefinierte Rollen auswählen.

    Die JSON-Datei, die Sie hochladen würden, sollte ähnlich wie folgt sein**:

    {
    "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": []
                }
            ]
        }
    }
    

    Hinweis

    Die benutzerdefinierte Rolle "MeshCloudScriptingServiceDeployer" ermöglicht Es Benutzern nicht, Ressourcengruppen zu erstellen. Wenn Benutzer eine Ressourcengruppe erstellen möchten, benötigen sie auch die Berechtigungen "Microsoft.Resources/subscriptions/resourcegroups/write" .

Kontingentbeschränkungen für Mesh Cloud Scripting Services

Die Mesh Cloud Scripting Services-Infrastruktur verwendet den Premium App Service Linux-Plan (P1V2). Dies sind die App Service-Grenzwerte, die beim Bereitstellen des Mesh Cloud Scripting Service auftreten können:

Resource Premium (P1V2)
Web-, Mobile- oder API-Apps pro Azure-App Serviceplan Unbegrenzt
App Service-Plan 100 pro Ressourcengruppe

Hinweis

Apps und Speicherkontingente sind pro App Service-Plan, sofern nicht anders angegeben.

Hinweis

Die tatsächliche Anzahl von Apps, die Sie auf diesen Computern hosten können, hängt von der Aktivität der Apps, der Größe der Computerinstanzen und der entsprechenden Ressourcenauslastung ab.

Wenn Sie die folgende Fehlermeldung erhalten: "Diese Region hat Kontingent von 0 PremiumV2-Instanzen für Ihr Abonnement. Versuchen Sie, eine andere Region oder SKU auszuwählen", siehe Azure-Abonnementbeschränkungen und -Kontingente.

Bereinigen veralteter Mesh Cloud Scripting-Dienste

Wenn Sie veraltete oder nicht verwendete Mesh Cloud Scripting-Dienste haben, führen Sie die folgenden Schritte aus, um Ihre Mesh Cloud Scripting-Ressourcen zu finden und sie zu entfernen.

  1. Melden Sie sich beim Azure-Portal an.

  2. Navigieren Sie zur Registerkarte "Alle Ressourcen".

    Alle Ressourcen in Azure-Portal auswählen

  3. Auf der Seite "Alle Ressourcen":

    a. Wählen Sie das entsprechende Abonnement aus.

    Abonnement in Azure auswählen

    b. Fügen Sie einen Filter mit dem Tag EnvironmentName hinzu.

    EnvironmentName-Filter in Azure

    c. Suchen Sie die Ressourcen, die mit den Umgebungen übereinstimmen, die Sie löschen möchten.

    Ressourcenfilter in Azure

  4. Bereinigen Sie die veralteten Mesh Cloud Scripting-Dienste, indem Sie auf die Auslassungspunkte neben dem Namen jeder Ressource klicken, die in Schritt 3C gefunden wurde, und klicken Sie dann in der Dropdownliste auf "Löschen". Alternativ können Sie die Azure CLI wie in diesem Artikel zum Löschen von Ressourcen beschrieben verwenden, um die Ressourcen nach Namen zu löschen.

Nächste Schritte