Conexões híbridas do serviço de aplicações AzureAzure App Service Hybrid Connections

Hybrid Connections é simultaneamente um serviço no Azure e uma funcionalidade no Azure App Service.Hybrid Connections is both a service in Azure and a feature in Azure App Service. Como serviço, tem utilizações e capacidades para além daquelas que são usadas no Serviço de Aplicações.As a service, it has uses and capabilities beyond those that are used in App Service. Para saber mais sobre conexões híbridas e a sua utilização fora do Serviço de Aplicações, consulte as Ligações Híbridas Azure Relay.To learn more about Hybrid Connections and their usage outside App Service, see Azure Relay Hybrid Connections.

Dentro do 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.Within App Service, Hybrid Connections can be used to access application resources in any network that can make outbound calls to Azure over port 443. A Hybrid Connections fornece acesso da sua app a um ponto final TCP e não permite uma nova forma de aceder à sua aplicação.Hybrid Connections provides access from your app to a TCP endpoint and does not enable a new way to access your app. Como usado no Serviço de Aplicações, cada Ligação Híbrida está relacionada com um único hospedeiro TCP e combinação de porta.As used in App Service, each Hybrid Connection correlates to a single TCP host and port combination. Isto permite que as suas aplicações acedam a recursos em qualquer SISTEMA, desde que seja um ponto final TCP.This enables your apps to access resources on any OS, provided it is a TCP endpoint. A funcionalidade Ligações Híbridas não sabe nem se importa com o protocolo de aplicação ou com o que está a aceder.The Hybrid Connections feature does not know or care what the application protocol is, or what you are accessing. Simplesmente fornece acesso à rede.It simply provides network access.

Como funcionaHow it works

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.Hybrid Connections requires a relay agent to be deployed where it can reach both the desired endpoint as well as to Azure. O agente de retransmissão, Hybrid Connection Manager (HCM), chama a Azure Relay sobre a porta 443.The relay agent, Hybrid Connection Manager (HCM), calls out to Azure Relay over port 443. A partir do site de aplicações, a infraestrutura do Serviço de Aplicações também se conecta ao Azure Relay em nome da sua aplicação.From the web app site, the App Service infrastructure also connects to Azure Relay on your application's behalf. Através das ligações juntas, a sua aplicação é capaz de aceder ao ponto final pretendido.Through the joined connections, your app is able to access the desired endpoint. A ligação utiliza as chaves TLS 1.2 para segurança e assinatura de acesso partilhado (SAS) para autenticação e autorização.The connection uses TLS 1.2 for security and shared access signature (SAS) keys for authentication and authorization.

Diagrama de ligação híbrida fluxo de alto nível

Quando a sua aplicação fizer um pedido de 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.When your app makes a DNS request that matches a configured Hybrid Connection endpoint, the outbound TCP traffic will be redirected through the Hybrid Connection.

Nota

Isto significa que deve tentar sempre usar um nome DNS para a sua Ligação Híbrida.This means that you should try to always use a DNS name for your Hybrid Connection. Alguns softwares de clientes não fazem uma procura de DNS se o ponto final utilizar um endereço IP.Some client software does not do a DNS lookup if the endpoint uses an IP address instead.

Benefícios de conexão híbrida do serviço de aplicaçõesApp Service Hybrid Connection benefits

Existem vários benefícios para a capacidade de conexões híbridas, incluindo:There are a number of benefits to the Hybrid Connections capability, including:

  • As aplicações podem aceder em segurança aos sistemas e serviços no local.Apps can access on-premises systems and services securely.
  • A funcionalidade não requer um ponto final acessível à Internet.The feature does not require an internet-accessible endpoint.
  • É rápido e fácil de configurar.It is quick and easy to set up. Não são necessários portaisNo gateways required
  • Cada Ligação Híbrida corresponde a uma única combinação de anfitrião:porta, útil para a segurança.Each Hybrid Connection matches to a single host:port combination, helpful for security.
  • Normalmente não requer buracos de firewall.It normally does not require firewall holes. As ligações são todas de saída sobre portas web padrão.The connections are all outbound over standard web ports.
  • Como a funcionalidade é de rede, é agnóstico ao idioma utilizado pela sua app e à tecnologia utilizada pelo ponto final.Because the feature is network level, it is agnostic to the language used by your app and the technology used by the endpoint.
  • Pode ser usado para fornecer acesso em várias redes a partir de uma única aplicação.It can be used to provide access in multiple networks from a single app.
  • É suportado em GA para aplicações windows e está em pré-visualização para aplicações Linux.It is supported in GA for Windows apps and is in preview for Linux apps.

