Compartilhar via


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 usos e recursos além dos usados no Serviço de Aplicativo. 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 fornecem acesso do aplicativo a um ponto de extremidade TCP. Ela não proporciona uma nova maneira de acessar seu aplicativo. 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 ele 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.

Diagrama de fluxo de alto nível de Conexão Híbrida.

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 a funcionalidade de 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 é agnóstico em relação à linguagem que seu aplicativo usa e a tecnologia que o ponto de extremidade usa.
  • Ele pode ser usado para fornecer acesso em várias redes de um único aplicativo.
  • Há suporte para ele na disponibilidade geral de aplicativos do Windows e do Linux. Não há suporte para Conexões Híbridas em contêineres personalizados do Windows.

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

Você não pode usar as Conexões Híbridas para:

  • 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.
  • Dar suporte ao Active Directory, porque você não pode ingressar no domínio de um trabalho do Serviço de Aplicativo.

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

Para criar uma Conexão Híbrida:

  1. No Portal do Azure, selecione seu aplicativo. Selecione Configurações>Rede.

  2. Ao lado de Conexões Híbridas, selecione o link Não configurado. Aqui você pode ver as conexões híbridas que são configuradas para seu aplicativo.

    Captura de tela da lista de Conexões Híbridas em que você pode adicionar e gerenciar conexões.

  3. Para adicionar uma nova Conexão Híbrida, clique em 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.

    Captura de tela da página de Conexões Híbridas em que você pode adicionar uma conexão.

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

  • 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.

Captura de tela da caixa de diálogo Criar nova conexão híbrida.

Toda Conexão Híbrida é vinculada a um namespace do Barramento de Serviço. Todo namespace do Barramento de Serviço está em uma região do Azure. Para evitar a latência de rede induzida, use um namespace do Barramento de Serviço na mesma região do seu aplicativo.

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.

Captura de tela dos detalhes das Conexões Híbridas.

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.
  • Ter um item de metadados e um ponto de extremidade denominado que contém a combinação de host:porta 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.

Captura de tela das propriedades do Plano do Serviço de Aplicativo.

Para ver os detalhes, selecione a Conexão Híbrida. 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. Toda Conexão Híbrida pode ser usada 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 do requisito de SKU do plano do Serviço de Aplicativo, há um custo extra para usar as Conexões Híbridas. Há um preço para cada ouvinte usado que uma Conexão Híbrida usa. O ouvinte é o Gerenciador de Conexão híbrida. Se você tiver cinco Conexões Híbridas suportadas por dois Gerenciadores de Conexão Híbrida, haverá 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). Para baixar o Gerenciador de Conexões Híbridas (HCM):

  1. No Portal do Azure, selecione seu aplicativo. Selecione Configurações>Rede.
  2. Ao lado de Conexões híbridas, selecione o link para abrir a página de conexões híbridas.
  3. Selecione Baixar Gerenciador de Conexões.

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.

Captura de tela do Gerenciador de Conexões Híbridas.

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.

    Captura de tela de Configurar novas Conexões Híbridas.

  3. Entre com sua conta do Azure para disponibilizar suas Conexões Híbridas com suas assinaturas. O HCM não continua usando sua conta do Azure após essa etapa.

  4. Escolha uma assinatura.

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

    Captura de tela de conexões no Gerenciador de Conexões Híbridas.

  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.

Captura de tela de detalhes de Conexão Híbrida.

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 sistemas anteriores ao Windows Server 2012.

Redundância

Cada HCM pode ser compatível com várias Conexões Híbridas. Vários HCMs dão suporte a qualquer Conexão Híbrida. 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.

Captura de tela da caixa de diálogo na qual você adiciona uma Conexão Híbrida manualmente.

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, uma caixa de diálogo aparece na interface do usuário do HCM. Aplicar a 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 usará. 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 a seguir. Essa opção permite que você alterne as chaves para quando quiser regenerar as chaves periodicamente.

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

