O que é o Azure Relay?

O serviço Azure Relay permite-lhe expor em segurança serviços que são executados na rede empresarial na cloud pública. Pode fazê-lo sem abrir uma porta na firewall ou efetuar alterações intrusivas na sua infraestrutura de rede empresarial.

O serviço de reencaminhamento suporta os seguintes cenários entre serviços no local e aplicações em execução na cloud ou noutro ambiente no local.

  • Comunicação unidirecional tradicional, pedido/resposta e ponto a ponto
  • Distribuição de eventos no âmbito da Internet para permitir cenários de publicação/subscrição
  • Comunicação de socket bidirecional e sem limites de rede

O Azure Relay difere das tecnologias de integração ao nível da rede, como a VPN. O Azure Relay pode ser específico de um ponto final de aplicação única num computador. A tecnologia VPN é bastante mais intrusiva, uma vez que depende da alteração do ambiente de rede.

Fluxo básico

No padrão de transferência de dados reencaminhados, os passos básicos envolvidos são:

  1. Um serviço no local liga-se ao serviço de reencaminhamento através de uma porta de saída.
  2. Cria um socket bidirecional para comunicação associada a um endereço específico.
  3. Em seguida, o cliente pode comunicar com o serviço no local ao enviar tráfego para o serviço de reencaminhamento direcionado para esse endereço.
  4. Em seguida, o serviço de reencaminhamento reencaminha os dados para o serviço no local através de um socket bidirecional dedicado ao cliente. O cliente não precisa de uma ligação direta ao serviço no local. Não precisa de saber a localização do serviço. O serviço no local não precisa de nenhuma porta de entrada aberta na firewall.

Funcionalidades

O Reencaminhamento do Azure tem duas funcionalidades:

  • Ligações Híbridas - utiliza web sockets de padrão aberto para permitir cenários de multiplataformas.
  • Reencaminhamentos do WCF - utiliza o Windows Communication Foundation (WCF) para ativar chamadas de procedimento remoto. O Reencaminhamento do WCF é a oferta de Reencaminhamento legada e que muitos utilizadores já utilizam nos respetivos modelos de programação do WCF.

Ligações Híbridas

A funcionalidade Ligações Híbridas do Azure Relay é uma evolução de protocolo aberto seguro das funcionalidades de reencaminhamento que existiam anteriormente. Pode utilizá-la em qualquer plataforma e em qualquer linguagem. A funcionalidade Ligações Híbridas do Azure Relay baseia-se nos protocolos HTTP e WebSockets. Permite enviar pedidos e receber respostas através de sockets Web ou HTTP(S). Esta funcionalidade é compatível com a API de WebSocket em browsers comuns.

Para obter detalhes sobre o protocolo de Ligações Híbridas, veja Guia do protocolo de Ligações Híbridas. Pode utilizar as Ligações Híbridas com qualquer biblioteca de sockets Web para qualquer runtime/linguagem.

Nota

As Ligações Híbridas do Azure Relay substituem a antiga funcionalidade de Ligações Híbridas dos Serviços BizTalk. A funcionalidade Ligações Híbridas dos Serviços BizTalk foi criada com base no Reencaminhamento do WCF do Azure Service Bus. A capacidade Ligações Híbridas do Azure Relay complementa a funcionalidade de Reencaminhamento do WCF já existente. Estas duas capacidades de serviço (Reencaminhamento do WCF e Ligações Híbridas) existem lado a lado no serviço Azure Relay. Partilham um gateway comum, mas, de resto, são implementações diferentes.

Para começar a utilizar Ligações Híbridas no Azure Relay, veja os seguintes guias de introdução:

Para obter mais exemplos, veja Exemplos de Reencaminhamento do Azure - Ligações Híbridas no GitHub.

Reencaminhamento do WCF

O Reencaminhamento do WCF funciona com o .NET Framework completo e no WCF. Cria uma ligação entre o serviço no local e o serviço de reencaminhamento através de um conjunto de enlaces de "reencaminhamento" do WCF. Os enlaces de reencaminhamento mapeiam para novos elementos de enlace de transporte concebidos para criar componentes de canal WCF que se integram com o Service Bus na cloud.

Para começar a utilizar o Reencaminhamento de WCF, veja os seguintes guias de introdução:

Para obter mais exemplos, veja Reencaminhamento do Azure – Exemplos de Reencaminhamento do WCF no GitHub.

Ligações Híbridas vs. Reencaminhamento de WCF

Tanto as Ligações Híbridas como o Reencaminhamento do WCF permitem ligações seguras a recursos que existem dentro de uma rede empresarial. A utilização de uma funcionalidade em detrimento da outra depende das suas necessidades específicas, conforme descrito na tabela seguinte:

Reencaminhamento do WCF Ligações Híbridas
WCF x
.NET Core x
.NET Framework x x
JavaScript/Node.js x
Standards-Based Open Protocol (Protocolo Aberto Baseado em Normas) x
Modelos de programação RPC x

Arquitetura: processamento de pedidos de reencaminhamento recebidos

O diagrama seguinte mostra como os pedidos de reencaminhamento recebidos são processados pelo serviço de Reencaminhamento do Azure quando os clientes de envio e receção estão fora de uma rede empresarial.

Processamento de Pedidos de Reencaminhamento de WCF Recebidos

  1. O cliente de escuta envia um pedido de escuta para o serviço Azure Relay. O balanceador de carga do Azure encaminha o pedido para um dos nós de gateway.
  2. O serviço Azure Relay cria um reencaminhamento no arquivo de gateway.
  3. O cliente de envio envia um pedido para ligar ao serviço de escuta.
  4. O gateway que recebe o pedido procura o reencaminhamento no arquivo de gateway.
  5. O gateway encaminha o pedido de ligação para o gateway correto mencionado no arquivo de gateway.
  6. O gateway envia um pedido para o cliente de escuta para este criar um canal temporário para o nó de gateway que está mais próximo do cliente de envio.
  7. O cliente de escuta cria um canal temporário para o gateway que está mais próximo do cliente de envio. Agora que a ligação é estabelecida entre os clientes através de um gateway, os clientes podem trocar mensagens entre si.
  8. O gateway reencaminha todas as mensagens do cliente de escuta para o cliente de envio.
  9. O gateway encaminha qualquer outra forma de mensagens do cliente de envio para o cliente de escuta.

Passos seguintes

Siga um ou mais dos seguintes guias de introdução ou veja Exemplos de Reencaminhamento do Azure no GitHub.

Para obter uma lista das perguntas mais frequentes e as respetivas respostas, veja FAQ sobre o Reencaminhamento