Coisas que não pode fazer com ligações híbridasThings you cannot do with Hybrid Connections

As coisas que não pode fazer com ligações híbridas incluem:Things you cannot do with Hybrid Connections include:

  • Monte uma unidade.Mount a drive.
  • Use UDP.Use UDP.
  • Aceda a serviços baseados em TCP que utilizem portas dinâmicas, como o Modo Passivo FTP ou o Modo Passivo Alargado.Access TCP-based services that use dynamic ports, such as FTP Passive Mode or Extended Passive Mode.
  • Apoiar lDAP, porque pode requerer UDP.Support LDAP, because it can require UDP.
  • Suporte Ative Directory, porque não pode fazer o domínio de um trabalhador do Serviço de Aplicações.Support Active Directory, because you cannot domain join an App Service worker.

Adicione e crie conexões híbridas na sua aplicaçãoAdd and Create Hybrid Connections in your app

Para criar uma Ligação Híbrida, vá ao portal Azure e selecione a sua aplicação.To create a Hybrid Connection, go to the Azure portal and select your app. Selecione Configurar a rede > configurar os seus pontos finais de ligação híbrida.Select Networking > Configure your Hybrid Connection endpoints. Aqui pode ver as Conexões Híbridas que estão configuradas para a sua aplicação.Here you can see the Hybrid Connections that are configured for your app.

Screenshot da lista de conexão híbrida

Para adicionar uma nova Ligação Híbrida, selecione [+] Adicionar ligação híbrida.To add a new Hybrid Connection, select [+] Add hybrid connection. Verá uma lista das Ligações Híbridas que já criou.You'll see a list of the Hybrid Connections that you already created. Para adicionar um ou mais deles à sua aplicação, selecione as que pretende e, em seguida, selecione Adicionar a Ligação Híbrida selecionada.To add one or more of them to your app, select the ones you want, and then select Add selected Hybrid Connection.

Screenshot do portal De Ligação Híbrida

Se pretender criar uma nova Ligação Híbrida, selecione Criar uma nova ligação híbrida.If you want to create a new Hybrid Connection, select Create new hybrid connection. Especificar:Specify the:

  • Nome de ligação híbrida.Hybrid Connection name.
  • Nome de anfitrião de ponto final.Endpoint hostname.
  • Porta de ponto final.Endpoint port.
  • Serviço Espaço de nomes de ônibus que você deseja usar.Service Bus namespace you want to use.

Screenshot da Criação de nova caixa de diálogo de ligação híbrida

Cada Conexão Híbrida está ligada a um espaço de nomes de ônibus de serviço, e cada espaço de nome de Service Bus está numa região de Azure.Every Hybrid Connection is tied to a Service Bus namespace, and each Service Bus namespace is in an Azure region. É importante tentar usar um espaço de nome de Service Bus na mesma região que a sua aplicação, para evitar a latência induzida pela rede.It's important to try to use a Service Bus namespace in the same region as your app, to avoid network induced latency.

Se pretender remover a sua Ligação Híbrida da sua aplicação, clique com o botão direito e selecione Disconnect.If you want to remove your Hybrid Connection from your app, right-click it and select Disconnect.

Quando uma Ligação Híbrida é adicionada à sua aplicação, pode ver detalhes sobre ela simplesmente selecionando-o.When a Hybrid Connection is added to your app, you can see details on it simply by selecting it.

Screenshot dos detalhes das ligações híbridas

Criar uma ligação híbrida no portal Azure RelayCreate a Hybrid Connection in the Azure Relay portal

Além da experiência do portal dentro da sua app, pode criar Conexões Híbridas a partir do portal Azure Relay.In addition to the portal experience from within your app, you can create Hybrid Connections from within the Azure Relay portal. Para que uma ligação híbrida seja utilizada pelo Serviço de Aplicações, deve:For a Hybrid Connection to be used by App Service, it must:

  • Requer autorização do cliente.Require client authorization.
  • Tenha um item de metadados, nomeado ponto final, que contenha uma combinação host:port como o valor.Have a metadata item, named endpoint, that contains a host:port combination as the value.

Conexões Híbridas e planos de Serviço de AplicaçõesHybrid Connections and App Service plans

