¿Qué es Relay de Azure?
El servicio Azure Relay le permite exponer de forma segura servicios que se ejecutan en la red corporativa en la nube pública. Eso se puede hacer sin tener que abrir un puerto en el firewall y sin realizar cambios molestos en la infraestructura de la red corporativa.
El servicio Azure Relay admite los siguientes escenarios entre servicios locales y aplicaciones que se ejecutan en la nube o en otro entorno local.
- Comunicación unidireccional tradicional, de solicitud/respuesta y de punto a punto.
- Distribución de eventos en el ámbito de Internet para habilitar escenarios de publicación/suscripción
- Comunicación de socket bidireccional y sin almacenamiento en búfer en los límites de red.
Azure Relay es diferente a las tecnologías de integración en el nivel de red, como VPN. Una instancia de Azure Relay se puede limitar a un único punto de conexión de la aplicación de una única máquina. La tecnología VPN es mucho más intrusiva, ya que se basa en modificar el entorno de red.
Flujo básico
En el patrón de transferencia de datos, los pasos básicos son:
- Un servicio local se conecta al servicio de retransmisión a través de un puerto de salida.
- Este servicio crea un socket bidireccional para la comunicación asociado a una dirección determinada.
- Después, el cliente puede comunicarse con el servicio local enviando tráfico al servicio de retransmisión destinado a esa dirección.
- El servicio de retransmisión retransmite entonces los datos al servicio local a través de un socket bidireccional dedicado al cliente. El cliente no necesita una conexión directa al servicio local. No necesita conocer la ubicación del servicio. Y el servicio local no necesita ningún puerto de entrada abierto en el firewall.
Características
Relay de Azure tiene dos características:
- Conexiones híbridas: usa los sockets web de estándar abierto, con lo que se admiten escenarios multiplataforma.
- Retransmisiones de WCF: usa Windows Communication Foundation (WCF) para habilitar las llamadas a procedimientos remotos. WCF Relay es la oferta de Relay heredada que muchos clientes ya pueden utilizar con sus modelos de programación de WCF.
conexiones híbridas
La característica Conexiones híbridas de Azure Relay es una evolución segura y de protocolo abierto de las características de Relay que ya existían anteriormente. Puede usarla en cualquier plataforma y en cualquier lenguaje. La característica Conexiones híbridas de Azure Relay se basa en protocolos de HTTP y WebSockets. Le permite enviar solicitudes y recibir respuestas a través de sockets web o HTTP (S). Esta característica es compatible con la API de WebSocket en los exploradores web más habituales.
Para más información sobre el protocolo de Conexiones híbridas, consulte Guía del protocolo de conexiones híbridas. Puede usar Conexiones híbridas con cualquier biblioteca de sockets web de cualquier entorno de ejecución o lenguaje.
Nota
Conexiones híbridas de Azure Relay reemplaza a la anterior característica Conexiones híbridas de BizTalk Services. La característica Conexiones híbridas de BizTalk Services se basaba en Azure Service Bus WCF Relay. La funcionalidad Conexiones híbridas de Azure Relay complementa la característica WCF Relay que ya existía anteriormente. Estas dos funcionalidades del servicio (WCF Relay y Conexiones híbridas) coexisten en el servicio Azure Relay. Aunque comparten una puerta de enlace común, se trata de implementaciones diferentes.
Para empezar a usar conexiones híbridas en Azure Relay, consulte los siguientes inicios rápidos:
- Introducción a WebSockets de Conexiones híbridas de Relay en .NET
- Introducción a WebSockets de Conexiones híbridas de Relay en Node.js
- Introducción a las solicitudes HTTP de Conexiones híbridas de Relay en .NET
- Introducción a las solicitudes HTTP de Conexiones híbridas de Relay en Node
- Conectar ciones híbridas: HTTP de Java
Para más ejemplos, consulte Azure Relay: ejemplos de conexiones híbridas en GitHub.
Retransmisión de WCF
WCF Relay es totalmente compatible con .NET Framework y WCF. Puede crear una conexión entre el servicio local y el servicio de retransmisión mediante un conjunto de enlaces de “retransmisión” WCF. Los enlaces de retransmisión se asignan a nuevos elementos de enlace de transporte diseñados para crear componentes de canal WCF que se integran con Service Bus en la nube.
Para empezar a usar WCF Relay, consulte los siguientes inicios rápidos:
- Exposición de un servicio WCF local a una aplicación web en la nube con Azure Relay
- Exposición de un servicio WCF local en un cliente WCF fuera de la red
- Exposición de un servicio WCF REST local en un cliente fuera de la red
Para más ejemplos,consulte Azure Relay: ejemplos de WCF Relay en GitHub.
Conexiones híbridas en comparación con Retransmisión de WCF
Conexiones híbridas y WCF Relay habilitan una conexión segura a los recursos de dentro de una red corporativa. El uso de una u otra depende de sus necesidades particulares que se detallan en la siguiente tabla:
Retransmisión de WCF | conexiones híbridas | |
---|---|---|
WCF | x | |
.NET Core | x | |
.NET Framework | x | x |
JavaScript/Node.js | x | |
Protocolo abierto basado en estándares | x | |
Modelos de programación de RPC | x |
Arquitectura: Procesamiento de solicitudes entrantes de retransmisión
En el diagrama siguiente se muestra cómo el servicio Azure Relay controla las solicitudes de retransmisión entrantes cuando los clientes de envío y recepción están fuera de una red corporativa.
- El cliente de escucha envía una solicitud de escucha al servicio Azure Relay. Azure Load Balancer enruta la solicitud a uno de los nodos de la puerta de enlace.
- El servicio Azure Relay crea una retransmisión en el almacén de puerta de enlace.
- El cliente de envío envía una solicitud para conectarse al servicio de escucha.
- La puerta de enlace que recibe la solicitud busca la transmisión en el almacén de puerta de enlace.
- La puerta de enlace reenvía la solicitud de conexión a la puerta de enlace correcta mencionada en el almacén de puerta de enlace.
- La puerta de enlace envía una solicitud al cliente de escucha para que cree un canal temporal al nodo de la puerta de enlace que esté más próximo al cliente de envío.
- El cliente de escucha crea un canal temporal a la puerta de enlace más cercana al cliente de envío. Ahora que la conexión está establecida entre los clientes a través de una puerta de enlace, estos pueden intercambiarse mensajes.
- La puerta de enlace reenvía cualquier mensaje del cliente de escucha al cliente de envío.
- La puerta de enlace reenvía cualquier mensaje del cliente de envío al cliente de escucha.
Pasos siguientes
Siga uno o varios de los siguientes inicios rápidos o consulte Ejemplos de Azure Relay en GitHub.
- Conectar ciones híbridas
- Retransmisión WCF
Para obtener una lista de las preguntas más frecuentes y sus respuestas, consulte Preguntas más frecuentes sobre Relay.