Partilhar via


Crie fluxos de trabalho de aplicativos lógicos padrão para implantação híbrida em sua própria infraestrutura

Aplica-se a: Aplicativos Lógicos do Azure (Padrão)

Para cenários em que você precisa usar, controlar e gerenciar sua própria infraestrutura, você pode criar fluxos de trabalho de aplicativo lógico padrão usando o modelo de implantação híbrida nos Aplicativos Lógicos do Azure. Esse modelo fornece recursos para que você crie e hospede soluções de integração para ambientes parcialmente conectados que exigem processamento local, armazenamento e acesso à rede. Sua infraestrutura pode incluir sistemas locais, nuvens privadas e nuvens públicas. Com o modelo híbrido, seu fluxo de trabalho de aplicativo lógico padrão é alimentado pelo tempo de execução dos Aplicativos Lógicos do Azure, que é hospedado no local como parte de uma extensão de Aplicativos de Contêiner do Azure.

Para obter uma visão geral da arquitetura que mostra onde os fluxos de trabalho do aplicativo lógico padrão são hospedados e executados em um ambiente parcialmente conectado, consulte Configurar requisitos de infraestrutura para implantação híbrida para aplicativos lógicos padrão.

Este guia de instruções mostra como criar e implantar um fluxo de trabalho de aplicativo lógico padrão usando o modelo de implantação híbrida depois de configurar os recursos locais necessários para hospedar seu aplicativo.

Limitações

A seção a seguir descreve as limitações para a opção de implantação híbrida:

Limitação Descrição
Regiões do Azure suportadas A implantação híbrida está atualmente disponível e tem suporte apenas nas seguintes regiões do Azure:

- EUA centrais
- Ásia Oriental
- Leste dos EUA
- Centro-Norte dos EUA
- Sudeste Asiático
- Suécia Central
- Sul do Reino Unido
- Europa Ocidental
- Oeste dos EUA
Registo de dados num ambiente de execução desconectado No modo parcialmente conectado, o tempo de execução dos Aplicativos Lógicos do Azure pode permanecer desconectado até 24 horas e ainda reter logs de dados. No entanto, quaisquer dados de registo após esta duração podem ser perdidos.
Recursos sem suporte disponíveis em Aplicativos Lógicos do Azure de locatário único (Padrão) e serviços relacionados do Azure - Espaços de implantação

- Acompanhamento de processos de negócios do Azure

- Estado de funcionamento dos recursos em Suporte + resolução de problemas no portal do Azure

- Autenticação de identidade gerenciada para operações de conector. Atualmente, os clusters Kubernetes habilitados para o Azure Arc não oferecem suporte à autenticação de identidade gerenciada para conexões de API gerenciadas. Em vez disso, você deve criar seu próprio registro de aplicativo usando o Microsoft Entra ID. Para obter mais informações, siga estas etapas mais adiante neste guia.
Gatilhos baseados em função Alguns gatilhos baseados em funções, como o Blob do Azure, o Cosmos DB e os Hubs de Eventos, exigem uma conexão com a conta de armazenamento do Azure associada ao seu aplicativo lógico Padrão. Se usar qualquer gatilho baseado em função, nas variáveis de ambiente da sua aplicação lógica padrão no portal do Azure ou no ficheiro local.settings.json do seu projeto de aplicação lógica no Visual Studio Code, adicione a definição de aplicação chamada AzureWebJobsStorage e forneça a cadeia de conexão da sua conta de armazenamento:

"Values": {
"name": "AzureWebJobsStorage",
"value": "{storage-account-connection-string}"
}

Pré-requisitos

  • Uma conta e uma subscrição do Azure. Se não tiver uma subscrição, inscreva-se numa conta do Azure gratuita.

  • Os seguintes recursos locais, que devem existir todos na mesma rede para a conectividade necessária:

    • Um cluster do Serviço Kubernetes do Azure conectado ao Azure Arc
    • Um banco de dados SQL para armazenar localmente o histórico de execução do fluxo de trabalho, entradas e saídas para processamento
    • Uma partilha de arquivos SMB (Server Message Block) para armazenar localmente artefatos usados pelos seus workflows.

    Para atender a esses requisitos, configure esses recursos locais para dar suporte à implantação híbrida para aplicativos lógicos padrão.

  • Para trabalhar no Visual Studio Code, você precisa da extensão Azure Logic Apps (Standard) para Visual Studio Code com os pré-requisitos relacionados.

    Gorjeta

    Se você tiver uma nova instalação do Visual Studio Code, confirme se você pode executar localmente um fluxo de trabalho padrão básico antes de tentar implantar em sua própria infraestrutura. Esta execução de teste ajuda a isolar quaisquer erros que possam existir no seu projeto de fluxo de trabalho Padrão.

