Conexões Híbridas do Serviço de Aplicativo do Azure

Conexões Híbridas é um serviço no Azure e uma funcionalidade no Serviço de Aplicativo do Azure. Como um serviço, ele tem uso e recursos além daqueles usados no Serviço de Aplicativo do Azure. Para saber mais sobre Conexões Híbridas e seu uso fora do Serviço de Aplicativo do Azure, confira Conexões Híbridas da Retransmissão do Azure.

No Serviço de Aplicativo, as Conexões Híbridas podem ser usadas para acessar recursos de aplicativo em qualquer rede que possa fazer chamadas de saída para o Azure pela porta 443. As Conexões Híbridas não habilitam uma nova maneira de acessar seu aplicativo, mas oferecem o acesso dele a um ponto de extremidade TCP. Conforme usado no Serviço de Aplicativo, cada conexão híbrida se correlaciona com uma única combinação de host e de porta TCP. Esse recurso permite que seus aplicativos acessem recursos em qualquer sistema operacional, desde que seja um ponto de extremidade TCP. O recurso Conexões Híbridas não sabe e nem se importa com o protocolo do aplicativo ou o que você está acessando. Ele apenas fornece acesso à rede.

Como ele funciona

As Conexões Híbridas exigem que um agente de retransmissão seja implantado onde ele possa alcançar o ponto de extremidade desejado e o Azure. O agente de retransmissão, Gerenciador de Conexões Híbridas (HCM), chama o Retransmissão do Azure pela porta 443. No site do aplicativo Web, a infraestrutura do Serviço de Aplicativo também se conecta Retransmissão do Azure em nome do seu aplicativo. Por meio das conexões unidas, seu aplicativo é capaz de acessar o ponto de extremidade desejado. A conexão usa o protocolo TLS 1.2 para segurança e as chaves de SAS (Assinatura de Acesso Compartilhado) para autenticação e autorização.

Diagram of Hybrid Connection high-level flow.

Quando seu aplicativo faz uma solicitação DNS que corresponde a um ponto de extremidade de Conexão Híbrida configurado, o tráfego TCP de saída é redirecionado por meio da Conexão Híbrida.

Observação

Isso significa que você deve tentar sempre usar um nome DNS para sua Conexão Híbrida. Se em vez disso o ponto de extremidade usar um endereço IP, alguns softwares cliente não farão uma pesquisa de DNS.

Benefícios da Conexão Híbrida do Serviço de Aplicativo

Há muitos benefícios para o recurso Conexões Híbridas, incluindo:

  • Os aplicativos podem acessar sistemas e serviços locais com segurança.
  • O recurso não requer um ponto de extremidade acessível pela Internet.
  • É rápido e fácil de configurar. Não precisa de gateways.
  • Cada Conexão Híbrida corresponde a uma única combinação de host:porta, que é útil para segurança.
  • Geralmente, ele não requer espaços do firewall. As conexões são todas de saídas por meio de portas padrão da Web.
  • Como o recurso está no nível da rede, ele abrange a linguagem usada pelo seu aplicativo e a tecnologia usada pelo ponto de extremidade.
  • Ele pode ser usado para fornecer acesso em várias redes de um único aplicativo.
  • Suportado no GA para aplicativos Windows e aplicativos Linux. Não há suporte para ele em contêineres personalizados do Windows.

Coisas que você não pode fazer com Conexões Híbridas

O que você não pode fazer com as Conexões Híbridas incluem:

  • Monte uma unidade.
  • Use UDP.
  • Acesse serviços baseados em TCP que usam portas dinâmicas, como o Modo Passivo FTP ou o Modo Passivo Estendido.
  • Suporte LDAP, porque pode exigir UDP.
  • Ofereça suporte ao Active Directory, porque você não pode ingressar no domínio de um trabalhador do Serviço de Aplicativo.

Adicionar e criar Conexões Híbridas em seu aplicativo

