Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve como hospedar sua carga de trabalho do Fabric Extensibility Toolkit no Azure usando uma arquitetura somente de front-end. O Extensibility Toolkit usa uma abordagem de implantação nativa de nuvem com os serviços do Azure otimizados para aplicativos Web estáticos.
Visão geral da arquitetura
O Fabric Extensibility Toolkit usa uma arquitetura focada na implantação de front-end com os serviços do Azure:
Arquitetura do Kit de Ferramentas de Extensibilidade
A arquitetura do Kit de Ferramentas de Extensibilidade inclui as seguintes características:
- Implementação somente front-end: sua carga de trabalho é executada inteiramente no navegador sem um back-end separado
- Hospedagem de site estático: usa sites estáticos do Armazenamento do Azure para hospedagem
- Azure Front Door: fornece CDN global, encerramento de SSL e roteamento
- Serviços gerenciados: aproveita a ID do Entra, o Key Vault e a Identidade Gerenciada para segurança
- Processo de implantação única: usa scripts fornecidos do PowerShell para implantação
Serviços do Azure usados
Azure Front Door
O Azure Front Door serve como o ponto de entrada global para sua carga de trabalho. Ele fornece:
- Balanceamento de carga global: roteia os usuários para o local de borda mais próximo
- Terminação SSL: manipula certificados HTTPS automaticamente
- WAF (Firewall de Aplicativo Web): protege contra vulnerabilidades comuns da Web
- Caching: melhora o desempenho ao armazenar ativos estáticos em locais periféricos.
Para o Kit de Ferramentas de Extensibilidade, o Front Door roteia o tráfego para seu site estático hospedado no Armazenamento do Azure, garantindo alta disponibilidade e baixa latência em todo o mundo.
Conta de Armazenamento do Azure (Site Estático)
Uma Conta de Armazenamento do Azure com hospedagem de site estático hospeda seu aplicativo de carga de trabalho compilado. Isso proporciona:
- Hospedagem econômica: pagar somente pelo armazenamento e largura de banda usados
- Dimensionamento automático: manipula picos de tráfego sem configuração
- Disponibilidade global: o conteúdo é fornecido da infraestrutura de armazenamento global do Azure
- Implantação baseada em arquivo: carregar arquivos para implantar versões
O Kit de Ferramentas de Extensibilidade cria seu aplicativo React em HTML estático, JavaScript, CSS e ativos que são implantados diretamente na conta de armazenamento.
Azure Key Vault
O Azure Key Vault gerencia segredos e configurações confidenciais:
- Segredos do cliente: armazena segredos do aplicativo Entra ID com segurança
- Chaves de API: gerencia chaves de API de serviço externo
- Configuração: armazena configurações específicas do ambiente
- Certificados: gerencia certificados SSL, se necessário
Sua carga de trabalho acessa o Key Vault por meio da Identidade Gerenciada para autenticação segura e sem credenciais.
Azure Entra ID (Azure Active Directory)
A ID do Azure Entra fornece autenticação e autorização:
- Registro de aplicativo: registra sua carga de trabalho como um aplicativo Entra
- Fluxos do OAuth 2.0: gerencia a autenticação do usuário com Fabric
- Permissões de API: gerencia o acesso às APIs do Fabric e do Microsoft Graph
- Gerenciamento de tokens: fornece tokens de acesso seguro para chamadas à API
Identidade Gerenciada
A Identidade Gerenciada fornece autenticação de serviço a serviço segura:
- Sem gerenciamento de credenciais: elimina a necessidade de armazenar segredos no código
- Manipulação de token: o Azure manipula a aquisição e a renovação de token
- Acesso seguro: conecta-se ao Key Vault e a outros serviços do Azure com segurança
- Ciclo de vida de identidade: vinculado aos recursos do Azure para limpeza
Processo de implantação
Pré-requisitos
Antes de implantar no Azure, verifique se você tem:
- Assinatura do Azure com permissões apropriadas
- CLI do Azure instalada e autenticada
- Repositório do Fabric Extensibility Toolkit clonado localmente
- Sua carga de trabalho criada usando
.\scripts\Build\BuildRelease.ps1
Usando o script de implantação
O Kit de Ferramentas de Extensibilidade inclui um script do PowerShell em scripts\Deploy\DeployToAzureWebApp.ps1 que automatiza o processo de implantação.
Implantação básica
# Deploy to an existing Azure Web App
.\scripts\Deploy\DeployToAzureWebApp.ps1 -WebAppName "my-fabric-workload" -ResourceGroupName "fabric-workload-rg"
Opções de implantação adicionais
# 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
Parâmetros de script de implantação
| Parâmetro | Description | Obrigatório | Padrão |
|---|---|---|---|
WebAppName |
Nome do Aplicativo Web do Azure para implantar | Yes | - |
ResourceGroupName |
Grupo de recursos que contém o aplicativo Web | Yes | - |
ReleasePath |
Caminho para arquivos de aplicativo criados | Não | ..\..\release\app |
DeploymentMethod |
Método de implantação (ZipDeploy, FTP, LocalGit) | Não | ZipDeploy |
SlotName |
Slot de implantação para teste | Não | - |
Force |
Ignorar mensagens de confirmação | Não | $false |
CreateBackup |
Criar backup antes da implantação | Não | $true |
RestartAfterDeploy |
Reiniciar o aplicativo após a implantação | Não | $true |
Recursos de script de implantação
O script de implantação fornece recursos de implantação abrangentes:
Validação e segurança
- Verificação de pré-requisitos: valida a instalação e a autenticação da CLI do Azure
- Validação de recursos: confirma se o aplicativo Web de destino existe e está acessível
- Validação de build: garante que o diretório de versão contenha arquivos necessários
- Criação de backup: cria um backup de implantação para possibilitar a reversão
Fluxo de trabalho de implantação
- Criação de pacote ZIP: compacta o aplicativo interno no pacote de implantação
- Relatório de tamanho: mostra o tamanho do pacote de implantação para verificação
- Monitoramento de progresso: fornece atualizações de status de implantação em tempo real
- Tratamento de erros: mensagens de erro detalhadas com diretrizes de solução de problemas
Pós-implantação
- Verificação de integridade: valida se o aplicativo implantado responde corretamente
- Relatório de URL: fornece link direto para o aplicativo implantado
- Diretrizes de manifesto: mostra as próximas etapas para upload de manifesto no Fabric
- Métricas de tempo: relata a duração total da implantação
Implantação manual
Você também pode implantar seu aplicativo de front-end manualmente usando comandos do Azure PowerShell:
Crie seu aplicativo
Primeiro, crie seu aplicativo de front-end para o ambiente de teste:
npm run build:test
Criar pacote de implantação
- Navegue até a
build\Frontendpasta em seu projeto - Selecione todos os arquivos e a
assetspasta no diretório de build - Criar um
.ziparquivo que contém todos os arquivos selecionados
Implantar usando o 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>
Parâmetros de implantação manual
| Parâmetro | Description | Example |
|---|---|---|
<subscription_id> |
Sua ID de assinatura do Azure | 12345678-1234-1234-1234-123456789012 |
<resource_group_name> |
Grupo de recursos que contém seu aplicativo Web | fabric-workload-rg |
<web_app_name> |
Nome do aplicativo Web do Azure | my-fabric-workload |
<zip_file_path> |
Caminho completo para o arquivo zip de implantação | C:\path\to\deployment.zip |
Observação
A implantação manual exige que você tenha as permissões apropriadas do Azure e o módulo do Azure PowerShell instalado em seu computador.
Considerações de segurança
Fluxo de autenticação
Sua carga de trabalho é autenticada com o Fabric usando o fluxo padrão do OAuth 2.0:
- O usuário acessa sua carga de trabalho por meio do Fabric
- O Fabric redireciona para seu aplicativo hospedado no Azure
- Seu aplicativo redireciona para a ID do Entra para autenticação
- A ID do Entra retorna o token de autenticação
- Seu aplicativo usa token para acessar APIs do Fabric
Configuração segura
- Variáveis de ambiente: Armazenar configuração nas Configurações do Aplicativo do Azure, não no código
- Integração do Key Vault: acessar segredos por meio da Identidade Gerenciada
- Somente HTTPS: impor HTTPS para toda a comunicação
- Configuração do CORS: configurar políticas de CORS apropriadas para domínios do Fabric
Práticas recomendadas
- Privilégio mínimo: conceder permissões mínimas necessárias à Identidade Gerenciada
- Rotação de segredos: renovar periodicamente os segredos armazenados no Key Vault
- Segurança de rede: usar pontos de extremidade privados sempre que possível
- Monitoramento: Habilitar o Application Insights para monitoramento de segurança
Configuração após a implantação
Configuração do Serviço de Aplicativo do Azure
Após a implantação, configure o Serviço de Aplicativo do Azure:
# 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/"
Configuração do Key Vault
Armazene a configuração confidencial no 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"
Configuração de Identidade Gerenciada
Configurar a Identidade Gerenciada para acesso ao Key Vault:
# 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
Implantação de manifesto
Depois de implantar seu aplicativo no Azure, você deve carregar o pacote de manifesto no Fabric:
Gerar pacote de manifesto
Primeiro, crie o pacote de manifesto:
.\scripts\Build\BuildManifestPackage.ps1
Isso cria um release\ManifestPackage.1.0.0.nupkg contendo o seu manifesto de carga de trabalho.
Carregar no Portal de Administração do Fabric
- Abra o Portal de Administração do Microsoft Fabric
- Navegue até Gerenciamento de Carga de Trabalho>Fazer upload da carga de trabalho
- Carregar seu
ManifestPackage.1.0.0.nupkgarquivo - Definir as configurações e permissões da carga de trabalho
- Ativar a carga de trabalho para seu locatário
Atualizar manifesto para implantação do Azure
Antes de criar seu pacote de manifesto para implantação do Azure, verifique se os valores em seu .env arquivo (como FRONTEND_URL, FRONTEND_APPIDe quaisquer outras variáveis necessárias) estão definidos corretamente para seu ambiente do Azure. Esses valores serão substituídos em seu WorkloadManifest.xml durante o processo de compilação.
Para obter uma lista completa de variáveis de ambiente necessárias e diretrizes sobre como defini-las, consulte os requisitos gerais de publicação.
Monitoramento e solução de problemas
Application Insights
Habilite o *Application Insights* para o monitoramento:
- Monitoramento de desempenho: acompanhar os tempos de carregamento da página e as interações do usuário
- Acompanhamento de erros: monitorar erros do JavaScript e solicitações com falha
- Análise de uso: entenda como os usuários interagem com sua carga de trabalho
- Telemetria personalizada: adicionar métricas personalizadas para a lógica de negócios
Problemas comuns e soluções
Falhas de implantação
-
Erros de autenticação: Verifique o login da CLI do Azure com
az account show - Recurso não encontrado: confirme se o nome do aplicativo Web e o grupo de recursos estão corretos
- Permissão negada: verifique se sua conta tem a função Colaborador no grupo de recursos
Observação
Erro: a URI de Frontend não está na lista de domínios do locatário: esse erro significa que o domínio personalizado da carga de trabalho não está registrado na lista de domínios aceitos do locatário do Entra ID. Para resolver, adicione seu domínio personalizado à ID do Entra. Para obter mais informações, consulte Verificação de Domínio Personalizado nos requisitos gerais de publicação.
Problemas de runtime
- Tela branca: verificar se há erros de JavaScript no console do navegador
- Falhas de autenticação: Verificar o registro do aplicativo Entra ID e os URIs de redirecionamento
- Falhas de chamada à API: verificar a configuração do CORS e as permissões de API
Otimização de desempenho
- Carregamento lento: habilitar a compactação e otimizar o tamanho do pacote
- Problemas de cache: configurar cabeçalhos de cache adequados no Front Door
- Latência geográfica: verifique se o Front Door está configurado corretamente para roteamento global
Guias relacionados
- Como publicar e gerenciar uma carga de trabalho – Carregando o manifesto no Fabric
- Guia de Instalação – Configuração inicial do ambiente de desenvolvimento
- Tutorial: Introdução – Introdução ao Kit de Ferramentas de Extensibilidade