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

Hybrid Connections é simultaneamente um serviço em Azure e uma funcionalidade em Serviço de Aplicações do Azure. Como serviço, tem utilizações e capacidades para além daquelas que são usadas em Serviço de Aplicações. Para saber mais sobre as Ligações Híbridas e a sua utilização fora Serviço de Aplicações, consulte as Ligações Híbridas Azure Relay.

Dentro de Serviço de Aplicações, as Ligações Híbridas podem ser usadas para aceder a recursos de aplicações em qualquer rede que possa fazer chamadas de saída para a Azure sobre a porta 443. A Hybrid Connections fornece acesso da sua aplicação a um ponto final TCP e não permite uma nova forma de aceder à sua aplicação. Como usado em Serviço de Aplicações, cada Ligação Híbrida correlaciona-se com um único hospedeiro TCP e combinação de porta. Isto permite que as suas aplicações acedam a recursos em qualquer SISTEMA, desde que seja um ponto final TCP. A funcionalidade Ligações Híbridas não sabe nem se importa com o protocolo de aplicação, nem com o que está a aceder. Simplesmente fornece acesso à rede.

Como funciona

As Ligações Híbridas requerem que seja implantado um agente de retransmissão onde possa atingir tanto o ponto final pretendido como o Azure. O agente de retransmissão, Gestor de Ligações Híbridas (HCM), chama a Azure Relay sobre a porta 443. A partir do site da aplicação, a infraestrutura Serviço de Aplicações também se conecta ao Azure Relay em nome da sua aplicação. Através das ligações juntas, a sua aplicação é capaz de aceder ao ponto final pretendido. A ligação utiliza as chaves TLS 1.2 para segurança e assinatura de acesso partilhado (SAS) para autenticação e autorização.

Diagram of Hybrid Connection high-level flow

Quando a sua aplicação fizer um pedido DNS que corresponda a um ponto final de ligação híbrido configurado, o tráfego TCP de saída será redirecionado através da Ligação Híbrida.

Nota

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

Serviço de Aplicações benefícios da conexão híbrida

Existem vários benefícios para a capacidade de conexões híbridas, incluindo:

  • As aplicações podem aceder em segurança aos sistemas e serviços no local.
  • A funcionalidade não requer um ponto final acessível à Internet.
  • É rápido e fácil de montar. Não são necessários portais.
  • Cada Ligação Híbrida corresponde a uma única combinação de anfitrião:porta, útil para a segurança.
  • Normalmente não requer buracos de firewall. As ligações são todas de saída sobre portas web padrão.
  • Como a funcionalidade é de rede, é agnóstico ao idioma utilizado pela sua app e à tecnologia utilizada pelo ponto final.
  • Pode ser usado para fornecer acesso em várias redes a partir de uma única aplicação.
  • É suportado em GA para aplicações Windows e aplicações Linux. Não é suportado para Windows recipientes personalizados.

Coisas que não pode fazer com ligações híbridas

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

  • Monte uma unidade.
  • Use UDP.
  • Aceda a serviços baseados em TCP que utilizam portas dinâmicas, como o Modo Passivo FTP ou o Modo Passivo Alargado.
  • Apoiar lDAP, porque pode requerer UDP.
  • Apoiar o Ative Directory, porque não pode aderir a um Serviço de Aplicações trabalhador.

Adicione e crie conexões híbridas na sua aplicação

Para criar uma Ligação Híbrida, vá ao portal do Azure e selecione a sua aplicação. Selecione NetworkingConfigure>os seus pontos finais de ligação híbrida. Aqui pode ver as Ligações Híbridas que estão configuradas para a sua aplicação.

Screenshot of Hybrid Connection list

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

Screenshot of Hybrid Connection portal

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

  • Nome de ligação híbrida.
  • Nome de anfitrião de ponto final.
  • Porta de ponto final.
  • Service Bus espaço de nome que pretende utilizar.

Screenshot of Create new hybrid connection dialog box

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

Se pretender remover a sua Ligação Híbrida da sua aplicação, clique-a com o botão direito e selecione Disconnect.

Quando uma Ligação Híbrida é adicionada à sua aplicação, pode ver detalhes sobre ela simplesmente selecionando-o.

Screenshot of Hybrid connections details

Criar uma ligação híbrida no portal Azure Relay

Além da experiência do portal dentro da sua app, pode criar Conexões Híbridas a partir do portal Azure Relay. Para que uma ligação híbrida seja utilizada por Serviço de Aplicações, deve:

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

Conexões híbridas e planos de Serviço de Aplicações

Serviço de Aplicações Conexões Híbridas só estão disponíveis em SKUs de preços básicos, standard, Premium e isolados. As Ligações Híbridas não estão disponíveis para aplicações de função nos planos de Consumo. Há limites ligados 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 app
Isolado (v1-v2) 220 por app