Para criar uma Conexão Híbrida, acesse o Portal do Azure e selecione seu aplicativo. Selecione Rede>Configurar seus pontos de extremidade de Conexão Híbrida. Aqui você pode ver as conexões híbridas que são configuradas para seu aplicativo.

Screenshot of Hybrid Connection list.

Para adicionar uma nova conexão híbrida, selecione [+] Adicionar conexão híbrida. Você verá uma lista das Conexões Híbridas que você já criou. Para adicionar uma ou mais delas ao seu aplicativo, selecione as que você deseja e selecione Adicionar Conexão Híbrida selecionada.

Screenshot of Hybrid Connection portal.

Se desejar criar uma nova Conexão Híbrida, clique em Criar nova conexão híbrida. Especifique:

  • Nome da Conexão híbrida.
  • Nome do host do ponto de extremidade.
  • Porta do ponto de extremidade.
  • O namespace do Barramento de Serviço que você deseja usar.

Screenshot of Create new hybrid connection dialog box.

Cada Conexão Híbrida está associada a um namespace do Barramento de Serviço e cada namespace do Barramento de Serviço está em uma região do Azure. É importante tentar usar um namespace do Barramento de Serviço na mesma região do seu aplicativo para evitar a latência de rede induzida.

Se você desejar remover sua Conexão Híbrida do seu aplicativo, clique com o botão direito do mouse nele e selecione Desconectar.

Depois que uma Conexão Híbrida é adicionada ao seu aplicativo, basta clicar nela para ver seus detalhes.

Screenshot of Hybrid connections details.

Criar uma Conexão Híbrida no portal da Retransmissão do Azure

Além da experiência do portal de dentro do seu aplicativo, você também pode criar Conexões Híbridas no portal da Retransmissão do Azure. Para uma Conexão Híbrida ser usada pelo Serviço de Aplicativo, ele deverá:

  • Exigir autorização do cliente.
  • Tenha um item de metadados e um ponto de extremidade nomeado que contenha uma combinação host:port como o valor.

Conexões Híbridas e Planos do Serviço de Aplicativo

As conexões híbridas do serviço de aplicativos estão disponíveis apenas nos SKUs de preços Básico, Padrão, Premium e Isolado. Conexões Híbridas não estão disponíveis para aplicativos de funções em planos de consumo. Há limites vinculados ao plano de preços.

Plano de preços Número de Conexões Híbridas utilizáveis no plano
Basic 5 por plano
Standard 25 por plano
Premium (v1-v3) 220 por aplicativo
Isolado (v1-v2) 220 por aplicativo

A UI do plano de serviço do aplicativo mostra quantas conexões híbridas estão sendo usadas e por quais aplicativos.

Screenshot of App Service plan properties.

Selecione a Conexão Híbrida para ver os detalhes. Você pode ver todas as informações exibidas no modo de exibição do aplicativo. Você também pode ver quantos outros aplicativos no mesmo plano estão usando essa Conexão Híbrida.

Há um limite no número de pontos de extremidade da Conexão Híbrida que podem ser usados em um Plano do Serviço de Aplicativo. Cada Conexão Híbrida usada, no entanto, pode ser usado em qualquer quantidade de aplicativos no plano. Por exemplo, uma única Conexão Híbrida usada em cinco aplicativos separados em um Plano do Serviço de Aplicativo conta como uma Conexão Híbrida.

Preços

Além de haver um requisito de SKU do plano do Serviço de Aplicativo, há um custo extra para usar as Conexões Híbridas. Há uma taxa para cada ouvinte usado por uma Conexão Híbrida. O ouvinte é o Gerenciador de Conexão híbrida. Se você tivesse cinco conexões híbridas suportadas por dois gerentes de conexão híbridos, seriam 10 ouvintes. Para obter mais informações, consulte preços do Barramento de Serviço.

Gerenciador de Conexão Híbrida