As conexões híbridas do Serviço de Aplicações só estão disponíveis em SKUs de preços básicos, standard, premium e isolados.App Service Hybrid Connections are only available in Basic, Standard, Premium, and Isolated pricing SKUs. Há limites ligados ao plano de preços.There are limits tied to the pricing plan.

Plano de preçosPricing plan Número de Ligações Híbridas utilizáveis no planoNumber of Hybrid Connections usable in the plan
BásicaBasic 5 por plano5 per plan
StandardStandard 25 por plano25 per plan
PremiumV2PremiumV2 200 por app200 per app
IsoladoIsolated 200 por app200 per 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.The App Service plan UI shows you how many Hybrid Connections are being used and by what apps.

Screenshot das propriedades do plano de app service

Selecione a Ligação Híbrida para ver detalhes.Select the Hybrid Connection to see details. Pode ver toda a informação que viu na vista da aplicação.You can see all the information that you saw at the app view. Também pode ver quantas outras aplicações no mesmo plano estão a usar essa Ligação Híbrida.You can also see how many other apps in the same plan are using that Hybrid Connection.

Existe um limite para o número de pontos finais de Conexão Híbrida que podem ser usados num plano de Serviço de Aplicações.There is a limit on the number of Hybrid Connection endpoints that can be used in an App Service plan. Cada Ligação Híbrida utilizada, no entanto, pode ser usada em qualquer número de aplicações nesse plano.Each Hybrid Connection used, however, can be used across any number of apps in that plan. Por exemplo, uma única Ligação Híbrida que é usada em cinco aplicações separadas num plano de Serviço de Aplicações conta como uma Ligação Híbrida.For example, a single Hybrid Connection that is used in five separate apps in an App Service plan counts as one Hybrid Connection.

PreçosPricing

Além de existir um requisito de SKU do plano de serviço de aplicações, existe um custo adicional para a utilização de Conexões Híbridas.In addition to there being an App Service plan SKU requirement, there is an additional cost to using Hybrid Connections. Há uma taxa para cada ouvinte usado por uma Ligação Híbrida.There is a charge for each listener used by a Hybrid Connection. O ouvinte é o Gestor de Ligação Híbrida.The listener is the Hybrid Connection Manager. Se tivesses cinco Conexões Híbridas apoiadas por dois Gestores de Conexão Híbrida, seriam 10 ouvintes.If you had five Hybrid Connections supported by two Hybrid Connection Managers, that would be 10 listeners. Para mais informações, consulte os preços do Service Bus.For more information, see Service Bus pricing.

Gestor de Conexão HíbridaHybrid Connection Manager

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.The Hybrid Connections feature requires a relay agent in the network that hosts your Hybrid Connection endpoint. Este agente de retransmissão chama-se Gestor de Ligação Híbrida (HCM).That relay agent is called the Hybrid Connection Manager (HCM). Para baixar o HCM, a partir da sua aplicação no portal Azure,selecione Networking > Configure seus pontos finais de Ligação Híbrida.To download HCM, from your app in the Azure portal, select Networking > Configure your Hybrid Connection endpoints.

Esta ferramenta é executado no Windows Server 2012 e posteriormente.This tool runs on Windows Server 2012 and later. O HCM funciona como um serviço e liga a saída ao Azure Relay na porta 443.The HCM runs as a service and connects outbound to Azure Relay on port 443.

Depois de instalar o HCM, pode executar HybridConnectionManagerUi.exe para utilizar a UI para a ferramenta.After installing HCM, you can run HybridConnectionManagerUi.exe to use the UI for the tool. Este ficheiro está no diretório de instalação do Hybrid Connection Manager.This file is in the Hybrid Connection Manager installation directory. No Windows 10, também pode pesquisar o UI do Gestor de Conexões Híbridos na sua caixa de pesquisa.In Windows 10, you can also just search for Hybrid Connection Manager UI in your search box.

Screenshot do Gestor de Conexão Híbrida

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 caso do HCM.When you start the HCM UI, the first thing you see is a table that lists all the Hybrid Connections that are configured with this instance of the HCM. Se quiser es alterar, autente primeiro com o Azure.If you want to make any changes, first authenticate with Azure.