O plano de Serviço de Aplicações UI mostra-lhe quantas Ligações Híbridas estão a ser usadas e por que aplicações.

Screenshot of App Service plan properties

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

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

Preços

Além de haver um Serviço de Aplicações plano SKU requisito, há um custo adicional para a utilização de Conexões Híbridas. Há uma taxa para cada ouvinte usado por uma Ligação Híbrida. O ouvinte é o Gestor de Ligações Híbridas. Se tivesses cinco Conexões Híbridas apoiadas por dois Gestores de Conexão Híbrida, seriam 10 ouvintes. Para mais informações, consulte Service Bus preços.

Gestor de Ligações Híbridas

A função Ligações Híbridas requer um agente de retransmissão na rede que hospeda o seu ponto de terminação de Ligação Híbrida. O agente de retransmissão chama-se Gestor de Ligações Híbridas (HCM). Para baixar o HCM, a partir da sua aplicação no portal do Azure, selecione NetworkingConfigure>os seus pontos finais de Ligação Híbrida.

Esta ferramenta funciona Windows Server 2012 e mais tarde. O HCM funciona como um serviço e liga a saída ao Azure Relay na porta 443.

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

Screenshot of Hybrid Connection Manager

Quando inicia o HCM UI, a primeira coisa que vê é uma tabela que lista todas as Conexões Híbridas que estão configuradas com este exemplo do HCM. Se quiser es alterar, autente primeiro com o Azure.

Para adicionar uma ou mais ligações híbridas ao seu HCM:

  1. Inicie o UI HCM.

  2. Selecione Adicione uma nova ligação híbrida. Screenshot of Configure New Hybrid Connections

  3. Faça sedível com a sua conta Azure para obter as suas Ligações Híbridas disponíveis com as suas subscrições. O HCM não continua a usar a sua conta Azure para além disso.

  4. Escolha uma subscrição.

  5. Selecione as Ligações Híbridas que pretende que o HCM retransmite. Screenshot of Hybrid Connections

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

Screenshot of Hybrid Connection Details

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

  • Acesso TCP a Azure sobre a porta 443.
  • Acesso TCP ao ponto final de ligação híbrida.
  • A capacidade de fazer pesquisas dns no anfitrião do ponto final e no Service Bus espaço de nome. Por outras palavras, o nome de anfitrião na ligação de relé Azure deve ser resolúvel a partir da máquina que hospeda o HCM.

Nota

O Azure Relay conta com tomadas web para conectividade. Esta capacidade só está disponível em Windows Server 2012 ou posteriormente. Por causa disso, o HCM não é apoiado em nada mais cedo do que Windows Server 2012.

Redundância

Cada HCM pode suportar várias Ligações Híbridas. Além disso, qualquer ligação híbrida dada pode ser suportada por vários HCMs. O comportamento padrão é encaminhar o tráfego através dos HCMs configurados para qualquer ponto final. Se pretender uma elevada disponibilidade nas suas Ligações Híbridas a partir da sua rede, execute vários HCMs em máquinas separadas. O algoritmo de distribuição de carga utilizado pelo serviço Relay para distribuir tráfego aos HCMs é uma atribuição aleatória.

Adicione manualmente uma ligação híbrida

Para permitir que alguém fora da sua subscrição apresente uma instância HCM para uma determinada Ligação Híbrida, partilhe com eles a cadeia de ligação de gateway para a Ligação Híbrida. Pode ver a cadeia de ligação do gateway nas propriedades hybrid connection na portal do Azure. Para utilizar esta corda, selecione Introduza manualmente no HCM e cole na cadeia de ligação gateway.

Manually add a Hybrid Connection

Atualizar

Existem atualizações periódicas para o Gestor de Ligações Híbridas para corrigir problemas ou fornecer melhorias. Quando as atualizações forem lançadas, um popup aparecerá na UI HCM. A aplicação da atualização aplicará as alterações e reiniciará o HCM.

Adicionar uma Ligação Híbrida à sua aplicação programáticamente

Há suporte Azure CLI para ligações híbridas. Os comandos fornecidos funcionam tanto a nível da app como do plano Serviço de Aplicações. Os comandos de nível de 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 Serviço de Aplicações do plano permitem definir qual a chave que uma determinada ligação híbrida irá utilizar. Há duas teclas definidas em cada Ligação Híbrida, uma primária e uma secundária. Pode optar por utilizar a tecla primária ou secundária com os comandos abaixo. Isto permite-lhe trocar as teclas para quando pretender regenerar periodicamente as 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 as suas ligações híbridas