Crie seu aplicativo lógico padrão

Crie seu aplicativo lógico padrão para implantação híbrida seguindo estas etapas:

  1. Na caixa de pesquisa do portal do Azure, insira aplicativos lógicos e selecione Aplicativos lógicos.

  2. Na barra de ferramentas da página Aplicativos lógicos , selecione Adicionar.

  3. Na página Criar Aplicativo Lógico, em Padrão, selecione Híbrido.

  4. Na página Criar Aplicativo Lógico (Híbrido), forneça as seguintes informações:

    Propriedade Necessário Valor Descrição
    Subscrição Sim < Nome da subscrição Azure> Seu nome de assinatura do Azure.

    Este exemplo usa Pay-As-You-Go.
    Grupo de Recursos Sim < Azure-nome-do-grupo-de-recursos> O grupo de recursos do Azure onde você cria seu aplicativo híbrido e recursos relacionados. Esse nome deve ser exclusivo entre regiões e pode conter apenas letras, números, hífenes (-), sublinhados (_), parênteses (()) e pontos (.).

    Este exemplo cria um grupo de recursos chamado Hybrid-RG.
    Nome da Aplicação Lógica Sim < logic-app-name> O nome do aplicativo lógico, que deve ser exclusivo entre regiões e pode conter apenas letras minúsculas, números ou hífenes (-).

    Este exemplo usa my-logic-app-hybrid.
    Região Sim < Azure-region> Uma região do Azure com suporte para Aplicativos de Contêiner do Azure no AKS habilitado para Azure Arc.

    Este exemplo usa East US.
    Ambiente conectado do aplicativo de contêiner Sim < nome-do-ambiente conectado> O cluster Kubernetes habilitado para Arc que você criou como o ambiente de implantação para seu aplicativo lógico. Para obter mais informações, consulte Tutorial: Ativar aplicativos de contentor do Azure em Kubernetes com Azure Arc ativado.
    Definir definições de armazenamento Sim Ativado ou desativado Continua na guia Armazenamento na página Criar Aplicação Lógica (Híbrido).

    O exemplo a seguir mostra a página de criação de aplicativo lógico no portal do Azure com valores de exemplo:

    A captura de tela mostra o portal do Azure e a página de criação do aplicativo lógico.

  5. Na página Armazenamento, forneça as seguintes informações sobre o provedor de armazenamento e o compartilhamento de arquivos SMB que você configurou anteriormente:

    Propriedade Necessário Valor Descrição
    Cadeia de conexão SQL Sim < sql-server-connection-string> A cadeia de conexão do SQL Server que você salvou anteriormente. Para obter mais informações, consulte Criar provedor de armazenamento do SQL Server.
    Nome do anfitrião Sim < nome-do-arquivo-compartilhamento-host> O nome do host para seu compartilhamento de arquivos SMB.
    Caminho de compartilhamento de arquivos Sim < caminho de compartilhamento de arquivos> O caminho de compartilhamento de arquivos para seu compartilhamento de arquivos SMB.
    Nome de utilizador Sim < arquivo-compartilhamento-nome-de-usuário> O nome de usuário para seu compartilhamento de arquivos SMB.
    Palavra-passe Sim < arquivo-compartilhamento-senha> A palavra-passe para a partilha de ficheiros SMB.
  6. Quando terminar, selecione Rever + criar. Confirme as informações fornecidas e selecione Criar.

  7. Depois que o Azure concluir a implantação, selecione Ir para o recurso.

    O portal do Azure abre seu recurso de aplicativo lógico, por exemplo:

    A captura de tela mostra o portal do Azure com o aplicativo lógico Standard para implantação híbrida criado como um aplicativo de contêiner.

  8. No menu de recursos do aplicativo lógico, em Fluxos de trabalho, selecione Fluxos de trabalho.

  9. Na barra de ferramentas da página Fluxos de trabalho, selecione Adicionar para adicionar um fluxo de trabalho vazio com estado ou sem estado.

  10. Depois que o designer abrir, crie seu fluxo de trabalho adicionando um gatilho e ações.

    Para obter mais informações, consulte Criar um fluxo de trabalho com um gatilho e ações.

Versionamento para implantações híbridas

