Ligações Híbridas do Serviço de Aplicações do Azure

As Ligações Híbridas são um serviço no Azure e uma funcionalidade no Serviço de Aplicações do Azure. Como um serviço, tem utilizações e capacidades para além das que são utilizadas no Serviço de Aplicações. Para saber mais sobre as Ligações Híbridas e a respetiva utilização fora Serviço de Aplicações, veja Ligações Híbridas do Azure Relay.

Dentro de Serviço de Aplicações, as Ligações Híbridas podem ser utilizadas para aceder aos recursos da aplicação em qualquer rede que possa fazer chamadas de saída para o Azure através da porta 443. As Ligações Híbridas fornecem acesso da sua aplicação a um ponto final TCP e não permitem uma nova forma de aceder à sua aplicação. Conforme utilizado no Serviço de Aplicações, cada Ligação Híbrida está correlacionada com uma única combinação de porta e anfitrião TCP. Isto permite que as suas aplicações acedam a recursos em qualquer SO, desde que seja um ponto final TCP. A funcionalidade Ligações Híbridas não sabe nem se importa com o protocolo da aplicação ou com o que está a aceder. Fornece simplesmente acesso à rede.

Como funciona

As Ligações Híbridas requerem a implementação de um agente de reencaminhamento, onde pode chegar ao ponto final pretendido, bem como ao Azure. O agente de reencaminhamento, Gestor de Ligações Híbridas (HCM), chama o Reencaminhamento do Azure através da porta 443. A partir do site da aplicação Web, a infraestrutura de Serviço de Aplicações também se liga ao Reencaminhamento do Azure em nome da sua aplicação. Através das ligações associadas, a sua aplicação consegue aceder ao ponto final pretendido. A ligação utiliza o TLS 1.2 para chaves de assinatura de acesso partilhado e segurança (SAS) para autenticação e autorização.

Diagrama do fluxo de alto nível da Ligação Híbrida

Quando a aplicação faz um pedido DNS que corresponde a um ponto final de Ligação Híbrida configurado, o tráfego TCP de saída será redirecionado através da Ligação Híbrida.

Nota

Isto significa que deve tentar utilizar sempre um nome DNS para a sua Ligação Híbrida. Alguns softwares de cliente não fazem uma pesquisa DNS se o ponto final utilizar um endereço IP.

benefícios da Ligação Híbrida Serviço de Aplicações

Existem vários benefícios para a capacidade de Ligações Híbridas, incluindo:

  • As aplicações podem aceder a sistemas e serviços no local de forma segura.
  • A funcionalidade não requer um ponto final acessível à Internet.
  • É rápido e fácil de configurar. Não são necessários gateways.
  • Cada Ligação Híbrida corresponde a uma única combinação host:port, útil para segurança.
  • Normalmente, não requer buracos na firewall. As ligações são todas de saída através de portas Web padrão.
  • Uma vez que a funcionalidade é ao nível da rede, é agnóstica ao idioma utilizado pela sua aplicação e à tecnologia utilizada pelo ponto final.
  • Pode ser utilizado para fornecer acesso em várias redes a partir de uma única aplicação.
  • É suportado na DISPONIBILIDADE para aplicações Windows e aplicações Linux. Não é suportado para contentores personalizados do Windows.

Coisas que não pode fazer com Ligações Híbridas

As coisas que não pode fazer com Ligações Híbridas incluem:

  • Montar uma unidade.
  • Utilize o UDP.
  • Aceda a serviços baseados em TCP que utilizam portas dinâmicas, como o Modo Passivo de FTP ou o Modo Passivo Expandido.
  • Suporte LDAP, porque pode exigir UDP.
  • Suporte para o Active Directory, porque não pode associar um domínio a uma função de trabalho Serviço de Aplicações.

Adicionar e Criar Ligações Híbridas na sua aplicação

Para criar uma Ligação Híbrida, aceda ao portal do Azure e selecione a sua aplicação. Selecione Rede Configurar>os pontos finais da Ligação Híbrida. Aqui, pode ver as Ligações Híbridas que estão configuradas para a sua aplicação.

Captura de ecrã da lista de Ligações Híbridas

Para adicionar uma nova Ligação Híbrida, selecione [+] Adicionar ligação híbrida. Verá uma lista das Ligações Híbridas que já criou. Para adicionar uma ou mais delas à sua aplicação, selecione as que pretende e, em seguida, selecione Adicionar Ligação Híbrida selecionada.

Captura de ecrã do portal de Ligação Híbrida