Uma ligação híbrida existente pode ser adicionada a outros Serviço de Aplicações Aplicações Web por qualquer utilizador que tenha permissões suficientes no Relé Azure Service Bus subjacente. Isto significa que se tiver de impedir que outros reutilrem essa mesma Ligação Híbrida (por exemplo, quando o recurso-alvo é um serviço que não dispõe de medidas de segurança adicionais para impedir o acesso não autorizado), deve bloquear o acesso ao relé Azure Service Bus.

Qualquer pessoa que tenha Reader acesso ao Relé poderá ver a Ligação Híbrida ao tentar adicioná-la à sua Web App no portal do Azure, mas não poderá adicioná-la, uma vez que não dispõe de permissões para recuperar a cadeia de ligação que é usada para estabelecer a ligação de retransmissão. Para poderem adicionar com sucesso a Ligação Híbrida, devem ter a listKeys permissão (Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action). O Contributor papel ou qualquer outra função que inclua esta permissão no Relé permitirá que os utilizadores utilizem a Conexão Híbrida e adicionem-na à sua própria Aplicações Web.

Gerir as suas Ligações Híbridas

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

  1. Retire a ligação híbrida da Gestor de Ligações Híbridas na máquina local selecionando a ligação e selecionando Remova na parte superior esquerda da janela Detalhes de Ligação Híbrida.
  2. Desligue a Ligação Híbrida do seu Serviço de Aplicações navegando para Ligações Híbridas na página de rede Serviço de Aplicações.
  3. Navegue no Relé para o ponto final que precisa para atualizar e selecionar Conexões Híbridas em Entidades no menu de navegação à esquerda.
  4. Selecione a Ligação Híbrida que pretende atualizar e selecione Propriedades sob Definições no menu de navegação à esquerda.
  5. Faça as alterações e acerte Guarde as alterações no topo.
  6. Volte às definições de Ligações Híbridas para o seu Serviço de Aplicações e adicione novamente a Ligação Híbrida. Certifique-se de que o ponto final é atualizado conforme pretendido. Se não vir a Ligação Híbrida na lista, refresque-se em 5-10 minutos.
  7. Volte ao Gestor de Ligações Híbridas na máquina local e adicione novamente a ligação.

Resolução de problemas

O estado de "Conectado" significa que pelo menos um HCM está configurado com essa ligação híbrida, e é capaz de chegar a Azure. Se o estado da sua Ligação Híbrida não disser Conectado, a sua Ligação Híbrida não está configurada em qualquer HCM que tenha acesso ao Azure. Quando o seu HCM mostra que não está ligado , há algumas coisas a verificar:

  • O seu anfitrião tem acesso de saída ao Azure no porto 443? Pode testar a partir do seu anfitrião HCM utilizando o destino de teste-NetConnection de comando PowerShell -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 conflituoso instalado? Gestor de Ligações Híbridas não podem coexistir com Gestor de Ligações Híbridas ou Service Bus biztalk para Windows Server. Assim, ao instalar o HCM, quaisquer versões destas embalagens devem ser removidas primeiro.

Se o seu estado diz Conectado mas a sua aplicação não pode chegar ao seu ponto final, então:

  • certifique-se de que está a usar um nome DNS na sua Ligação Híbrida. Se utilizar um endereço IP, a procura de DNS do cliente requerida pode não acontecer. Se o cliente que está a correr na sua aplicação web não fizer uma procura de DNS, então a Ligação Híbrida não funcionará
  • verifique se o nome DNS utilizado na sua Ligação Híbrida pode ser resolvido a partir do anfitrião HCM. Verifique a resolução utilizando o nome endpointDNSname nslookup onde o endpointDNSname é uma correspondência exata com o que é usado na sua definição de Ligação Híbrida.
  • teste de acesso do seu anfitrião HCM ao seu ponto final utilizando o comando PowerShell Test-NetConnection EndpointDNSname -P Port Se não conseguir chegar ao ponto final do seu anfitrião HCM, verifique as firewalls entre os dois anfitriões, incluindo quaisquer firewalls baseadas no anfitrião.
  • se estiver a usar Serviço de Aplicações no Linux, certifique-se de que não está a usar "local" como anfitrião do ponto final. Em vez disso, use o nome da máquina se estiver a tentar criar uma ligação com um recurso na sua máquina local.

Em Serviço de Aplicações, a ferramenta de linha de comando tcpping pode ser invocada a partir da consola Advanced Tools (Kudu). Esta ferramenta pode dizer-lhe se tem acesso a um ponto final TCP, mas não lhe diz se tem acesso a um ponto final de Ligação Híbrida. Quando utilizar a ferramenta na consola contra um ponto final de ligação híbrida, apenas confirma que utiliza uma combinação host:porta.

Se tiver um cliente de linha de comando para o seu 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 utilizando o curl.