Ligações Híbridas do Serviço de Aplicações do Azure
As Conexões Híbridas são um serviço no Azure e um recurso no Serviço de Aplicativo do Azure. Como serviço, ele tem usos e recursos além dos que são usados no Serviço de Aplicativo. Para saber mais sobre Conexões Híbridas e seu uso fora do Serviço de Aplicativo, consulte Conexões híbridas de retransmissão do Azure.
No Serviço de Aplicativo, as Conexões Híbridas podem ser usadas para acessar recursos de aplicativos em qualquer rede que possa fazer chamadas de saída para o Azure pela porta 443. As Conexões Híbridas fornecem acesso do seu aplicativo a um ponto de extremidade TCP. Ele não habilita uma nova maneira de acessar seu aplicativo. Conforme usado no Serviço de Aplicativo, cada Conexão Híbrida se correlaciona a uma única combinação de host TCP e porta.
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 nem se importa com o que é o protocolo do aplicativo ou com o que você está acessando. Ele simplesmente fornece acesso à rede.
Como 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, Hybrid Connection Manager (HCM), chama o Azure Relay pela porta 443. No site do aplicativo Web, a infraestrutura do Serviço de Aplicativo também se conecta ao Azure Relay em nome do seu aplicativo. Por meio das conexões associadas, seu aplicativo pode acessar o ponto de extremidade desejado. A conexão usa TLS 1.2 para chaves de segurança e assinatura de acesso compartilhado (SAS) para autenticação e autorização.
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.
Nota
Este fato significa que você deve tentar sempre usar um nome DNS para sua conexão híbrida. Alguns softwares clientes não fazem uma pesquisa de DNS se o ponto de extremidade usar um endereço IP.
Benefícios da Conexão Híbrida do Serviço de Aplicativo
Há muitos benefícios para o recurso 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 são necessários gateways.
- Cada Conexão Híbrida corresponde a uma única combinação host:port, o que é útil para a segurança.
- Normalmente, não requer furos de firewall. As conexões são todas de saída através de portas web padrão.
- Como o recurso é de nível de rede, ele é agnóstico à linguagem que seu aplicativo usa e à tecnologia que o ponto de extremidade usa.
- Ele pode ser usado para fornecer acesso em várias redes a partir de um único aplicativo.
- Suportado em GA para aplicativos Windows e aplicativos Linux. Não há suporte para Conexões Híbridas para contêineres personalizados do Windows.
Coisas que você não pode fazer com conexões híbridas
As coisas 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 Ative 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:
No portal do Azure, selecione seu aplicativo. Selecione Configurações>de rede.
Ao lado de Conexões híbridas, selecione o link Não configurado . Aqui você pode ver as Conexões Híbridas configuradas para seu aplicativo.
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 um ou mais deles ao seu aplicativo, selecione os desejados e selecione Adicionar conexão híbrida selecionada.
Se quiser criar uma nova conexão híbrida, selecione Criar nova conexão híbrida. Especifique os seguintes valores:
- Nome da conexão híbrida.
- Nome do host do ponto final.
- Porta do ponto final.
- Namespace do Service Bus que você deseja usar.
Cada Conexão Híbrida está vinculada a um namespace do Service Bus. Cada namespace do Barramento de Serviço está em uma região do Azure. Para evitar a latência induzida pela rede, use um namespace do Service Bus na mesma região do seu aplicativo.
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 Conexão Híbrida é adicionada ao seu aplicativo, você pode ver detalhes sobre ele simplesmente selecionando-o.
Criar uma conexão híbrida no portal de retransmissão 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 de Retransmissão do Azure. Para que uma Conexão Híbrida seja usada pelo Serviço de Aplicativo, ela deve:
- Requer 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 Aplicativo estão disponíveis apenas em SKUs de preços Básico, Padrão, Premium e Isolado. As Conexões Híbridas não estão disponíveis para aplicativos funcionais nos planos de Consumo. Existem limites ligados ao plano de preços.
Plano de preços | Número de conexõ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 interface do usuário do plano do Serviço de Aplicativo mostra quantas Conexões Híbridas estão sendo usadas e por quais aplicativos.
Para ver detalhes, selecione a Conexão híbrida. Você pode ver todas as informações que viu na visualizaçã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 para o número de pontos de extremidade de Conexão Híbrida que podem ser usados em um plano do Serviço de Aplicativo. Cada Conexão Híbrida usada pode ser usada em qualquer número de aplicativos nesse 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 Conexões Híbridas. Há uma cobrança para cada ouvinte que uma conexão híbrida usa. O ouvinte é o Hybrid Connection Manager. Se você tivesse cinco Conexões Híbridas suportadas por dois Gerenciadores de Conexões Híbridas, seriam 10 ouvintes. Para obter mais informações, consulte Preços do Service Bus.
Gerenciador de conexões híbridas
O recurso Conexões Híbridas requer um agente de retransmissão na rede que hospeda seu ponto de extremidade de Conexão Híbrida. Esse agente de retransmissão é chamado de HCM (Hybrid Connection Manager). Para baixar HCM:
- No portal do Azure, selecione seu aplicativo. Selecione Configurações>de rede.
- Ao lado de Conexões híbridas, selecione o link para abrir a página Conexões híbridas.
- Selecione Baixar gerenciador de conexões.
Esta ferramenta é executada no Windows Server 2012 e posterior. O HCM é executado como um serviço e conecta a saída ao Azure Relay na porta 443.
Depois de instalar o HCM, você pode executar HybridConnectionManagerUi.exe para usar a interface do usuário para a ferramenta. Esse arquivo está no diretório de instalação do Gerenciador de Conexões Híbridas. No Windows 10, você também pode pesquisar a interface do usuário do Gerenciador de Conexões Híbridas na caixa de pesquisa.
Quando você inicia 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 essa instância do HCM. Se quiser fazer alterações, primeiro autentique-se com o Azure.
Para adicionar uma ou mais conexões híbridas ao seu HCM:
Inicie a interface do usuário do HCM.
Selecione Adicionar uma nova conexão híbrida.
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 usar sua conta do Azure além desta etapa.
Escolha uma subscrição.
Selecione as conexões híbridas que você deseja que o HCM retransmita.
Selecione Guardar.
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.
Para suportar as conexões híbridas com as quais está configurado, o HCM exige:
- Acesso TCP ao Azure pela porta 443.
- Acesso TCP ao ponto de extremidade de Conexão Híbrida.
- A capacidade de fazer pesquisas de DNS no host do ponto de extremidade e no namespace do Service Bus. Em outras palavras, o nome do host na conexão de retransmissão do Azure deve ser resolúvel a partir da máquina que hospeda o HCM.
Nota
O Azure Relay depende de Web Sockets para conectividade. Esse recurso só está disponível no Windows Server 2012 ou posterior. Devido a esse fato, o HCM não é suportado em sistemas anteriores ao Windows Server 2012.
Redundância
Cada HCM pode suportar várias conexões híbridas. Vários HCMs podem suportar qualquer conexão híbrida. O comportamento padrão é rotear o tráfego entre os HCMs configurados para qualquer ponto de extremidade determinado. Se você quiser alta disponibilidade em suas conexões híbridas de sua rede, execute vários HCMs em máquinas separadas. 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 manualmente uma conexão híbrida
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 do gateway para a Conexão Híbrida com essa pessoa. Você pode ver a cadeia de conexão do gateway nas propriedades de Conexão Híbrida no portal do Azure. Para usar essa cadeia de caracteres, selecione Enter Manually no HCM e cole na cadeia de conexão do gateway.
Atualização
Há atualizações periódicas para o Hybrid Connection Manager 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. 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 à CLI do Azure para 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 seguintes comandos. Esta opção permite-lhe mudar de teclas para quando quiser 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 suas conexões híbridas
Qualquer usuário que tenha permissões suficientes em uma Retransmissão do Barramento de Serviço do Azure pode adicionar uma Conexão Híbrida existente para essa 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 outras medidas de segurança em vigor para impedir o acesso não autorizado.
Qualquer pessoa com Reader
acesso à Retransmissão poderá ver a Conexão Híbrida se tentar adicioná-la ao seu Aplicativo Web no portal do Azure. Eles não podem adicioná-lo porque não têm 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, eles 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 aos seus próprios Aplicativos Web.
Gerencie suas conexões híbridas
Se você precisar alterar o host ou a porta do ponto de extremidade para uma conexão híbrida, use as seguintes etapas:
- No Hybrid Connection Manager, selecione a conexão para ver sua janela de detalhes. Em seguida, selecione Remover.
- No portal do Azure, selecione seu aplicativo. Selecione Configurações>de rede.
- Ao lado de Conexões híbridas, selecione o link Configurado .
- Em Conexões híbridas, clique com o botão direito do mouse na conexão e selecione Desconectar.
- Navegue até o Relay para o ponto de extremidade que você precisa atualizar. No menu de navegação, em Entidades, selecione Conexões híbridas em Entidades.
- Selecione a Conexão híbrida. No menu de navegação, em Configurações, selecione Propriedades.
- Faça as alterações e selecione Salvar alterações.
- Retorne às configurações de Conexões Híbridas do Serviço de Aplicativo e adicione a Conexão Híbrida novamente. Certifique-se de que o ponto de extremidade está atualizado conforme pretendido. Se você não vir a Conexão Híbrida na lista, atualize em 5 a 10 minutos.
- Retorne ao Hybrid Connection Manager na máquina local e adicione a conexão novamente.
Resolução de Problemas
O status de Conectado significa que pelo menos um HCM está configurado com essa Conexão Híbrida e pode acessar o Azure. Se o status da sua Conexão Híbrida não disser Conectado, sua Conexão Híbrida não estará configurada em nenhum HCM que tenha acesso ao Azure. Quando o HCM mostra Não conectado, há algumas coisas a verificar:
Seu host tem acesso de saída ao Azure na porta 443? Você pode testar a partir do host HCM usando o comando
Test-NetConnection Destination -P Port
PowerShell.Seu HCM está potencialmente em mau estado? Tente reiniciar o serviço local do Serviço do Azure Hybrid Connection Manager.
Você tem 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 Service Bus for Windows Server. Ao instalar o HCM, você deve remover todas as versões desses pacotes primeiro.
Você tem um firewall entre seu host HCM e o Azure? Em caso afirmativo, você precisa permitir o acesso de saída à URL do ponto de extremidade do Service Bus E aos gateways do Service Bus que atendem sua 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.
Os gateways do Service Bus são os recursos que aceitam a solicitação na Conexão Híbrida e a passam pelo Azure Relay. Você precisa permitir a lista de todos os 128 gateways. Os gateways estão no formato:
G#-prod-[stamp]-sb.servicebus.windows.net
. O sinal numérico,#
, é um número entre 0 e 127 estamp
é o nome da instância no data center do Azure onde o ponto de extremidade do Service Bus 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.
Neste exemplo, o carimbo é
sn3-010
. Para permitir a lista dos gateways do Service Bus, 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 seu estado indicar Ligado , mas a sua aplicação não conseguir alcançar o seu ponto final, então:
- Certifique-se de que está a utilizar um nome DNS na sua Ligaçã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 em sua conexão híbrida pode ser resolvido a partir do host HCM. Verifique a resolução usando nslookup EndpointDNSname onde EndpointDNSname é uma correspondência exata com o que é usado na sua definição de Conexão Híbrida.
- Teste o acesso do host HCM ao ponto de extremidade usando o comando
Test-NetConnection EndpointDNSname -P Port
PowerShell. Se você não conseguir acessar o ponto de extremidade a partir 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, certifique-se de que não está usando
localhost
como host de ponto final. Em vez disso, use o nome da máquina se estiver tentando criar uma conexão com um recurso na máquina local.
No Serviço de Aplicativo, a ferramenta de linha de comando tcpping pode ser invocada a partir do console de Ferramentas Avançadas (Kudu). Essa ferramenta pode dizer se você tem acesso a um ponto de extremidade TCP, mas não informa se você tem acesso a um ponto de extremidade de Conexão Híbrida. Quando você usa a ferramenta no console em um ponto de extremidade de Conexão Híbrida, está apenas confirmando que ela usa uma combinação host:port.
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.