Uma aplicação lógica padrão com a opção de hospedagem híbrida cria automaticamente uma nova revisão, que é um conceito de controlo de versão das Aplicações de Contêiner do Azure, sempre que se guardam alterações num fluxo de trabalho secundário. Essa revisão pode levar um pouco de tempo para ser ativada, o que significa que, depois de salvar as alterações, convém aguardar vários momentos antes de testar seu fluxo de trabalho.

Se as alterações ainda não apareceram no fluxo de trabalho, você pode verificar se a revisão existe:

  1. No portal do Azure, abra seu recurso. No menu de recursos, em Revisão, selecione Revisões e réplicas.

  2. Na página Revisões e réplicas, na guia de Revisões ativas, verifique se uma nova revisão aparece na lista.

Para obter mais informações, consulte os seguintes recursos:

Configurar telemetria aprimorada ou OpenTelemetry para monitoramento de desempenho

Você pode configurar a coleta de telemetria aprimorada no Application Insights para seu aplicativo lógico padrão e, em seguida, exibir os dados coletados depois que o fluxo de trabalho concluir uma execução. Esse recurso oferece uma experiência mais simples para obter informações sobre seus fluxos de trabalho e mais controle sobre a filtragem de eventos na fonte de dados, o que ajuda a reduzir os custos de armazenamento. Essas melhorias se concentram em métricas de desempenho em tempo real que fornecem informações sobre a integridade e o comportamento do seu sistema.

Para cenários parcialmente conectados e locais, você pode configurar seu aplicativo lógico padrão para emitir telemetria com base nas configurações do aplicativo com suporte OpenTelemetry que você define para o ambiente específico. Por padrão, esses dados de telemetria são enviados para o Application Insights. Para obter mais informações, consulte Habilitar telemetria aprimorada no Application Insights para fluxos de trabalho padrão em Aplicativos Lógicos do Azure.

Alterar a vCPU e a alocação de memória no portal do Azure

Você pode editar as configurações de vCPU e memória para seu recurso de aplicativo lógico padrão. Essas alterações afetam a taxa de faturação para as tarefas do aplicativo lógico padrão.

  1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

  2. No menu de recursos, em Configurações, selecione Contêineres.

  3. Na barra de ferramentas da página Contêineres, selecione Editar e implantar, que abre o painel Editar um contêiner.

  4. Na guia Propriedades, em Alocação de recursos de contêiner, altere os seguintes valores para se adequar ao seu cenário:

    Propriedade Valor Descrição
    Núcleos de CPU - Padrão: 1
    - Mínimo: 0,25
    - Máximo: 2
    Determina os núcleos vCPU a serem atribuídos à sua instância de contêiner. Você pode aumentar esse valor em 0,25 núcleos até o valor máximo. O número total em todas as instâncias de contêiner para este aplicativo lógico é limitado a 2 núcleos.
    Memória - Padrão: 2
    - Mínimo: 0,1
    - Máximo: 4
    Determina a capacidade de memória em gibibytes (GiB) para atribuir à sua instância de contêiner. Pode aumentar este valor em 0,1 GiB até ao valor máximo. A capacidade total em todas as instâncias de contêiner para este aplicativo lógico é limitada a 4 GiB.
  5. Quando terminar, selecione Guardar.

Alterar o dimensionamento de réplica no portal do Azure

Você pode controlar o dimensionamento automático para o número de réplicas que são implantadas em resposta a um evento de ativação. Uma réplica é uma nova instância de uma revisão ou versão de recursos de aplicativo lógico. Para alterar os valores mínimo e máximo para esse intervalo, você pode modificar as regras de escala para determinar os tipos de evento que acionam o dimensionamento. Para obter mais informações, veja Definir regras de dimensionamento no Azure Container Apps.

  1. No portal do Azure, abra seu recurso de aplicativo lógico padrão.

  2. No menu de recursos, em Configurações, selecione Escala.

  3. Na página Escala, em Configuração da regra de escala, altere os seguintes valores para se ajustar ao seu cenário:

    Propriedade Valor Descrição
    Réplicas mínimas - Padrão: 1
    - Mínimo: 0
    - Máximo: 1000
    Determina o número mínimo de réplicas permitidas para a revisão a qualquer momento. Esse valor substitui as regras de escala e deve ser menor que o número máximo de réplicas.
    Máximo de réplicas - Padrão: 30
    - Mínimo: 0
    - Máximo: 1000
    Determina o número máximo de réplicas permitidas para a revisão a qualquer momento. Esse valor substitui as regras de escala.
  4. Quando terminar, selecione Guardar.

