Compartilhar via


Criar fluxos de trabalho do aplicativo lógico Standard para implantação híbrida em sua própria infraestrutura

Aplica-se a: Aplicativos Lógicos do Azure (Standard)

Para cenários em que você precisa usar, controlar e gerenciar sua própria infraestrutura, é possível criar fluxos de trabalho de aplicativo lógico Standard 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, o fluxo de trabalho do aplicativo lógico Standard é alimentado pelo runtime dos Aplicativos Lógicos do Azure, que é hospedado no local como parte de uma extensão dos 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 Standard são hospedados e executados em um ambiente parcialmente conectado, confira Configurar requisitos de infraestrutura para implantação híbrida de aplicativos lógicos Standard.

Este guia de instruções mostra como criar e implantar um fluxo de trabalho de aplicativo lógico Standard 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 com suporte A implantação híbrida está disponível no momento e tem suporte apenas nas seguintes regiões do Azure:

- EUA Central
-Ásia Oriental
- Leste dos EUA
- Centro-Norte dos EUA
-Sudeste Asiático
- Suécia Central
- Sul do Reino Unido
- Europa Ocidental
- Oeste dos EUA
Registro em log de dados com um runtime desconectado No modo parcialmente conectado, o tempo de execução dos Azure Logic Apps pode permanecer desconectado por até 24 horas e ainda reter logs de dados. No entanto, qualquer dado de registro em log após essa duração pode ser perdido.
Capacidades não suportadas disponíveis nos Aplicativos Lógicos do Azure de instância única (Standard) e nos serviços Azure relacionados. - Espaços de implantação

– Acompanhamento de processos do Azure Business

– Integridade do recurso em Suporte + solução de problemas no portal do Azure

– Autenticação de identidade gerenciada para operações de conexão. Atualmente, os clusters Kubernetes habilitados para 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ção, 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 Standard. Se você usar gatilhos baseados em função, nas variáveis de ambiente do aplicativo lógico Standard no portal do Azure ou no arquivo local.settings.json do projeto de aplicativo lógico no Visual Studio Code, adicione a configuração de aplicativo chamada AzureWebJobsStorage e forneça a cadeia de conexão da conta de armazenamento:

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

Pré-requisitos

  • Uma conta e uma assinatura do Azure. Se você não tem uma assinatura, inscreva-se em uma conta gratuita do Azure.

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

    • Um cluster do Serviço de Kubernetes do Azure conectado ao Azure Arc
    • Um banco de dados SQL para armazenar localmente o histórico de execução de fluxo de trabalho, entradas e saídas para processamento
    • Um compartilhamento de arquivos SMB (protocolo SMB) para armazenar localmente artefatos usados por seus fluxos de trabalho

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

  • Para trabalhar no Visual Studio Code, você precisa da extensão de Aplicativos Lógicos do Azure (Standard) para o Visual Studio Code com os pré-requisitos relacionados.

    Dica

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