Para adicionar uma ou mais ligações híbridas ao seu HCM:To add one or more Hybrid Connections to your HCM:

  1. Inicie a UI HCM.Start the HCM UI.

  2. Selecione Configurar outra Ligação Híbrida.Select Configure another Hybrid Connection. Screenshot de Configurar novas ligações híbridasScreenshot of Configure New Hybrid Connections

  3. Faça sô-9 com a sua conta Azure para obter as suas Ligações Híbridas disponíveis com as suas subscrições.Sign in with your Azure account to get your Hybrid Connections available with your subscriptions. O HCM não continua a utilizar a sua conta Azure para além disso.The HCM does not continue to use your Azure account beyond that.

  4. Escolha uma subscrição.Choose a subscription.

  5. Selecione as Ligações Híbridas que pretende que o HCM retransmite.Select the Hybrid Connections that you want the HCM to relay. Screenshot de conexões híbridasScreenshot of Hybrid Connections

  6. Selecione Guardar.Select Save.

Agora pode ver as Ligações Híbridas que adicionou.You can now see the Hybrid Connections you added. Também pode selecionar a Ligação Híbrida configurada para ver detalhes.You can also select the configured Hybrid Connection to see details.

Screenshot de detalhes de conexão híbrida

Para suportar as Ligações Híbridas com as qual está configurado, o HCM requer:To support the Hybrid Connections it is configured with, HCM requires:

  • Acesso TCP a Azure sobre a porta 443.TCP access to Azure over port 443.
  • Acesso TCP ao ponto final de ligação híbrida.TCP access to the Hybrid Connection endpoint.
  • A capacidade de fazer pesquisas DNS no anfitrião do ponto final e no espaço de nomes do Service Bus.The ability to do DNS look-ups on the endpoint host and the Service Bus namespace.

Nota

O Azure Relay conta com tomadas web para conectividade.Azure Relay relies on Web Sockets for connectivity. Esta capacidade só está disponível no Windows Server 2012 ou posteriormente.This capability is only available on Windows Server 2012 or later. Por isso, o HCM não é suportado em nada mais cedo do que o Windows Server 2012.Because of that, HCM is not supported on anything earlier than Windows Server 2012.

RedundânciaRedundancy

Cada HCM pode suportar várias Ligações Híbridas.Each HCM can support multiple Hybrid Connections. Além disso, qualquer ligação híbrida dada pode ser suportada por vários HCMs.Also, any given Hybrid Connection can be supported by multiple HCMs. O comportamento padrão é encaminhar o tráfego através dos HCMs configurados para qualquer ponto final.The default behavior is to route traffic across the configured HCMs for any given endpoint. Se pretender uma elevada disponibilidade nas suas Ligações Híbridas a partir da sua rede, execute vários HCMs em máquinas separadas.If you want high availability on your Hybrid Connections from your network, run multiple HCMs on separate machines. O algoritmo de distribuição de carga utilizado pelo serviço Relay para distribuir tráfego aos HCMs é uma atribuição aleatória.The load distribution algorithm used by the Relay service to distribute traffic to the HCMs is random assignment.

Adicione manualmente uma ligação híbridaManually add a Hybrid Connection

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 gateway para a Ligação Híbrida.To enable someone outside your subscription to host an HCM instance for a given Hybrid Connection, share the gateway connection string for the Hybrid Connection with them. Pode ver a cadeia de ligação gateway nas propriedades de Conexão Híbrida no portal Azure.You can see the gateway connection string in the Hybrid Connection properties in the Azure portal. Para utilizar esta corda, selecione Introduza manualmente no HCM e cole na cadeia de ligação gateway.To use that string, select Enter Manually in the HCM, and paste in the gateway connection string.

Adicione manualmente uma ligação híbrida

AtualizarUpgrade

Existem atualizações periódicas ao Gestor de Ligação Híbrida para corrigir problemas ou fornecer melhorias.There are periodic updates to the Hybrid Connection Manager to fix issues or provide improvements. Quando as atualizações forem lançadas, um pop-up aparecerá na UI HCM.When upgrades are released, a popup will show up in the HCM UI. A aplicação da atualização aplicará as alterações e reiniciará o HCM.Applying the upgrade will apply the changes and restart the HCM.

Adicionar uma Ligação Híbrida à sua aplicação programáticamenteAdding a Hybrid Connection to your app programmatically