Controle o tráfego de entrada para seu aplicativo lógico no portal do Azure

Você pode expor seu aplicativo lógico à Web pública, sua rede virtual e outros aplicativos lógicos em seu ambiente habilitando a entrada. O Azure impõe configurações de entrada por meio de um conjunto de regras que controlam o roteamento do tráfego externo e interno para seu aplicativo lógico. Quando você habilita a entrada, não precisa criar um Balanceador de Carga do Azure, endereço IP público ou quaisquer outros recursos do Azure para habilitar solicitações HTTP de entrada ou tráfego TCP. Para obter mais informações, consulte Ingress in Container Apps.

Nota

Quando você ativar a entrada, todo o tráfego será direcionado para sua última revisão por padrão. Aceda à página de gestão de revisões para alterar as configurações de tráfego.

  1. No menu de recursos, em Configurações, selecione Ingressar.

  2. Na página Ingresso, ao lado de Ingresso, selecione a caixa Habilitado.

  3. Com base no seu cenário, configure as opções restantes.

    Para obter mais informações, veja a seguinte documentação:

Configurar a autenticação para conexões de API gerenciadas

Para autenticar conexões de API gerenciadas em fluxos de trabalho de aplicativos lógicos padrão hospedados em clusters Kubernetes habilitados para Azure Arc, você deve criar seu próprio registro de aplicativo usando o Microsoft Entra ID. Em seguida, você pode adicionar os valores desse registro de aplicativo como variáveis de ambiente em seu recurso de aplicativo lógico padrão para autenticar suas conexões de API.

Criar um registo de aplicação com o Microsoft Entra ID

Portal do Azure

  1. No portal do Azure, siga Guia de início rápido: registrar um aplicativo na plataforma de identidade da Microsoft para criar um registro de aplicativo.

  2. Após a conclusão da criação, encontre seu novo registro de aplicativo no portal.

  3. No menu de recursos, selecione Visão geral e salve os seguintes valores, que você precisará mais tarde para autenticação de conexão:

    • ID de Cliente
    • ID do Inquilino
    • Segredo do cliente
  4. Para a ID do objeto, execute estas etapas:

    1. Na página Visão geral, selecione Aplicativo gerenciado no link do diretório local para o registro do aplicativo, conforme mostrado:

      A captura de tela mostra o registro do aplicativo com o link selecionado para o aplicativo gerenciado no diretório local.

    2. Na página que se abre, copie e guarde o valor do ID do Objeto:

      A captura de tela mostra o registro do aplicativo com o ID do objeto selecionado.

  5. Agora, adicione os valores salvos como variáveis de ambiente ao recurso do aplicativo lógico padrão.

CLI do Azure

  1. Para criar o registro do aplicativo, use o comando az ad sp create.

  2. Para rever todas as propriedades, use o comando az ad sp show.

  3. Na saída de ambos os comandos, localize e salve os seguintes valores, que você precisará mais tarde para autenticação de conexão:

    • ID de Cliente
    • ID do Objeto
    • ID do Inquilino
    • Segredo do cliente
  4. Agora, adicione os valores salvos como variáveis de ambiente ao recurso do aplicativo lógico padrão.

Adicionar valores de registo de aplicação à sua aplicação lógica padrão

  1. No portal do Azure, aceda ao recurso de Aplicação lógica Standard.

  2. No menu de recursos, em Configurações, selecione Contêineres e, em seguida, selecione a guia Variáveis de ambiente.

    Para obter mais informações sobre configurações de aplicativo e configurações de host, consulte Editar configurações de aplicativo e configurações de host.

  3. Na barra de ferramentas, selecione Editar e implantar.

  4. No painel Editar um contêiner, selecione Variáveis de ambiente e, em seguida, selecione Adicionar.

  5. Na tabela a seguir, adicione cada variável de ambiente com o valor especificado:

    Variável de ambiente Valor
    WORKFLOWAPP_AAD_CLIENTID < ID do meu cliente>
    WORKFLOWAPP_AAD_OBJECTID < my-object-ID>
    WORKFLOWAPP_AAD_TENANTID < my-tenant-ID>
    WORKFLOWAPP_AAD_CLIENTSECRET < meu-cliente-segredo>
  6. Quando terminar, selecione Guardar.

Armazenar e referenciar o ID do cliente e o segredo do cliente