Se quiser criar uma nova Ligação Híbrida, selecione Criar nova ligação híbrida. Especifique:

  • Nome da Ligação Híbrida.
  • Nome do anfitrião do ponto final.
  • Porta de ponto final.
  • Espaço de nomes do Service Bus que pretende utilizar.

Captura de ecrã da caixa de diálogo Criar nova ligação híbrida

Cada Ligação Híbrida está associada a um espaço de nomes do Service Bus e cada espaço de nomes do Service Bus está numa região do Azure. É importante tentar utilizar um espaço de nomes do Service Bus na mesma região que a sua aplicação, para evitar latência induzida pela rede.

Se quiser remover a Ligação Híbrida da sua aplicação, clique com o botão direito do rato na mesma e selecione Desligar.

Quando uma Ligação Híbrida é adicionada à sua aplicação, pode ver os detalhes da mesma simplesmente ao selecioná-la.

Captura de ecrã a mostrar os detalhes das ligações híbridas

Criar uma Ligação Híbrida no portal do Reencaminhamento do Azure

Além da experiência do portal a partir da sua aplicação, pode criar Ligações Híbridas a partir do portal do Reencaminhamento do Azure. Para que uma Ligação Híbrida seja utilizada por Serviço de Aplicações, tem de:

  • Exigir autorização de cliente.
  • Ter um item de metadados, com o nome ponto final, que contém uma combinação host:port como o valor.

Ligações Híbridas e planos de Serviço de Aplicações

Serviço de Aplicações As Ligações Híbridas só estão disponíveis em SKUs de preços Básico, Standard, Premium e Isolado. As Ligações Híbridas não estão disponíveis para aplicações de funções em Planos de consumo. Existem limites associados ao plano de preços.

Plano de preços Número de Ligações Híbridas utilizáveis no plano
Básica 5 por plano
Standard 25 por plano
Premium (v1-v3) 220 por aplicação
Isolado (v1-v2) 220 por aplicação

A IU do plano Serviço de Aplicações mostra quantas Ligações Híbridas estão a ser utilizadas e em que aplicações.

Captura de ecrã das propriedades do plano Serviço de Aplicações

Selecione a Ligação Híbrida para ver os detalhes. Pode ver todas as informações que viu na vista da aplicação. Também pode ver quantas outras aplicações no mesmo plano estão a utilizar essa Ligação Híbrida.

Existe um limite para o número de pontos finais de Ligação Híbrida que podem ser utilizados num plano de Serviço de Aplicações. Cada Ligação Híbrida utilizada, no entanto, pode ser utilizada em qualquer número de aplicações nesse plano. Por exemplo, uma única Ligação Híbrida que é utilizada em cinco aplicações separadas num plano de Serviço de Aplicações conta como uma Ligação Híbrida.

Preços

Além de existir um requisito de SKU do plano Serviço de Aplicações, existe um custo adicional para a utilização de Ligações Híbridas. Existe um custo para cada serviço de escuta utilizado por uma Ligação Híbrida. O serviço de escuta é o Gestor de Ligações Híbridas. Se tivesse cinco Ligações Híbridas suportadas por dois Gestores de Ligação Híbrida, seriam 10 serviços de escuta. Para obter mais informações, veja Preços do Service Bus.

Gestor de Ligações Híbridas

A funcionalidade Ligações Híbridas requer um agente de reencaminhamento na rede que aloja o ponto final da Ligação Híbrida. Esse agente de reencaminhamento chama-se Gestor de Ligações Híbridas (HCM). Para transferir o HCM, a partir da sua aplicação no portal do Azure, selecione Rede>Configurar os pontos finais da Ligação Híbrida.

Esta ferramenta é executada no Windows Server 2012 e posterior. O HCM é executado como um serviço e liga a saída ao Reencaminhamento do Azure na porta 443.

Depois de instalar o HCM, pode executar HybridConnectionManagerUi.exe para utilizar a IU da ferramenta. Este ficheiro está no diretório de instalação Gestor de Ligações Híbridas. No Windows 10, também pode procurar Gestor de Ligações Híbridas IU na sua caixa de pesquisa.

Captura de ecrã do Gestor de Ligações Híbridas

Quando inicia a IU do HCM, a primeira coisa que vê é uma tabela que lista todas as Ligações Híbridas que estão configuradas com esta instância do HCM. Se quiser efetuar alterações, primeiro autentique-se com o Azure.

