Dela via


Infrastruktur och hantering av mesh-molnskript

Översikt

I den här artikeln får du lära dig om olika aspekter av Mesh Clouding-infrastruktur och -hantering, inklusive de tjänster som distribueras till din Azure-prenumeration när du skapar och publicerar ditt molnskriptprojekt.

Distribuerade resurser

Mesh Cloud Scripting består av . NET-baserade appar som körs i molnet. Mesh Cloud Scripting-molninfrastrukturen som distribueras till kundens Azure-prenumeration innehåller följande Azure-resurser:

  1. App Service-plan: Representerar ett beräkningskluster där webbappar kan köras. Den kan också köra en eller flera olika webbappar.

  2. Virtuellt Azure-nätverk: Det här är den virtuella nätverksresurs som App Service-instanserna distribueras i och gör att de kan kommunicera med varandra.

  3. Azure Web App Instance: Representerar en instans av webbappen som körs på en specifik virtuell dator.

  4. Azure Storage-konto: Innehåller publicerat innehåll och information om Azure-webbappsinstanserna. Den delas in i två komponenter:

    1. Mesh Cloud Scripting Service Blob Storage: Innehåller Mesh Cloud Scripting Service-bloben som laddats upp av Mesh Uploader.
    2. Tabellen Orleans-medlemskap: Innehåller information om hur levande Orleans Silo-instanserna är.
  5. Log Analytics-arbetsyta: Innehåller loggarna som genereras från Mesh Cloud Scripting Service som körs i App Service.

  6. Application Insights: Tillhandahåller funktioner för övervakning av programprestanda (APM). APM-verktyg är användbara för att övervaka program från utveckling, via test och till produktion.

App Service-plan

En App Service-plan definierar en uppsättning beräkningsresurser som gör att en webbapp kan köras.

När du skapar en App Service-plan i en viss region (till exempel Västeuropa) skapas en uppsättning beräkningsresurser för planen i den regionen. De appar som du lägger till i den här App Service-planen körs på dessa beräkningsresurser enligt definitionen i din App Service-plan. Varje App Service-plan definierar:

  • Operativsystem (Windows eller Linux)
  • Region (USA, västra, USA, östra och så vidare)
  • Antal VM-instanser
  • Storleken på VM-instanser (liten, medel, stor)
  • Prisnivå (Kostnadsfri, Delad, Basic, Standard, Premium, PremiumV2, PremiumV3, Isolerad, IsoleradV2)

Mer information finns i Dokumentation om App Service-plan.

Mesh toolkit standardresursinställningar för App Service-plan

  • SKU-namn: P1v2
  • SKU-nivå: PremiumV2
  • SKU-kapacitet: 1
  • Typ: Linux
  • Reserverad: Sant

I samband med Mesh Cloud Scripting Services är App Service-planen beräkningskomponenten. Den kan skalas automatiskt och hantera hur de olika instanserna kommunicerar med varandra (nätverk). CloudHost, som är det program som kör och hanterar Mesh Cloud Scripting Services, erbjuds för närvarande som en Docker-avbildning och därför använder vi en Linux-baserad plan. Premium-abonnemangen passar bättre för produktionsarbetsbelastningar.

Mer information om standardvärdena finns i mallreferensen Bicep & ARM för App Service-planresursen.

App Service

Azure App Service är en HTTP-baserad tjänst som är värd för webbprogram, REST-API:er och mobila serverdelar. App Service lägger till kraften i Microsoft Azure i ditt program, till exempel säkerhet, belastningsutjämning, automatisk skalning och automatiserad hantering. Med App Service betalar du för de Azure-beräkningsresurer du använder. De beräkningsresurser som du använder bestäms av apptjänstplanen som du kör dina appar på.

Mer information finns i App Service Docs.

Standardinställningar för Mesh-verktygsresurser – App Service

  • httpsOnly: Sant
  • alwaysOn: Sant
  • vnetPrivatePorts Antal: 2
  • vnetRouteAllEnabled: Sant
  • vnetName: Standardnamn för virtuellt nätverk

Mer information om standardvärdena finns i mallreferensen Bicep & ARM för App Service-planresursen.

Virtual Network

