Criar fluxos de trabalho de aplicativos lógicos padrão para implantação híbrida em sua própria infraestrutura (Visualização)
Aplica-se a: Aplicativos Lógicos do Azure (Padrão)
Nota
Esta funcionalidade está em pré-visualização, incorre em encargos de utilização e está sujeita aos Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure.
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 implantação híbrida para aplicativos lógicos Standard está disponível e tem suporte apenas nas mesmas regiões que os Aplicativos de Contêiner do Azure no AKS habilitado para Azure Arc.
Os seguintes recursos atualmente não estão disponíveis nesta versão de visualização:
- Autenticação de identidade gerida
- Acesso SAP através do conector integrado SAP
- Código personalizado C# com .NET Framework e a ação interna chamada Chamar função local neste aplicativo lógico
- XSLT 1.0 para código personalizado
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.
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 você usar qualquer gatilho baseado em função, nas variáveis de ambiente do seu aplicativo lógico padrão no portal do Azure ou no arquivo de local.settings.json do seu projeto de aplicativo lógico no Visual Studio Code, adicione a seguinte configuração de aplicativo e forneça sua cadeia de conexão de conta de armazenamento:
"Values": { "name": "AzureWebJobsStorage", "value": "{storage-account-connection-string}" }
Pré-requisitos
Uma conta e 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
- Um compartilhamento de arquivos SMB (Server Message Block) para armazenar localmente artefatos usados por seus fluxos de trabalho
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
Depois de atender aos pré-requisitos, crie seu aplicativo lógico padrão para implantação híbrida seguindo estas etapas:
Na caixa de pesquisa do portal do Azure, insira aplicativos lógicos e selecione Aplicativos lógicos.
Na barra de ferramentas da página Aplicativos lógicos , selecione Adicionar.
Na página Criar Aplicativo Lógico, em Padrão, selecione Híbrido.
Na página Criar Aplicativo Lógico (Híbrido), forneça as seguintes informações:
Property Necessário Valor Description Subscrição Sim <Azure-subscrição-nome> Seu nome de assinatura do Azure.
Este exemplo usa Pay-As-You-Go.Grupo de Recursos Sim <Azure-recurso-grupo-nome> 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: Habilitar aplicativos de contêiner do Azure no Kubernetes habilitado para Azure Arc. Definir definições de armazenamento Sim Ativado ou desativado Continua na guia Armazenamento na página Criar Aplicativo Lógico (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:
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:
Property Necessário Valor Description 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. Quando terminar, selecione Rever + criar. Confirme as informações fornecidas e selecione Criar.
Depois que o Azure concluir a implantação, selecione Ir para o recurso.
Nota
Existem vários problemas conhecidos no portal em torno de aplicativos lógicos padrão que usam a opção de hospedagem híbrida. Esses aplicativos lógicos aparecem com o rótulo Aplicativo de Contêiner, que difere dos aplicativos lógicos padrão que usam a opção de hospedagem Plano de Serviço de Fluxo de Trabalho ou Ambiente do Serviço de Aplicativo V3. Para obter mais informações, consulte Problemas conhecidos e solução de problemas - Portal do Azure.
No portal do Azure, no menu de recursos, em Fluxos de trabalho, selecione Fluxos de trabalho.
Na barra de ferramentas da página Fluxos de trabalho, selecione Adicionar para adicionar um fluxo de trabalho vazio com ou sem monitoração de estado.
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.
Nota
Um aplicativo lógico padrão 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 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:
No menu de recursos, em Revisões e selecione Revisões e réplicas.
Na página Revisões e réplicas, na guia Revisões ativas, verifique se uma nova revisão aparece na lista.
Para obter mais informações, consulte os seguintes recursos:
Alterar a alocação de CPU e memória no portal do Azure
Para editar as configurações de CPU e memória do recurso do aplicativo lógico padrão, siga estas etapas:
No portal do Azure, abra seu recurso de aplicativo lógico padrão.
No menu de recursos, em Configurações, selecione Contêineres.
Na barra de ferramentas da página Contêineres, selecione Editar e implantar, que abre o painel Editar um contêiner.
Na guia Propriedades, em Alocação de recursos de contêiner, altere os seguintes valores para se adequar ao seu cenário:
Property valor Description Núcleos de CPU - Padrão: 1
- Mínimo: 0,25
- Máximo: 2Determina os núcleos de CPU 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: 4Determina a capacidade de memória em gibibytes (Gi) para atribuir à sua instância de contêiner. Você pode aumentar esse valor em 0,1 Gi até o valor máximo. A capacidade total em todas as instâncias de contêiner para este aplicativo lógico é limitada a 4 Gi. Quando terminar, selecione Guardar.
Alterar o dimensionamento de réplica no portal do Azure
Você pode controlar o dimensionamento automático 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 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.
No portal do Azure, abra seu recurso de aplicativo lógico padrão.
No menu de recursos, em Configurações, selecione Escala.
Na página Escala, em Configuração da regra de escala, altere os seguintes valores para se ajustar ao seu cenário:
Property valor Description Réplicas mínimas - Padrão: 1
- Mínimo: 0
- Máximo: 1000Determina 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: 1000Determina o número máximo de réplicas permitidas para a revisão a qualquer momento. Esse valor substitui as regras de escala. 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 Gestão de revisões para alterar as definições de tráfego.
No menu de recursos, em Configurações, selecione Ingressar.
Na página Ingresso, ao lado de Ingresso, selecione a caixa Habilitado.
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
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.
Após a conclusão da criação, encontre seu novo registro de aplicativo no portal.
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 de Inquilino do
- Segredo do cliente
Para a ID do objeto, execute estas etapas:
Na página Visão geral, selecione Aplicativo gerenciado no link do diretório local para o registro do aplicativo, conforme mostrado:
Na página que se abre, copie e salve o valor de ID do objeto:
Agora, adicione os valores salvos como variáveis de ambiente ao recurso do aplicativo lógico padrão.
CLI do Azure
Para criar o registro do aplicativo, use o comando az ad sp create.
Para rever todas as propriedades, use o comando az ad sp show.
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 de Inquilino do
- Segredo do cliente
Agora, adicione os valores salvos como variáveis de ambiente ao recurso do aplicativo lógico padrão.
Adicionar valores de registro de aplicativo ao seu aplicativo lógico padrão
No portal do Azure, vá para o recurso do aplicativo lógico Padrão.
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.
Na barra de ferramentas, selecione Editar e implantar.
No painel Editar um contêiner, selecione Variáveis de ambiente e, em seguida, selecione Adicionar.
Na tabela a seguir, adicione cada variável de ambiente com o valor especificado:
Variável de ambiente Value 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> Quando terminar, selecione Guardar.
Armazenar e referenciar o ID do cliente e o segredo do cliente
Você pode armazenar a ID do cliente e os valores secretos do cliente em seu recurso de aplicativo lógico como segredos e, em seguida, fazer referência a esses valores na guia Variáveis de ambiente.
No portal do Azure, vá para o recurso do aplicativo lógico.
No menu de recursos, em Configurações, selecione Segredos.
Na barra de ferramentas, selecione Adicionar.
No painel Adicionar segredo, forneça as seguintes informações para cada segredo e selecione Adicionar:
Key valor WORKFLOWAPP_AAD_CLIENTID <ID do meu cliente> WORKFLOWAPP_AAD_CLIENTSECRET <meu-cliente-segredo>
Problemas conhecidos e resolução de problemas
Portal do Azure
Seu aplicativo lógico padrão é implantado e aparece como um recurso de Aplicativos de Contêiner do Azure, mas o tipo aparece como Aplicativo Lógico (Híbrido).
O Azure inclui seu aplicativo lógico padrão na lista de recursos Aplicativos de contêiner, não na lista de recursos de aplicativos lógicos.
Seu ambiente conectado de Aplicativos de Contêiner do Azure lista seu aplicativo lógico padrão como tendo um Tipo de Aplicativo chamado Aplicativo Lógico Híbrido.
Para refletir as alterações no designer depois de salvar o fluxo de trabalho, talvez seja necessário atualizar ocasionalmente o designer.
Arc-enabled Kubernetes clusters
Em cenários raros, você pode notar um alto espaço de memória no cluster. Para evitar esse problema, dimensione ou adicione dimensionamento 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.
No portal do Azure, vá para o recurso de aplicativo de contêiner para seu aplicativo lógico.
No menu de recursos, selecione Visão geral.
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:
Caso contrário, se o seu aplicativo tiver alguma falha, verifique se seus pods 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 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:
No portal do Azure, vá para sua instância de serviço do Kubernetes.
No menu de instâncias, em Configurações, selecione Pools de nós.
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:
- Criar pools de nós para um cluster no Serviço Kubernetes do Azure (AKS)
- Gerenciar pools de nós para um cluster no Serviço Kubernetes do Azure (AKS)
- Visão geral do dimensionamento automático de cluster no Serviço Kubernetes do Azure (AKS)
- Usar o autoscaler de cluster no Serviço Kubernetes do Azure (AKS)
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
help 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 Drivers CSI (Container Storage Interface) no Serviço Kubernetes do Azure (AKS).