Qualquer usuário que tenha permissões suficientes na Retransmissão do Barramento de Serviço do Microsoft Azure pode adicionar uma Conexão Híbrida dessa retransmissão a outros Aplicativos Web do Serviço de Aplicativo. Para impedir que outras pessoas reutilizem essa mesma Conexão Híbrida, bloqueie o acesso à Retransmissão do Barramento de Serviço do Azure. Essa situação pode acontecer quando o recurso de destino é um serviço que não tem nenhuma outra medida de segurança em vigor para impedir o acesso não autorizado.

Qualquer pessoa com acesso de Reader à Retransmissão poderá ver a Conexão Híbrida se tentar adicioná-la ao aplicativo Web no portal do Azure. Ela não pode adicioná-la porque não têm 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, ela deve ter a permissão de listKeys (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). A função Contributor ou qualquer outra que inclua essa permissão na Retransmissão permitirá que os usuários usem a Conexão Híbrida para adicioná-la em seus Aplicativos Web.

Gerenciar suas Conexões Híbridas

Se precisar alterar o host ou a porta de um ponto de extremidade de uma Conexão Híbrida, siga estas etapas:

  1. No Gerenciador de Conexões Híbridas, selecione a conexão para ver a janela de detalhes. Em seguida, selecione Remover.
  2. No Portal do Azure, selecione seu aplicativo. Selecione Configurações>Rede.
  3. Ao lado de Conexões híbridas, selecione o link Configurado.
  4. Em Conexões híbridas, clique com o botão direito do mouse na conexão e selecione Desconectar.
  5. Navegue até a Retransmissão do ponto de extremidade que você precisa atualizar. No menu de navegação, em Entidades, selecione Conexões híbridas em Entidades.
  6. Selecione a Conexão Híbrida. No menu de navegação, em Configurações, selecione Propriedades.
  7. Faça as alterações e selecione Salvar alterações.
  8. 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.
  9. 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 consegue 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, você pode verificar:

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

  • 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 o Barramento de Serviço do Windows Server. Ao instalar o HCM, você deve remover qualquer versão desses pacotes primeiro.

  • Você tem um firewall entre o host do HCM e o Azure? Se tiver, você precisa 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 fornece sua Conexão Híbrida.

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

      Captura de tela do ponto de extremidade do Barramento de Serviço da Conexão Híbrida.

    • Os gateways do Barramento de Serviço são os recursos que aceitam a solicitação para a Conexão Híbrida e a passam pela Retransmissão do Azure. Você precisa incluir na lista de permitidos todos os 128 gateways. Os gateways estão no formato: G#-prod-[stamp]-sb.servicebus.windows.net. A tecla jogo da velha, #, é um número entre 0 e 127 e stamp é o nome da instância no data center do Azure em que o ponto de extremidade do Barramento de Serviço existe.

    • Se você puder usar um caractere curinga, poderá incluir *.servicebus.windows.net na lista de permitidos.

    • Se você não puder usar um caractere curinga, deverá incluir na lista de permitidos todos os 128 gateways.

      Você pode descobrir o selo usando nslookup na URL do ponto de extremidade do Barramento de Serviço.

      Captura de tela do terminal mostrando onde encontrar o nome do selo para o Barramento de Serviço.

      Neste exemplo, o selo é sn3-010. Para incluir na lista de permitidos os 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 seu status for Conectado, mas seu aplicativo não consegue alcançar o ponto de extremidade, então:

  • Verifique se você está usando um nome DNS em sua Conexão Híbrida. Se você usar um endereço IP, a pesquisa de DNS de cliente necessária pode não acontecer. Se o cliente em execução em seu aplicativo Web não fizer uma pesquisa de DNS, a Conexão Híbrida não funcionará.
  • Verifique se o nome DNS usado em sua Conexão Híbrida pode ser resolvido no host do 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 do HCM ao ponto de extremidade usando o comando Test-NetConnection EndpointDNSname -P Port do PowerShell. Se você não conseguir acessar o ponto de extremidade do host do HCM, verifique os firewalls entre os dois hosts, incluindo firewalls baseados em host no host de destino.
  • Se estiver usando o Serviço de Aplicativo no Linux, verifique se você não está usando localhost como seu host do 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.