Para adicionar uma ou mais Ligações Híbridas ao HCM:

  1. Inicie a IU do HCM.

  2. Selecione Adicionar uma nova Ligação Híbrida. Captura de ecrã a mostrar a opção Configurar Novas Ligações Híbridas

  3. Inicie sessão com a sua conta do Azure para disponibilizar as Suas Ligações Híbridas com as suas subscrições. O HCM não continua a utilizar a sua conta do Azure para além disso.

  4. Escolha uma subscrição.

  5. Selecione as Ligações Híbridas que pretende que o HCM reencaminhar. Captura de ecrã das Ligações Híbridas

  6. Selecione Guardar.

Agora pode ver as Ligações Híbridas que adicionou. Também pode selecionar a Ligação Híbrida configurada para ver os detalhes.

Captura de ecrã dos Detalhes da Ligação Híbrida

Para suportar as Ligações Híbridas com as qual está configurado, o HCM requer:

  • Acesso TCP ao Azure através da porta 443.
  • Acesso TCP ao ponto final da Ligação Híbrida.
  • A capacidade de fazer pesquisas de DNS no anfitrião do ponto final e no espaço de nomes do Service Bus. Por outras palavras, o nome do anfitrião na ligação de reencaminhamento do Azure deve ser resolvível a partir do computador que aloja o HCM.

Nota

O Azure Relay depende de Sockets Web para conectividade. Esta capacidade só está disponível em Windows Server 2012 ou posterior. Por isso, o HCM não é suportado em nada antes de Windows Server 2012.

Redundância

Cada HCM pode suportar várias Ligações Híbridas. Além disso, qualquer Ligação Híbrida especificada pode ser suportada por vários HCMs. O comportamento predefinido é encaminhar o tráfego através dos HCMs configurados para qualquer ponto final especificado. Se quiser uma elevada disponibilidade nas Suas Ligações Híbridas a partir da sua rede, execute vários HCMs em computadores separados. O algoritmo de distribuição de carga utilizado pelo serviço reencaminhamento para distribuir o tráfego para os HCMs é uma atribuição aleatória.

Adicionar manualmente uma Ligação Híbrida

Para permitir que alguém fora da sua subscrição aloje uma instância do HCM para uma determinada Ligação Híbrida, partilhe a cadeia de ligação do gateway para a Ligação Híbrida com a mesma. Pode ver a cadeia de ligação do gateway nas propriedades da Ligação Híbrida no portal do Azure. Para utilizar essa cadeia, selecione Introduzir Manualmente no HCM e cole na cadeia de ligação do gateway.

Adicionar manualmente uma Ligação Híbrida

Atualizar

Existem atualizações periódicas ao Gestor de Ligações Híbridas para corrigir problemas ou fornecer melhorias. Quando as atualizações forem lançadas, será apresentado um pop-up na IU do HCM. A aplicação da atualização aplicará as alterações e reiniciará o HCM.

Adicionar uma Ligação Híbrida à sua aplicação através de programação

Existe suporte da CLI do Azure para Ligações Híbridas. Os comandos fornecidos operam ao nível da aplicação e do plano Serviço de Aplicações. Os comandos ao nível da aplicação são:

az webapp hybrid-connection

Group
    az webapp hybrid-connection : Methods that list, add and remove hybrid-connections from webapps.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    add    : Add a hybrid-connection to a webapp.
    list   : List the hybrid-connections on a webapp.
    remove : Remove a hybrid-connection from a webapp.

Os comandos do plano de Serviço de Aplicações permitem-lhe definir a chave que uma determinada ligação híbrida utilizará. Existem duas chaves definidas em cada Ligação Híbrida, uma primária e uma secundária. Pode optar por utilizar a chave primária ou secundária com os comandos abaixo. Isto permite-lhe mudar de teclas para quando pretender regenerar periodicamente as chaves.

az appservice hybrid-connection --help

Group
    az appservice hybrid-connection : A method that sets the key a hybrid-connection uses.
        This command group is in preview. It may be changed/removed in a future release.
Commands:
    set-key : Set the key that all apps in an appservice plan use to connect to the hybrid-
                connections in that appservice plan.

Proteger as Suas Ligações Híbridas

Uma Ligação Híbrida existente pode ser adicionada a outras Serviço de Aplicações Aplicações Web por qualquer utilizador que tenha permissões suficientes no Reencaminhamento de Azure Service Bus subjacente. Isto significa que, se tiver de impedir que outras pessoas reutilizem essa mesma Ligação Híbrida (por exemplo, quando o recurso de destino é um serviço que não tem quaisquer medidas de segurança adicionais implementadas para impedir o acesso não autorizado), tem de bloquear o acesso ao reencaminhamento de Azure Service Bus.

