Cómo conectarse a Azure Compute Emulator ejecutándose en una computadora remota

 C Programming >> Programación C >  >> Tags >> Azure
Cómo conectarse a Azure Compute Emulator ejecutándose en una computadora remota

Hoy nos encontramos con un problema interesante en el trabajo. Mi compañero de trabajo tenía un prototipo de nuestro servicio de ingestión ejecutándose dentro del emulador de computación de Azure en su máquina local. El servicio Ingestion aloja un extremo websocket al que los clientes de la consola Xbox deben conectarse para transmitir datos.

Una vez que terminó con las pruebas, quise probar mi conjunto de cambios sin implementar el emulador de cómputo azure en mi máquina.

Sin embargo, encontramos que el emulador de cómputo en la máquina de mis colegas, se ejecuta en su dirección de loopback 127.0.0.1:81 , no se pudo acceder desde mi máquina de desarrollo a pesar de que estamos en la misma red.

Después de probar algunas cosas, finalmente solucionamos el problema configurando el reenvío de puertos en su máquina. T Los pasos se documentan a continuación como referencia.

Pasos para acceder a Azure Compute Emulator de forma remota
PASO 1: Anote el puerto en el que se ejecuta el servicio de ingesta en el emulador de almacenamiento.

En nuestro caso. Fue 127.0.0.1:81 . Puede ver esto desde la bandeja del sistema de Windows al:

una. Haga clic con el botón derecho en el ícono del emulador de Azure como se muestra a continuación y seleccione "Mostrar interfaz de usuario del emulador de cómputo"

b. En la interfaz de usuario de Compute Emulator, vaya a "Detalles del servicio ” para su servicio implementado en la sección Implementaciones de servicios como se muestra a continuación.

PASO 2: Cree un servicio de reenvío de paquetes tcp desde el puerto 82 al puerto 81 en la máquina que ejecuta el emulador de cómputo.

Ejecute el siguiente comando desde un símbolo del sistema administrativo.

portproxy de interfaz netsh add v4tov4 listenport=82 connectaddress=127.0.0.1 connectport=81 protocol=tcp

Lo que esto hará esencialmente es recibir todo el tráfico destinado al puerto 82 en la máquina de mis colegas y luego reenviarlo al puerto 81 donde se ejecuta el servicio del emulador de cómputo de Azure. Puede encontrar detalles adicionales sobre el comando aquí:

https://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx

Puede verificar la configuración de reenvío de puertos usando:

portproxy de interfaz netsh mostrar todo

El resultado de ejecutar este comando en nuestro caso se muestra a continuación:

PASO 3: [Opcional] Cree una regla de firewall para permitir el tráfico TCP entrante en el puerto 82

Vaya a Panel de control -> Sistema y seguridad -> Firewall de Windows .

Seleccione "Configuración avanzada ” y luego cree una regla de entrada para permitir todo el tráfico TCP en el puerto 82.

Y eso es todo:con esta configuración, pude establecer una conexión websocket en la dirección IP de mi colega desde mi programa cliente. Puede usar la misma solución si está implementando un rol web de Azure e intenta probarlo en el emulador de computación de Azure.

Espero que esto ayude. Deje un comentario si tiene algún problema al implementar la solución alternativa anterior.