Existe suporte Azure CLI para ligações híbridas.There is Azure CLI support for Hybrid Connections. Os comandos fornecidos funcionam tanto a nível da aplicação como do plano do Serviço de Aplicações.The commands provided operate at both the app and the App Service plan level. Os comandos de nível de aplicação são:The app level commands are:

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 definir qual a chave que uma determinada ligação híbrida irá utilizar.The App Service plan commands enable you to set which key a given hybrid-connection will use. Há duas teclas definidas em cada Ligação Híbrida, uma primária e uma secundária.There are two keys set on each Hybrid Connection, a primary and a secondary. Pode optar por utilizar a tecla primária ou secundária com os comandos abaixo.You can choose to use the primary or secondary key with the below commands. Isto permite-lhe trocar as teclas para quando pretender regenerar periodicamente as suas chaves.This enables you to switch keys for when you want to periodically regenerate your keys.

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íbridasSecure your Hybrid Connections

Uma conexão híbrida existente pode ser adicionada a outras Aplicações Web do Serviço de Aplicações por qualquer utilizador que tenha permissões suficientes no Relé de autocarros do Serviço Azure subjacente.An existing Hybrid Connection can be added to other App Service Web Apps by any user who has sufficient permissions on the underlying Azure Service Bus Relay. Isto significa que, se tiver de impedir que outros reune a 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é de Autocarros do Serviço Azure.This means that if you must prevent others from reusing that same Hybrid Connection (for example when the target resource is a service that does not have any additional security measures in place to prevent unauthorized access), you must lock down access to the Azure Service Bus Relay.

Qualquer pessoa que tenha Reader acesso ao Relé poderá ver a Ligação Híbrida ao tentar adicioná-la à sua Web App no portal Azure, mas não poderá adicioná-la, uma vez que não tem as permissões necessárias para recuperar a cadeia de ligação que é utilizada para estabelecer a ligação de retransmissão.Anyone with Reader access to the Relay will be able to see the Hybrid Connection when attempting to add it to their Web App in the Azure portal, but they will not be able to add it as they lack the permissions to retrieve the connection string which is used to establish the relay connection. Para poderem adicionar com sucesso a Ligação Híbrida, devem ter a listKeys permissão ( Microsoft.Relay/namespaces/hybridConnections/authorizationRules/listKeys/action ).In order to successfully add the Hybrid Connection, they must have the listKeys permission (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 às suas próprias Aplicações Web.The Contributor role or any other role which includes this permission on the Relay will allow users to use the Hybrid Connection and add it to their own Web Apps.

Resolução de problemasTroubleshooting

O estado de "Conectado" significa que pelo menos um HCM está configurado com essa Ligação Híbrida, e é capaz de chegar a Azure.The status of "Connected" means that at least one HCM is configured with that Hybrid Connection, and is able to reach 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 nenhum HCM que tenha acesso ao Azure.If the status for your Hybrid Connection does not say Connected, your Hybrid Connection is not configured on any HCM that has access to Azure.

A principal razão pela qual os clientes não podem ligar-se ao seu ponto final é porque o ponto final foi especificado usando um endereço IP em vez de um nome DNS.The primary reason that clients cannot connect to their endpoint is because the endpoint was specified by using an IP address instead of a DNS name. Se a sua aplicação não conseguir alcançar o ponto final pretendido e utilizar um endereço IP, mude para usar um nome DNS válido no anfitrião onde o HCM está em execução.If your app cannot reach the desired endpoint and you used an IP address, switch to using a DNS name that is valid on the host where the HCM is running. Verifique também se o nome DNS se resolve corretamente no hospedeiro onde o HCM está em funcionamento.Also check that the DNS name resolves properly on the host where the HCM is running. Confirme que existe conectividade do hospedeiro onde o HCM está a correr até ao ponto final de ligação híbrida.Confirm that there is connectivity from the host where the HCM is running to the Hybrid Connection endpoint.

No Serviço de Aplicações, a ferramenta da linha de comando tcpping pode ser invocada a partir da consola Advanced Tools (Kudu).In App Service, the tcpping command line tool can be invoked from the Advanced Tools (Kudu) console. 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.This tool can tell you if you have access to a TCP endpoint, but it does not tell you if you have access to a Hybrid Connection endpoint. Quando utilizar a ferramenta na consola contra um ponto final de ligação híbrida, está apenas a confirmar que utiliza uma combinação host:porta.When you use the tool in the console against a Hybrid Connection endpoint, you are only confirming that it uses a host:port combination.

Se tiver um cliente de linha de comando para o seu ponto final, pode testar a conectividade a partir da consola de aplicações.If you have a command line client for your endpoint, you can test connectivity from the app console. Por exemplo, pode testar o acesso aos pontos finais do servidor web utilizando o curl.For example, you can test access to web server endpoints by using curl.