O recurso Conexões Híbridas exige um agente de retransmissão na rede que hospeda o seu ponto de extremidade de Conexão Híbrida. Esse agente de retransmissão é chamado de HCM (Gerenciador de Conexão Híbrida). Parabaixar o HCM, no seu aplicativo no portal do Azure, selecione Rede>Configurar seus pontos de extremidade de Conexões Híbridas.

Essa ferramenta é executada no Windows Server 2012 e versões posteriores. O HCM é executado como um serviço e conecta-se de saída para retransmissão do Azure na porta 443.

Depois de instalar o HCM, você pode executar HybridConnectionManagerUi.exe para usar a interface do usuário da ferramenta. Esse arquivo está no diretório de instalação do Gerenciador de Conexões Híbridas. No Windows 10, você também pode procurar por Interface do usuário do Gerenciador de Conexões Híbridas na sua caixa de pesquisa.

Screenshot of Hybrid Connection Manager.

Ao iniciar a interface do usuário do HCM, a primeira coisa que você vê é uma tabela que lista todas as Conexões Híbridas configuradas com esta instância do HCM. Se você quiser fazer alterações, faça autenticação no Azure primeiro.

Para adicionar uma ou mais Conexões Híbridas a seu HCM:

  1. Inicie a interface do usuário do HCM.

  2. Selecione Adicionar uma nova Conexão Híbrida. Screenshot of Configure New Hybrid Connections.

  3. Entre com sua conta do Azure para disponibilizar suas Conexões Híbridas com suas assinaturas. O HCM não continua a usar sua conta do Azure além desta etapa.

  4. Escolha uma assinatura.

  5. Selecione as Conexões Híbridas que você deseja que o HCM retransmita. Screenshot of Hybrid Connections.

  6. Selecione Salvar.

Agora você pode ver as Conexões Híbridas adicionadas. Você também pode selecionar a Conexão híbrida configurada para ver os detalhes.

Screenshot of Hybrid Connection Details.

Para dar suporte às Conexões Híbridas com as quais ele está configurado, o HCM requer:

  • Acesso TCP ao Azure pela porta 443.
  • Acesso TCP ao ponto de extremidade da Conexão Híbrida.
  • A capacidade de fazer pesquisas de DNS no host do ponto de extremidade e no namespace do Barramento de Serviço. Em outras palavras, o nome do host na conexão de retransmissão do Azure deve ser resolvido no computador que hospeda o HCM.

Observação

A Retransmissão do Azure depende de soquetes da Web para ter conectividade. Essa funcionalidade só está disponível no Windows Server 2012 ou versão posterior. Por isso, o HCM não tem suporte em nada anterior ao Windows Server 2012.

Redundância

Cada HCM pode ser compatível com várias Conexões Híbridas. Além disso, qualquer Conexão Híbrida determinada pode ser compatível com vários HCMs. O comportamento padrão é direcionar o tráfego pelos HCMs configurados para qualquer ponto de extremidade. Se desejar alta disponibilidade nas Conexões Híbridas da sua rede, execute vários HCMs em computadores separados. O algoritmo de distribuição de carga usado pelo serviço de retransmissão para distribuir o tráfego para os HCMs é uma atribuição aleatória.

Adicionar uma Conexão Híbrida manualmente

Para permitir que alguém fora da sua assinatura hospede uma instância HCM para uma determinada Conexão Híbrida, compartilhe a cadeia de conexão de gateway para a Conexão Híbrida. Você pode ver a cadeia de conexão do gateway nas propriedades da Conexão Híbrida no Portal do Azure. Para usar essa cadeia de caracteres, selecione Inserir Manualmente no HCM e cole-o na cadeia de conexão de gateway.

Manually add a Hybrid Connection.

Atualizar

Há atualizações periódicas no Gerenciador de Conexão Híbrida para corrigir problemas ou fornecer melhorias. Quando as atualizações são lançadas, um pop-up aparece na interface do usuário do HCM. A aplicação da atualização aplica as alterações e reinicia o HCM.