Criar seu aplicativo lógico Standard

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

  1. Na caixa de pesquisa do portal do Microsoft 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 Standard, selecione Híbrido.

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

    Propriedade Obrigatório Valor Descrição
    Assinatura Sim < Nome da assinatura do Azure> Seu nome da assinatura do Azure.

    Este exemplo usa Pagamento Conforme o Uso.
    Grupo de recursos Sim < Azure-resource-group-name> O grupo de recursos do Azure onde você cria seu aplicativo híbrido e os recursos relacionados. O nome desse recurso precisa ser exclusivo em todas as regiões e pode conter somente letras, números, hífens (-), sublinhados (_), parênteses (()) e pontos (.).

    Esse exemplo cria um grupo de recursos chamado Hybrid-RG.
    Nome do Aplicativo Lógico Sim < logic-app-name> Seu nome de aplicativo lógico, que deve ser exclusivo em todas as regiões e pode conter apenas letras minúsculas, números ou hifens (-).

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

    Este exemplo usa Leste dos EUA.
    Ambiente conectado de aplicativo de contêiner Sim < connected-environment-name> O cluster do Kubernetes habilitado para Arc que você criou como o ambiente de implantação para seu aplicativo lógico. Para obter mais informações, confira Tutorial: Habilitar Aplicativos de Contêiner do Azure no Kubernetes habilitado para Azure Arc.
    Definir as configurações de armazenamento Sim Habilitado ou desabilitado Continua para a guia Armazenamento na página Criar Aplicativo Lógico (Híbrido).

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

    Captura de tela que 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 Obrigató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, confira Criar provedor de armazenamento do SQL Server.
    Nome do host Sim < nome-do-host-de-compartilhamento-de-arquivo> O nome do host para o compartilhamento de arquivos SMB.
    Caminho do compartilhamento de arquivo Sim < caminho-de-compartilhamento-de-arquivos> O caminho do compartilhamento de arquivo para o compartilhamento de arquivo SMB.
    Nome de usuário Sim <<> O nome de usuário do compartilhamento de arquivo SMB.
    Senha Sim < file-share-password> A senha do compartilhamento de arquivo SMB.
  6. Quando você terminar, selecione Examinar + 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 for aberto, crie seu fluxo de trabalho adicionando um gatilho e ações.

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

Controle de versão para implantações híbridas

Um aplicativo lógico Standard com a opção de hospedagem híbrida cria automaticamente uma nova revisão, que é um conceito de controle de versão dos Aplicativos de Contêiner do Azure, sempre que você salva alterações em um fluxo de trabalho filho. Essa revisão pode levar algum tempo para ser ativada, o que significa que, depois de salvar as alterações, talvez seja necessário aguardar alguns instantes antes de testar o fluxo de trabalho.

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

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

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

Para saber mais, consulte os recursos a seguir:

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 Standard e, em seguida, exibir os dados coletados depois que o fluxo de trabalho concluir uma execução. Essa funcionalidade oferece uma experiência mais simples para obter insights 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 focam as métricas de desempenho em tempo real que fornecem insights sobre a integridade e o comportamento do sistema.

Para cenários locais e parcialmente conectados, você pode configurar seu aplicativo lógico Standard para emitir telemetria com base nas configurações de aplicativo com suporte do 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 Standard nos Aplicativos Lógicos do Azure.

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

Você pode editar as configurações de vCPU e memória para o recurso de aplicativo lógico Standard. Essas alterações afetam o custo de cobrança das cargas de trabalho do aplicativo lógico Standard.

  1. No portal do Azure, abra o recurso do 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 do contêiner, altere os seguintes valores para adequá-los 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 de vCPU a serem atribuídos à 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 esse aplicativo lógico é limitado a dois núcleos.
    Memória - Padrão: 2
    - Mínimo: 0,1
    - Máximo: 4
    Determina a capacidade de memória em gibibytes (GiB) a ser atribuída à instância do contêiner. Você pode aumentar esse valor em 0,1 GiB até o 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 Salvar.

Alterar a escala de réplicas no portal do Azure

Você pode controlar a escala automática para o intervalo de réplicas que são implantadas em resposta a um evento de gatilho. Uma réplica é uma nova instância de uma versão ou revisão de recurso de aplicativo lógico. Para alterar os valores mínimo e máximo desse intervalo, você pode modificar as regras de escala para determinar os tipos de eventos que disparam a escala. Para saber mais, confira Definir regras de escala nos Aplicativos de Contêiner do Azure.

  1. No portal do Azure, abra o recurso do 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
    Mínimo de réplicas - Padrão: 1
    - Mínimo: 0
    - Máximo: 1000
    Determina o número mínimo de réplicas permitidas para a revisão em um determinado 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 em um determinado momento. Esse valor substitui as regras de escala.
  4. Quando terminar, selecione Salvar.