Azure Virtual Network är den grundläggande byggstenen för ditt privata nätverk i Azure. Ett virtuellt nätverk gör det möjligt för många typer av Azure-resurser, till exempel Virtuella Azure-datorer (VM), att kommunicera säkert med varandra, Internet och lokala nätverk. Ett virtuellt nätverk liknar ett traditionellt nätverk som du använder i ditt eget datacenter. Ett virtuellt Azure-nätverk medför extra fördelar med Azures infrastruktur, till exempel skalning, tillgänglighet och isolering.

Mer information finns i dokumentationen om virtuella nätverk.

Mesh toolkit standardresursinställningar – Virtuellt nätverk

  • AddressSpace-adressPrefix: 10.0.0.0/16
  • UndernätsadressPrefix: 10.0.0.0/24
  • Namn på undernätsdelegeringar: delegering
  • Tjänstnamn för undernätsdelegeringar: Microsoft.Web/serverFarms

Mer information om standardvärdena finns i mallreferensen Bicep & ARM för virtual network-resursen.

Lagringskonto

Ett Azure Storage-konto innehåller alla dina Azure Storage-dataobjekt: blobar, filer, köer och tabeller. Lagringskontot tillhandahåller ett unikt namnområde för dina Azure Storage-data som är tillgängliga var som helst i världen via HTTP eller HTTPS. Data i ditt lagringskonto är hållbara och mycket tillgängliga, säkra och mycket skalbara.

Mer information finns i dokumentationen för lagringskontot.

Standardinställningar för Mesh-verktygsresurser – Lagringskonto

  • SKU-namn: Standard_LRS
  • Typ: StorageV2

Mer information om standardvärdena finns i mallreferensen Bicep & ARM för lagringskontoresursen.

Log Analytics-arbetsyta

En Log Analytics-arbetsyta är en unik miljö för loggdata från Azure Monitor och andra Azure-tjänster, till exempel Microsoft Sentinel och Microsoft Defender för molnet. Det är ett verktyg i Azure-portalen som används för att redigera och köra loggfrågor mot data i Azure Monitor-loggarkivet.

Mer information finns i Log Analytics Workspace Docs.

Standardinställningar för Mesh-verktygsresurser – Log Analytics-arbetsyta

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

Mer information om standardvärdena finns i mallreferensen Bicep & ARM för arbetsyteresursen.

Programinsikter

Application Insights är ett tillägg till Azure Monitor och tillhandahåller funktioner för övervakning av programprestanda (APM). APM-verktyg är användbara för att övervaka program från utveckling, via test och till produktion på följande sätt:

Förstå proaktivt hur ett program presterar. Granska programkörningsdata reaktivt för att fastställa orsaken till en incident. Tillsammans med insamling av mått och programtelemetridata, som beskriver programaktiviteter och hälsa, kan du använda Application Insights för att samla in och lagra loggningsdata för programspårning.

Mer information finns i Application Insights Docs.

Standardinställningar för Mesh-verktygsresurser – Application Insights

  • Typ: webb
  • Request_Source: rest
  • WorkspaceResourceId: Standard-ID för Log Analytics-arbetsyta.

Mer information om standardvärdena finns i mallreferensen Bicep & ARM för virtual network-resursen.

Infrastrukturdiagram för Mesh Cloud Scripting Services

Ett diagram som visar Mesh Cloud Scripting Services-infrastrukturen

Registreringar av resursprovider

De tjänster som ska registreras är:

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

Anteckningar

  • Om du behöver hjälp med fel läser du Registreringsfel för resursprovider.

  • Som beskrivs i Azure-dokumentationen utförs registrering av tjänster på prenumerationsnivå. Med andra ord behöver du inte registrera tjänsterna för olika resursgrupper.

Åtkomstkontroll för distributionen av Mesh Cloud Scripting Service

  1. Utvecklare måste ha ett e-postkonto som kan användas för distributionen. Detta kan vara ett nytt eller befintligt konto.

  2. Om du hanterar åtkomstkontroll via en Azure-säkerhetsgrupp skapar du den här gruppen (till exempel "Mesh Cloud Scripting Services Developers"). Mer information om Azure Security Group jämfört med Microsoft 365-grupptyper finns i Läs mer om grupper och gruppmedlemskap.

  3. Bestäm hur du vill att utvecklare ska få åtkomst till din Azure-prenumeration. Detta bestäms av om utvecklaren är en intern medlem i katalogen eller en gästanvändare.

    1. Du kan lägga till interna medlemmar i azure-säkerhetsgruppen som du skapade i steg 2 ovan om du enkelt vill hantera åtkomstkontroller.
    2. Du kan lägga till gästanvändare i din Azure-prenumeration eller lägga till dem i Azure Security Group (se steg 2 ovan).

    Mer information om gästanvändare finns i Lägga till B2B-samarbetsanvändare i Azure-portalen .

