Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Denne artikel beskriver, hvordan du hoster din Fabric Extensibility Toolkit-arbejdsbelastning i Azure ved hjælp af en frontend-only arkitektur. Extensibility Toolkit bruger en cloud-native implementeringstilgang med Azure-tjenester optimeret til statiske webapplikationer.
Oversigt over arkitektur
Fabric Extensibility Toolkit bruger en arkitektur med fokus på frontend-udrulning med Azure-tjenester:
Arkitektur for værktøjssæt til udvidelsesmuligheder
Udvidelsesværktøjsværktøjsarkitekturen indeholder følgende egenskaber:
- Frontend-only implementering: Din arbejdsbelastning kører udelukkende i browseren uden en separat backend
- Statisk webhosting: Bruger Azure Storage statiske hjemmesider til hosting
- Azure Front Door: Tilbyder global CDN, SSL-terminering og routing
- Managed services: Udnytter Entra ID, Key Vault og Managed Identity til sikkerhed
- Enkelt udrulningsproces: Bruger leverede PowerShell-scripts til udrulning
Azure-tjenester brugt
Azure Front Door
Azure Front Door fungerer som det globale indgangspunkt for din arbejdsbyrde. Den omfatter:
- Global load balancing: Dirigerer brugere til den nærmeste edge-lokation
- SSL-terminering: Håndterer HTTPS-certifikater automatisk
- Web Application Firewall (WAF): Beskytter mod almindelige websårbarheder
- Caching: Forbedrer ydeevnen ved at cache statiske assets ved kantplaceringer
For Extensibility Toolkit dirigerer Front Door trafikken til din statiske hjemmeside, der hostes på Azure Storage, hvilket sikrer høj tilgængelighed og lav latenstid verden over.
Azure Storage Account (statisk hjemmeside)
En Azure Storage-konto med statisk webhosting hoster din byggede arbejdsbelastningsapplikation. Dette giver:
- Omkostningseffektiv hosting: Betal kun for lagring og båndbredde, der bruges
- Automatisk skalering: Håndterer trafikspidser uden konfiguration
- Global tilgængelighed: Indholdet leveres fra Azures globale lagringsinfrastruktur
- Filbaseret udrulning: Upload filer til udrulningsversioner
Extensibility Toolkit bygger din React-applikation op til statisk HTML, JavaScript, CSS og assets, som implementeres direkte til lagringskontoen.
Azure Key Vault
Azure Key Vault håndterer følsom konfiguration og hemmeligheder:
- Klienthemmeligheder: Gemmer Entra ID-applikationshemmeligheder sikkert
- API-nøgler: Administrerer eksterne service API-nøgler
- Konfiguration: Gemmer miljøspecifikke indstillinger
- Certifikater: Administrerer SSL-certifikater om nødvendigt
Din arbejdsbyrde får adgang til Key Vault via Managed Identity for sikker, legitimationsfri autentificering.
Azure Entra ID (Azure Active Directory)
Azure Entra ID giver autentificering og autorisation:
- App-registrering: Registrerer din arbejdsbyrde som en entra-applikation
- OAuth 2.0-flows: Håndterer brugerautentificering med Fabric
- API-tilladelser: Administrerer adgang til Fabric- og Microsoft Graph API'er
- Tokenstyring: Giver sikre adgangstoks til API-kald
Administreret id
Managed Identity leverer sikker service-til-service autentificering:
- Ingen legitimationsstyring: Eliminerer behovet for at gemme hemmeligheder i kode
- Tokenhåndtering: Azure håndterer tokenanskaffelse og fornyelse
- Sikker adgang: Forbinder sikkert til Key Vault og andre Azure-tjenester
- Identitetslivscyklus: Knyttet til dine Azure-ressourcer til oprydning
Installationsproces
Forudsætninger
Før du deployer til Azure, skal du sikre dig, at du har:
- Azure-abonnement med passende tilladelser
- Azure CLI installeret og autentificeret
- Fabric Extensibility Toolkit-repository klonet lokalt
- Din arbejdsbyrde bygget op ved hjælp af
.\scripts\Build\BuildRelease.ps1
Brug af deployment-scriptet
Udvidelsesværktøjspakken indeholder et PowerShell-implementeringsscript, der scripts\Deploy\DeployToAzureWebApp.ps1 automatiserer udrulningsprocessen.
Grundlæggende udrulning
# Deploy to an existing Azure Web App
.\scripts\Deploy\DeployToAzureWebApp.ps1 -WebAppName "my-fabric-workload" -ResourceGroupName "fabric-workload-rg"
Yderligere udrulningsmuligheder
# Deploy to staging slot with custom settings
.\scripts\Deploy\DeployToAzureWebApp.ps1 `
-WebAppName "my-fabric-workload" `
-ResourceGroupName "fabric-workload-rg" `
-SlotName "staging" `
-Force $true `
-CreateBackup $true `
-RestartAfterDeploy $true
Udrulningsskriptparametre
| Parameter | Beskrivelse | Kræves | Standard |
|---|---|---|---|
WebAppName |
Navn på Azure Web App, der skal deployes til | Ja | - |
ResourceGroupName |
Ressourcegruppe, der indeholder Webappen | Ja | - |
ReleasePath |
Sti til byggede applikationsfiler | Nej | ..\..\release\app |
DeploymentMethod |
Udrulningsmetode (ZipDeploy, FTP, LocalGit) | Nej | ZipDeploy |
SlotName |
Udrulningsplads til staging | Nej | - |
Force |
Spring bekræftelsesprompts over | Nej | $false |
CreateBackup |
Opret backup før udrulning | Nej | $true |
RestartAfterDeploy |
Genstart appen efter udrulning | Nej | $true |
Funktioner i udrulningsskriptet
Udrulningsscriptet giver omfattende udrulningsmuligheder:
Validering og sikkerhed
- Prerequisites check: Validates Azure CLI installation og authentication
- Ressourcevalidering: Bekræfter at mål-webappen eksisterer og er tilgængelig
- Buildvalidering: Sikrer at release-mappen indeholder de nødvendige filer
- Oprettelse af backup: Opretter deployment backup til rollback-funktioner
Udrulningsarbejdsgang
- ZIP-pakkeoprettelse: Komprimerer den indbyggede applikation til en deploymentspakke
- Størrelsesrapportering: Viser størrelsen på udrulningspakken til verifikation
- Statusovervågning: Giver opdateringer om status på udrulningen i realtid
- Fejlhåndtering: Detaljerede fejlmeddelelser med fejlsøgningsvejledning
Efter udsendelse
- Sundhedstjek: Validerer deployeret applikation reagerer korrekt
- URL-rapportering: Giver direkte link til den deployerede applikation
- Manifestvejledning: Viser næste skridt for manifest-upload til Fabric
- Tidsmålinger: Rapporterer samlet implementeringsvarighed
Manuel udrulning
Du kan også manuelt udrulle din frontend-applikation ved hjælp af Azure PowerShell-kommandoer:
Byg din applikation
Først skal du bygge din frontend-applikation til testmiljøet:
npm run build:test
Opret udrulningspakke
- Navigér til
build\Frontendmappen i dit projekt - Vælg alle filer og
assetsmappen under build-mappen - Opret en fil,
.zipder indeholder alle de valgte filer
Deploy using Azure PowerShell
# Connect to Azure
Connect-AzAccount
# Set your subscription context
Set-AzContext -Subscription "<subscription_id>"
# Deploy the zip file to your web app
Publish-AzWebApp -ResourceGroupName <resource_group_name> -Name <web_app_name> -ArchivePath <zip_file_path>
Manuelle udrulningsparametre
| Parameter | Beskrivelse | Eksempel |
|---|---|---|
<subscription_id> |
Dit Azure-abonnements-ID | 12345678-1234-1234-1234-123456789012 |
<resource_group_name> |
Ressourcegruppe, der indeholder din webapp | fabric-workload-rg |
<web_app_name> |
Navn på din Azure web app | my-fabric-workload |
<zip_file_path> |
Fuld sti til din deployment zip-fil | C:\path\to\deployment.zip |
Notat
Manuel udrulning kræver, at du har de relevante Azure-tilladelser og Azure PowerShell-modulet installeret på din maskine.
Sikkerhedsovervejelser
Godkendelsesflow
Din arbejdsbelastning autentificeres med Fabric ved hjælp af standard OAuth 2.0-flowet:
- Brugeren får adgang til din arbejdsbyrde via Fabric
- Fabric omdirigerer til din Azure-hostede applikation
- Din app omdirigerer til Entra-ID for autentificering
- Entra ID returnerer autentificeringstoken
- Din app bruger token til at få adgang til Fabric API'er
Sikker konfiguration
- Miljøvariabler: Gem konfigurationen i Azure App Settings, ikke i koden
- Key Vault-integration: Adgang til hemmeligheder via Managed Identity
- Kun HTTPS: Håndhæv HTTPS for al kommunikation
- CORS-konfiguration: Konfigurer passende CORS-politikker for Fabric-domæner
Bedste praksis
- Mindst privilegium: Giv minimale nødvendige tilladelser til Managed Identity
- Hemmelig rotation: Roterer regelmæssigt hemmeligheder, der er lagret i Key Vault
- Netværkssikkerhed: Brug Private Endpoints, hvor det er muligt.
- Overvågning: Aktiver Application Insights til sikkerhedsovervågning
Konfiguration efter udrulning
Azure App Service configuration
Efter udrulning konfigurerer du din Azure App Service:
# Set environment variables for your workload
az webapp config appsettings set --name "my-fabric-workload" --resource-group "fabric-workload-rg" --settings \
"FABRIC_CLIENT_ID=your-client-id" \
"FABRIC_TENANT_ID=your-tenant-id" \
"KEY_VAULT_URL=https://your-keyvault.vault.azure.net/"
Key Vault-opsætning
Gem følsom konfiguration i Key Vault:
# Store client secret
az keyvault secret set --vault-name "your-keyvault" --name "FabricClientSecret" --value "your-client-secret"
# Store API keys
az keyvault secret set --vault-name "your-keyvault" --name "ExternalApiKey" --value "your-api-key"
Konfiguration af administreret identitet
Konfigurér Managed Identity til Key Vault-adgang:
# Enable system-assigned managed identity
az webapp identity assign --name "my-fabric-workload" --resource-group "fabric-workload-rg"
# Grant access to Key Vault
az keyvault set-policy --name "your-keyvault" \
--object-id "managed-identity-principal-id" \
--secret-permissions get list
Manifestudrulning
Efter at have udrullet din applikation til Azure, skal du uploade manifestpakken til Fabric:
Byg manifestpakke
Først skal du bygge manifestpakken:
.\scripts\Build\BuildManifestPackage.ps1
Dette skaber release\ManifestPackage.1.0.0.nupkg en begrænsning af din arbejdsbyrde.
Upload til Fabric Admin Portal
- Åbn Microsoft Fabric Admin Portal
- Naviger til Workload Management>Upload workload
- Upload din
ManifestPackage.1.0.0.nupkgfil - Konfigurer arbejdsbelastningsindstillinger og tilladelser
- Aktiver arbejdsbyrden for din lejer
Update manifest for Azure deployment
Før du bygger din manifestpakke til Azure-udrulning, skal du sikre dig, at værdierne i din .env fil (såsom FRONTEND_URL, FRONTEND_APPID, og andre nødvendige variabler) er korrekt sat til dit Azure-miljø. Disse værdier vil blive indsat i din WorkloadManifest.xml under byggeprocessen.
For en komplet liste over nødvendige miljøvariabler og vejledning til at sætte dem, se Generelle publiceringskrav.
Overvågning og fejlfinding
Application Insights
Aktiver Application Insights til overvågning:
- Ydelsesovervågning: Spor sideindlæsningstider og brugerinteraktioner
- Fejlsporing: Overvåg JavaScript-fejl og mislykkede forespørgsler
- Brugsanalyse: Forstå, hvordan brugere interagerer med din arbejdsbyrde
- Tilpasset telemetri: Tilføj brugerdefinerede metrikker til forretningslogik
Almindelige problemer og løsninger
Udrulningsfejl
-
Autentificeringsfejl: Verificér Azure CLI-login med
az account show - Ressource ikke fundet: Bekræft webapp-navn og ressourcegruppe er korrekte
- Tilladelse nægtet: Sørg for, at din konto har bidragyder-rollen i ressourcegruppen
Notat
Fejl: Frontend-uri er ikke på listen over lejerdomæner: Denne fejl betyder, at din workloads brugerdomæne ikke er registreret i din Entra ID-lejers liste over accepterede domæner. For at løse det, tilføj dit brugerdefinerede domæne til Entra ID. For mere information, se Custom Domain Verification i de generelle publiceringskrav.
Kørselstidsproblemer
- Hvid skærm: Tjek browserens konsol for JavaScript-fejl
- Autentificeringsfejl: Bekræft Entra ID-appregistrering og omdiriger URI'er
- API-kaldsfejl: Tjek CORS-konfiguration og API-tilladelser
Optimering af ydeevnen
- Langsom indlæsning: Aktivér komprimering og optimer bundle-størrelsen
- Caching-problemer: Konfigurer korrekte cache-headere i Front Door
- Geografisk latens: Sørg for, at Front Door er korrekt konfigureret til global routing
Relaterede vejledninger
- Sådan publicerer og administrerer du en arbejdsbelastning - Upload af manifest til Fabric
- Opsætningsguide - Opsætning af det indledende udviklingsmiljø
- Tutorial: Kom i gang - Kom i gang med Extensibility Toolkit