Controlar 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 a 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. Ao habilitar a entrada, não é necessário criar um Azure Load Balancer, um endereço IP público ou qualquer outro recurso do Azure para habilitar solicitações HTTP ou tráfego TCP de entrada. Para obter mais informações, confira Entrada em Aplicativos de Contêiner.

Observação

Ao habilitar a entrada, todo o tráfego será direcionado para sua revisão mais recente por padrão. Vá para a página Gerenciamento de Revisão para alterar as configurações de tráfego.

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

  2. Na página Entrada, ao lado de Entrada, selecione a caixa Habilitada.

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

    Para saber mais, confira a seguinte documentação:

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

Para autenticar conexões de API gerenciadas em fluxos de trabalho de aplicativos lógicos Standard hospedados em clusters do Kubernetes habilitados para Azure Arc, crie 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 no seu recurso de aplicativo lógico Standard para autenticar suas conexões de API.

Criar um registro de aplicativo com o Microsoft Entra ID

portal do Azure

  1. No portal do Azure, siga o 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, localize seu novo registro de aplicativo no portal.

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

    • ID do Cliente
    • ID do locatário
    • Segredo do cliente
  4. Para a ID do objeto, siga estas etapas:

    1. Na página Visão Geral, selecione o link Aplicativo gerenciado no 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 é aberta, copie e salve o valor da ID do objeto:

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

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

CLI do Azure

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

  2. Para examinar todas as propriedades, use o comandoaz 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 do Cliente
    • ID de objeto
    • ID do locatário
    • Segredo do cliente
  4. Agora, adicione os valores salvos como variáveis de ambiente ao recurso de aplicativo lógico Standard.

Adicionar valores de registro de aplicativo ao aplicativo lógico Standard

  1. No portal do Azure, acesse seu recurso de aplicativo lógico 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 as configurações do aplicativo e do host, confira Editar configurações do aplicativo e do 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 < my-client-ID>
    WORKFLOWAPP_AAD_OBJECTID < my-object-ID>
    WORKFLOWAPP_AAD_TENANTID < my-tenant-ID>
    WORKFLOWAPP_AAD_CLIENTSECRET < my-client-secret>
  6. Quando terminar, selecione Salvar.

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

Você pode armazenar a ID do cliente e os valores de segredo do cliente em seu recurso de aplicativo lógico como segredos e, em seguida, referenciar esses valores na guia Variáveis de ambiente.

  1. No portal do Azure, acesse o recurso Aplicativo lógico.

  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 < my-client-ID>
    WORKFLOWAPP_AAD_CLIENTSECRET < my-client-secret>

Solução de problemas e problemas conhecidos

A seção a seguir descreve problemas e diretrizes conhecidos no momento para solucionar problemas comuns.

Problemas gerais de configuração de 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 troubleshoot.ps1 PowerShell fornecido para a opção de implantação híbrida.

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

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

  3. Execute o script usando o PowerShell.

Cluster do Kubernetes habilitados para Arc

Em cenários raros, você pode notar um volume de memória alto em seu cluster. Para evitar esse problema, expanda ou adicione escala automática para pools de nós.

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

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

  1. Abra o recurso de aplicativo lógico no portal do Azure.

  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 aplicativo estiver sendo executado corretamente, uma janela do navegador será aberta e mostrará a seguinte mensagem:

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

    Caso contrário, se o aplicativo tiver alguma falha, verifique se os pods do AKS estão sendo executados 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 saber mais, confira 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, o 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 a escala automática, siga estas etapas:

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

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

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

Para saber mais, confira a seguinte documentação:

Driver CSI (Interface de Armazenamento de Contêiner SMB) não instalado

Depois de executar o comando anterior kubectl describe pod, se o seguinte aviso for exibido, confirme se o driver CSI do 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, no 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 SMB do CSI, 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, confira Drivers do CSI (Interface de Armazenamento de Contêiner) no AKS (Serviço de Kubernetes do Azure).