Qualquer pessoa com Reader acesso ao Reencaminhamento poderá ver a Ligação Híbrida ao tentar adicioná-la à respetiva Aplicação Web no portal do Azure, mas não poderá adicioná-la porque não tem permissões para obter a cadeia de ligação utilizada para estabelecer a ligação de reencaminhamento. Para adicionar com êxito a Ligação Híbrida, têm de ter a listKeys permissão (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). A Contributor função ou qualquer outra função que inclua esta permissão no Reencaminhamento permitirá aos utilizadores utilizar a Ligação Híbrida e adicioná-la aos seus próprios Aplicações Web.

Gerir as suas Ligações Híbridas

Se precisar de alterar o anfitrião de ponto final ou a porta de uma Ligação Híbrida, siga os passos abaixo:

  1. Remova a Ligação Híbrida do Gestor de Ligações Híbridas no computador local, selecionando a ligação e selecionando Remover no canto superior esquerdo da janela Detalhes da Ligação Híbrida.
  2. Desligue a Ligação Híbrida do seu Serviço de Aplicações ao navegar para Ligações Híbridas na página rede do Serviço de Aplicações.
  3. Navegue para o Reencaminhamento do ponto final que precisa de atualizar e selecione Ligações Híbridas em Entidades no menu de navegação esquerdo.
  4. Selecione a Ligação Híbrida que pretende atualizar e selecione Propriedades em Definições no menu de navegação esquerdo.
  5. Faça as suas alterações e prima Guardar alterações na parte superior.
  6. Regresse às definições de Ligações Híbridas do seu Serviço de Aplicações e adicione novamente a Ligação Híbrida. Certifique-se de que o ponto final está atualizado conforme pretendido. Se não vir a Ligação Híbrida na lista, atualize dentro de 5 a 10 minutos.
  7. Regresse à Gestor de Ligações Híbridas no computador local e adicione novamente a ligação.

Resolução de problemas

O estado "Ligado" significa que pelo menos um HCM está configurado com essa Ligação Híbrida e consegue aceder ao Azure. Se o estado da Ligação Híbrida não indicar Ligado, a Ligação Híbrida não está configurada em nenhum HCM que tenha acesso ao Azure. Quando o HCM mostrar Não Ligado , existem alguns aspetos a verificar:

  • O anfitrião tem acesso de saída ao Azure na porta 443? Pode testar a partir do anfitrião HCM com o comando do PowerShell Test-NetConnection Destination -P Port

  • O seu HCM está potencialmente em mau estado? Tente reiniciar o serviço local "Azure Gestor de Ligações Híbridas Service".

  • Tem software em conflito instalado? Gestor de Ligações Híbridas não pode coexistir com o Biztalk Gestor de Ligações Híbridas ou o Service Bus para Windows Server. Assim, ao instalar o HCM, todas as versões destes pacotes devem ser removidas primeiro.

Se o seu estado indicar Ligado , mas a aplicação não conseguir aceder ao ponto final, :

  • certifique-se de que está a utilizar um nome DNS na Sua Ligação Híbrida. Se utilizar um endereço IP, a pesquisa de DNS do cliente necessária poderá não acontecer. Se o cliente em execução na sua aplicação Web não fizer uma pesquisa DNS, a Ligação Híbrida não funcionará
  • verifique se o nome DNS utilizado na Ligação Híbrida pode ser resolvido a partir do anfitrião do HCM. Verifique a resolução com o nslookup EndpointDNSname , em que EndpointDNSname corresponde exatamente ao que é utilizado na definição de Ligação Híbrida.
  • testar o acesso do anfitrião do HCM ao ponto final com o comando do PowerShell Test-NetConnection EndpointDNSname -P Porta Se não conseguir aceder ao ponto final a partir do anfitrião HCM, verifique as firewalls entre os dois anfitriões, incluindo firewalls baseadas no anfitrião no anfitrião de destino.
  • Se estiver a utilizar Serviço de Aplicações no Linux, certifique-se de que não está a utilizar "localhost" como anfitrião de ponto final. Em vez disso, utilize o nome do computador se estiver a tentar criar uma ligação com um recurso no seu computador local.

No Serviço de Aplicações, a ferramenta de linha de comandos de tcpping pode ser invocada a partir da consola das Ferramentas Avançadas (Kudu). Esta ferramenta pode indicar-lhe se tem acesso a um ponto final TCP, mas não lhe indica se tem acesso a um ponto final de Ligação Híbrida. Quando utiliza a ferramenta na consola do num ponto final de Ligação Híbrida, apenas confirma que utiliza uma combinação host:port.

Se tiver um cliente de linha de comandos para o ponto final, pode testar a conectividade a partir da consola da aplicação. Por exemplo, pode testar o acesso aos pontos finais do servidor Web com o curl.