Adicionando uma conexão híbrida ao seu aplicativo programaticamente

Há suporte para a CLI do Azure nas Conexões Híbridas. Os comandos fornecidos operam no nível do aplicativo e do plano do Serviço de Aplicativo. Os comandos no nível do aplicativo 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 do Serviço de Aplicativo permitem que você defina qual chave uma determinada conexão híbrida usa. Há duas chaves definidas em cada conexão híbrida, uma primária e uma secundária. Você pode optar por usar a chave primária ou secundária com os comandos abaixo. Essa opção permite que você alterne as teclas para quando quiser regenerar periodicamente suas 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.

Proteja suas conexões híbridas

Uma conexão híbrida existente pode ser adicionada a outros aplicativos Web do serviço de aplicativo por qualquer usuário que tenha permissões suficientes na retransmissão do barramento de serviço do Azure subjacente. Isso significa que, se você precisar impedir que outras pessoas reutilizem essa mesma Conexão Híbrida (por exemplo, quando o recurso de destino for um serviço que não tenha outras medidas de segurança em vigor para impedir o acesso não autorizado), deverá bloquear o acesso à Retransmissão do Barramento de Serviço do Azure.

Qualquer pessoa com Reader acesso à Retransmissão pode ver a Conexão Híbrida ao tentar adicioná-la ao seu Aplicativo Web no portal do Azure, mas não pode adicioná-la, pois não tem as permissões para recuperar a cadeia de conexão usada para estabelecer a conexão de retransmissão. Para adicionar a conexão híbrida com êxito, elas devem ter a listKeys permissão ( Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action ). A Contributor função ou qualquer outra função que inclua essa permissão na Retransmissão permite que os usuários usem a Conexão Híbrida e a adicionem a seus próprios Aplicativos Web.

Gerenciar suas Conexões Híbridas

Se você precisar alterar o host de ponto de extremidade ou a porta para uma conexão híbrida, execute as seguintes etapas:

  1. Remova a Conexão Híbrida do Gerenciador de Conexões Híbridas no computador local selecionando a conexão e, em seguida, Remover no canto superior esquerdo da janela Detalhes da Conexão Híbrida.
  2. Desconecte a Conexão Híbrida do Serviço de Aplicativo acessando Conexões Híbridas na página Rede do Serviço de Aplicativo.
  3. Acesse a Retransmissão do ponto de extremidade que você precisa atualizar e selecione Conexões Híbridas em Entidades no menu de navegação à esquerda.
  4. Selecione a Conexão Híbrida que você deseja atualizar e, em seguida, Propriedades em Configurações no menu de navegação à esquerda.
  5. Faça suas alterações e selecione Salvar alterações na parte superior.
  6. Retorne às configurações de Conexões Híbridas do Serviço de Aplicativo e adicione a Conexão Híbrida novamente. Verifique se o ponto de extremidade está atualizado conforme o esperado. Se você não encontrar a Conexão Híbrida na lista, atualize-a em um intervalo de cinco a dez minutos.
  7. Retorne ao Gerenciador de Conexões Híbridas no computador local e adicione a conexão novamente.

Solução de problemas