Você pode armazenar o identificador do cliente e os segredos do cliente no seu recurso de aplicação lógica e, em seguida, fazer referência a esses valores na guia Variáveis de ambiente.

  1. No portal do Azure, vá para o recurso Logic App.

  2. No menu de recursos, em Configurações, selecione Segredos.

  3. Na barra de ferramentas, selecione Adicionar.

  4. No painel Adicionar segredo, forneça as seguintes informações para cada segredo e selecione Adicionar:

    Chave Valor
    WORKFLOWAPP_AAD_CLIENTID < ID do meu cliente>
    WORKFLOWAPP_AAD_CLIENTSECRET < meu-cliente-segredo>

Problemas conhecidos e resolução de problemas

A seção a seguir descreve os problemas atualmente conhecidos e as diretrizes para solucionar problemas comuns.

Problemas gerais de configuração do ambiente ou implantação do portal

Para ajudá-lo a diagnosticar e depurar problemas com a configuração do ambiente ou falhas de implantação do portal, você pode tentar executar o script dotroubleshoot.ps1 PowerShell fornecido para a opção de implantação híbrida.

  1. Vá para o repositório GitHub do Azure Logic Apps: scripts/pasta hybrid.

  2. Copie o arquivo troubleshoot.ps1 para uma pasta no mesmo local da implantação do aplicativo lógico.

  3. Execute o script usando o PowerShell.

Clusters Kubernetes habilitados pelo Arc

Em cenários raros, poderás notar um alto consumo de memória no teu cluster. Para evitar esse problema, aumente a capacidade ou adicione redimensionamento automático para pools de nós.

O host de função não está em execução

Depois de implantar seu aplicativo lógico padrão, confirme se o aplicativo está sendo executado corretamente.

  1. No portal do Azure, abra seu recurso de aplicativo lógico.

  2. No menu de recursos, selecione Visão geral.

  3. Na página Visão geral, ao lado do campo URL do aplicativo, selecione a URL do recurso.

    Se o seu aplicativo estiver sendo executado corretamente, uma janela do navegador será aberta e mostrará a seguinte mensagem:

    A captura de tela mostra o navegador e o aplicativo lógico em execução como um site.

    Caso contrário, se a sua aplicação tiver alguma falha, verifique se os seus pods AKS estão a funcionar corretamente. No Windows PowerShell, execute os seguintes comandos:

    az aks get-credentials {resource-group-name} --name {aks-cluster-name} --admin
    kubectl get ns
    kubectl get pods -n logicapps-aca-ns
    kubectl describe pod {logic-app-pod-name} -n logicapps-aca-ns 
    

    Para obter mais informações, veja a seguinte documentação:

O cluster não tem nós suficientes

Se você executou o comando anterior e recebe um aviso semelhante ao exemplo a seguir, seu cluster não tem nós suficientes para processamento:

Warning: FailedScheduling  4m52s (x29 over 46m)  default-scheduler  0/2 nodes are available: 2 Too many pods. preemption: 0/2 nodes are available: 2 No preemption victims found for incoming pod.

Para aumentar o número de nós e configurar o dimensionamento automático, siga estas etapas:

  1. No portal do Azure, vá para sua instância de serviço do Kubernetes.

  2. No menu de instâncias, em Configurações, selecione Pools de nós.

  3. Na barra de ferramentas da página Ferramentas do Nó, selecione + Adicionar pool de nós.

Para obter mais informações, veja a seguinte documentação:

Driver CSI (SMB Container Storage Interface) não instalado

Depois de executar o comando anterior kubectl describe pod , se o seguinte aviso aparecer, confirme se o driver CSI para seu compartilhamento de arquivos SMB está instalado corretamente:

Warning FailedScheduling 5m16s (x2 over 5m27s)  default-scheduler 0/14 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/14 nodes are available: 14 Preemption is not helpful for scheduling.

Normal NotTriggerScaleUp 9m49s (x31 over 14m) cluster-autoscaler pod didn't trigger scale-up: 3 pod has unbound immediate PersistentVolumeClaims

Para confirmar, a partir do Windows PowerShell, execute os seguintes comandos:

kubectl get csidrivers

Se a lista de resultados exibida não incluir smb.csi.k8s.io, em um prompt de comando do Windows, execute o seguinte comando:

helm repo add csi-driver-smb
helm repo update helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0

Para verificar o status dos pods do driver CSI SMB, no prompt de comando do Windows, execute o seguinte comando:

kubectl --namespace=kube-system get pods --selector="app.kubernetes.io/name=csi-driver-smb" --watch

Para obter mais informações, consulte CSI (Container Storage Interface) drivers no Serviço Kubernetes do Azure (AKS).