Våra rekommendationer för åtkomstkontroll

Här följer några rekommendationer för hur du ger utvecklare åtkomst till att etablera molninfrastrukturen Mesh Cloud Scripting Services i Azure. Dessa varierar beroende på hur restriktiva du vill att dina principer för åtkomstkontroll ska vara.

  1. Ge utvecklare rollen Deltagare i hela prenumerationen som har etablerats för dina Mesh Cloud Scripting Services.

  2. Skapa en dedikerad resursgrupp för distribution av molninfrastruktur i Mesh Cloud Scripting Services och ge utvecklare rollen Deltagare i den här resursgruppen. Du kan göra detta via Den Azure-säkerhetsgrupp som du skapade i den andra förutsättningen , med andra ord "Mesh Cloud Scripting Services Developers". Detta ger dem fullständig åtkomst för att hantera alla resurser, men tillåter dem inte att tilldela roller i Azure RBAC, hantera tilldelningar i Azure Blueprints eller dela bildgallerier.

  3. Skapa en anpassad roll i Azure som har minst behörighet för att skapa och hantera molninfrastrukturen Mesh Cloud Scripting Services.

    Du kan tilldela den här rollen direkt på azure-säkerhetsgruppen som du skapade i den andra förutsättningen, t.ex. "Mesh Cloud Scripting Services Developers".

    Här är våra rekommenderade behörigheter för de anpassade roller som du skapar:

    En skärm på sidan där du väljer anpassade roller.

    JSON-filen som du skulle ladda upp bör likna den här**:

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

    Kommentar

    Den anpassade rollen MeshCloudScriptingServiceDeployer tillåter inte att användare skapar resursgrupper. Om vi vill att användarna ska skapa en resursgrupp behöver de även behörigheterna Microsoft.Resources/subscriptions/resourcegroups/write.

Kvotbegränsningar för Mesh Cloud Scripting Services

Mesh Cloud Scripting Services-infrastrukturen använder Premium App Service Linux-planen (P1V2). Det här är de Gränser för App Service som du kan stöta på när du distribuerar Mesh Cloud Scripting Service:

Resurs Premium (P1V2)
Webb-, mobil- eller API-appar per Azure App Service-plan Obegränsat
App Service-plan 100 per resursgrupp

Kommentar

Appar och lagringskvoter är per App Service-plan om inget annat anges.

Kommentar

Det faktiska antalet appar som du kan vara värd för på dessa datorer beror på apparnas aktivitet, storleken på datorinstanserna och motsvarande resursanvändning.

Om du får följande fel: "Den här regionen har en kvot på 0 PremiumV2-instanser för din prenumeration. Prova att välja en annan region eller SKU", se Begränsningar och kvoter för Azure-prenumerationer.

Rensa inaktuella Mesh Cloud Scripting-tjänster

Om du har inaktuella eller oanvända Mesh Cloud Scripting-tjänster följer du dessa steg för att hitta dina Mesh Cloud Scripting-resurser och ta bort dem.

  1. Logga in på Azure-portalen.

  2. Gå till fliken Alla resurser.

    Markera alla resurser i Azure-portalen

  3. På sidan Alla resurser:

    a. Välj lämplig prenumeration.

    Välj prenumeration i Azure

    b. Lägg till ett filter med taggen EnvironmentName.

    EnvironmentName-filter i Azure

    c. Hitta de resurser som matchar de miljöer som du vill ta bort.

    Resursfilter i Azure

  4. Rensa de inaktuella Mesh Cloud Scripting-tjänsterna genom att klicka på ellipsen bredvid namnet på varje resurs som finns i steg 3C och klicka sedan på Ta bort i listrutan. Du kan också använda Azure CLI enligt beskrivningen i den här artikeln Ta bort resurs för att ta bort resurserna med namn.

Nästa steg