O status “Conectado” significa que pelo menos um HCM está configurado com essa Conexão Híbrida e é capaz de alcançar o Azure. Se o status da Conexão Híbrida não indicar Conectado, ela não estará configurada em nenhum HCM com acesso ao Azure. Quando o HCM mostra Não conectado, há algumas coisas para verificar:

  • O seu host tem acesso de saída ao Azure na porta 443? Você pode testar a partir do seu host HCM usando o comando do PowerShell Test-NetConnection-P Port

  • Seu HCM pode estar em um estado inadequado? Tente reiniciar o serviço local "serviço de Gerenciador de Conexões Híbridas do Azure".

  • Você tem um software conflitante instalado? O Gerenciador de Conexões Híbridas não pode coexistir com o Gerenciador de Conexões Híbridas do Biztalk ou com o Service Bus for Windows Server. Quando você instala o HCM, todas as versões desses pacotes devem ser removidas primeiro.

  • Você tem um firewall entre seu host HCM e o Azure? Nesse caso, você precisará permitir o acesso de saída à URL do ponto de extremidade do Barramento de Serviço E aos gateways do Barramento de Serviço que atendem à Conexão Híbrida.

    • Você pode encontrar a URL do ponto de extremidade do Service Bus na interface do usuário do Gerenciador de Conexões Híbridas.

    Screenshot of Hybrid Connection Service Bus endpoint.

    • Os gateways do Barramento de Serviço são os recursos que aceitam a solicitação na Conexão Híbrida e a passam pela Retransmissão do Azure. Você precisa permitir a lista de todos os 128 gateways. Os gateways estão no formato G #-prod-[stamp]-sb.servicebus.windows.net onde "#" é um número entre 0 e 127 e "stamp" é o nome da instância dentro do data center do Azure onde o ponto de extremidade do Barramento de Serviço existe.
      • Se você pode usar um curinga, você pode allowlist "*.servicebus.windows.net".

      • Se você não puder usar um curinga, deverá permitir a lista de todos os 128 gateways.

        Você pode descobrir o carimbo usando "nslookup" na URL do ponto de extremidade do Service Bus.

        Screenshot of terminal showing where to find the stamp name for the Service Bus.

        Neste exemplo, o carimbo é "sn3-010". Para permitir a lista de gateways do Barramento de Serviço, você precisa das seguintes entradas:

        G0-prod-sn3-010-sb.servicebus.windows.net
        G1-prod-sn3-010-sb.servicebus.windows.net
        G2-prod-sn3-010-sb.servicebus.windows.net
        G3-prod-sn3-010-sb.servicebus.windows.net
        ...
        G126-prod-sn3-010-sb.servicebus.windows.net
        G127-prod-sn3-010-sb.servicebus.windows.net

Se o status indicar Conectado , mas o aplicativo não conseguir acessar o ponto de extremidade, então:

  • Verifique se você está usando um nome DNS na Conexão Híbrida. Se você usar um endereço IP, a pesquisa de DNS do cliente necessária pode não acontecer. Se o cliente em execução no seu aplicativo Web não fizer uma pesquisa de DNS, a Conexão Híbrida não funcionará.
  • Verifique se o nome DNS usado na Conexão Híbrida pode ser resolvido a partir do host HCM. Verifique a resolução usando nslookup EndpointDNSname em que EndpointDNSname é uma combinação exata com o que é usado em sua definição de Conexão Híbrida.
  • Teste o acesso do host HCM ao ponto de extremidade usando o comando do PowerShell Test-NetConnection EndpointDNSname -P Port Se você não conseguir acessar o ponto de extremidade do host HCM, verifique os firewalls entre os dois hosts, incluindo quaisquer firewalls baseados em host no host de destino.
  • Se você estiver usando o Serviço de Aplicativo no Linux, verifique se não está usando "localhost" como seu host de ponto de extremidade. Em vez disso, use o nome do computador se você estiver tentando criar uma conexão com um recurso em seu computador local.

No Serviço de Aplicativo, a ferramenta de linha de comando tcpping pode ser invocada do console Ferramentas Avançadas (Kudu). Essa ferramenta pode informar se você tem acesso a um ponto de extremidade TCP, mas não diz se você tem acesso a um ponto de extremidade de Conexão Híbrida. Usar a ferramenta no console em relação a um ponto de extremidade de Conexão Híbrida apenas confirma que ele usa uma combinação host:porta.

Se você tiver um cliente de linha de comando para seu ponto de extremidade, poderá testar a conectividade no console do aplicativo. Por exemplo, você pode testar o acesso aos pontos de extremidade do servidor Web usando curl.