Forma correcta de interactuar con Redshift dentro de una subred privada en AWS

Un usuario Pregunto ✅

áspera99

Entonces, nuestro Redshift está fuera de DWH ubicado dentro de una subred privada en AWS. Queremos conectarnos desde el servicio en la nube de PowerBI a Redshift.

Entonces, según mi lectura y comprensión anteriores de https://community.powerbi.com/t5/Integrations-with-Files-and/Connect-data-from-Amazon-AWS-Services/m… planeamos hacerlo por lanzar una instancia de servidor de Windows en AWS VPC e instalar una puerta de enlace de datos local, que puede acceder a la subred privada.

Básicamente, On Premise Gateway es una especie de proxy para acceder a mi base de datos privada. Eso suena perfectamente bien ya que mi base de datos no está expuesta.

¿Es esta la mejor manera de tratar esto o hay mejores enfoques?

áspera99

En respuesta a v-yuezhe-msft

Finalmente lo descubrí y lo hice funcionar, aquí está mi solución para las personas que tienen su corrimiento al rojo no disponible para Internet público.

Por lo tanto, no se puede acceder a nuestro corrimiento al rojo desde el exterior, solo está disponible para aquellas máquinas que están en la misma red (AWS VPC). Dado que no es accesible desde el exterior, el conector de corrimiento al rojo existente no funcionará.

Así que lancé una instancia de Windows dentro de la misma red donde vive redshift. Hizo una conexión ODBC con corrimiento al rojo. instaló los controladores odbc apropiados en la puerta de enlace.

Publiqué el archivo pbix en el servicio PowerBI, configuré la puerta de enlace odbc en el servicio powerbi y pude actualizar los datos del clúster redshift.

@harsha99,

La puerta de enlace se usa para conectar y actualizar conjuntos de datos locales en el servicio Power BI. En su escenario, dado que Amazon Redshift es un servicio en la nube, no se requiere una puerta de enlace.

Además, para crear informes mediante el consumo de datos de AWS Redshift, primero debe usar el conector de Amazon Redshift en Power BI Desktop para conectarse a la fuente de datos, luego crear informes y publicarlos en el servicio Power BI.

Referencia:
https://powerbi.microsoft.com/en-us/blog/anuncio-de-soporte-para-amazon-redshift-reports-in-the-power…

Saludos,
lidia

SMHolck

En respuesta a v-yuezhe-msft

Claro, si Redshift es la única fuente a la que se está conectando, no necesita una puerta de enlace. Pero mi equipo entiende que cuando combinamos datos OnPrem con datos Redshift en el mismo conjunto de datos, ahora tenemos que dejar que la puerta de enlace de datos local maneje todas las conexiones, no solo las locales… lo que significa enrutar todos los datos de redshift a la puerta de enlace de datos local y de regreso al servicio powerbi.com. ¿Es esto correcto? ¿O hay otra/mejor manera? Si bien es inconveniente y más lento, el mayor problema es que On Prem generalmente significa un firewall. Nuestros administradores de red incluyen en la lista blanca el rango de direcciones IP para llegar a Redshift, pero el rango parece cambiar aleatoriamente, lo que da como resultado una actualización que antes funcionaba y que de repente envía un mensaje de «Restablecimiento de conexión por par» porque no puede atravesar el firewall. Mi conocimiento de redes es escaso. ¿Cómo han solucionado esto otras empresas?

golson99

En respuesta a SMHolck

Hemos llegado a la misma conclusión dentro de nuestra organización. Nuestro clúster Redshift también está en la lista blanca por dirección IP, por lo que la opción de conectividad directa no es viable para nosotros cuando las direcciones IP para el servicio Power BI cambian regularmente. Implementamos la puerta de enlace local y la instancia EC2 en la misma VPC que nuestro clúster Redshift. Sería bueno si MSFT funcionara para proporcionar una solución para la conectividad directa de Redshift que sea viable, ya que dudo que alguna organización tenga su clúster de Redshift completamente abierto a Internet. También luchamos constantemente con las limitaciones de tamaño del conjunto de datos con licencias de nivel Pro y continuamente tenemos que recortar conjuntos de datos. Sería bueno si simplemente pudiéramos pagar conjuntos de datos más grandes sin tener que pasar a la licencia Enterprise.

áspera99

En respuesta a v-yuezhe-msft

@ v-yuezhe-msft Estoy de acuerdo con lo que mencionó, eso parece absolutamente cierto si Amazon Redshift tiene una conexión de acceso público.

Pero, ¿qué sucede si solo se puede acceder a Redshift dentro de AWS VPC, es decir, sin conexión a Internet pública? Entonces, probablemente no haya forma de que el servicio PowerBI acceda a él, ¿verdad?

En tales casos, ¿Gatway es la única opción?

En respuesta a áspera99

@harsha99,

No estoy familiarizado con AWS VPC, cuando publica un archivo PBIX que solo contiene la fuente de datos Redshift en el servicio Power BI, ¿le solicita que instale la puerta de enlace?

Saludos,
lidia

áspera99

En respuesta a v-yuezhe-msft

Finalmente lo descubrí y lo hice funcionar, aquí está mi solución para las personas que tienen su corrimiento al rojo no disponible para Internet público.

Por lo tanto, no se puede acceder a nuestro corrimiento al rojo desde el exterior, solo está disponible para aquellas máquinas que están en la misma red (AWS VPC). Dado que no es accesible desde el exterior, el conector de corrimiento al rojo existente no funcionará.

Así que lancé una instancia de Windows dentro de la misma red donde vive redshift. Hizo una conexión ODBC con corrimiento al rojo. instaló los controladores odbc apropiados en la puerta de enlace.

Publiqué el archivo pbix en el servicio PowerBI, configuré la puerta de enlace odbc en el servicio powerbi y pude actualizar los datos del clúster redshift.

gustavop182

En respuesta a áspera99

¡Muchas gracias por regresar y publicar la solución @harsha99! Esto me ayudó hoy.

Srinivas576

En respuesta a áspera99

Hola Harsha,

Tengo un requisito similar:

1) Configure la puerta de enlace de datos local entre los clústeres de Amazon Redshift alojados en la VPC de la subred privada al servicio Power BI.

2) ¿Necesito instalar Controlador ODBC de Amazon Redshift (64 bits) en la máquina de puerta de enlace?

cualquier paso adicional debe configurarse para que mi solución funcione correctamente.

Me encantaría y me gustaría conectarme, si vuelvo a asrinivasa576@gmail.com o 9866828867

Saludos,

Srinivas

Saludos,

Srinivas

Facundo_Afectv

En respuesta a áspera99

@harsha99, ¡muchas gracias por compartir la solución! Después de seguir todos los pasos, mi informe no puede actualizarse en el servicio Power BI (en línea) porque no puede encontrar una fuente de datos adecuada en una puerta de enlace. De acuerdo a

https://docs.microsoft.com/en-us/power-bi/service-gateway-enterprise-manage-scheduled-refresh#using-…

el truco es que los nombres del servidor y de la base de datos deben coincidir en el ODBC local que se usa en el escritorio de Power BI y el que se usa para configurar la fuente de datos disponible a través de la puerta de enlace. Aún así, no logra encontrar una coincidencia.

Lista de verificación de lo que he configurado:

* Máquina Windows de 64 bits en EC2 con:

** Controlador ODBC de Amazon instalado.

** El DSN del sistema se conectó con éxito a nuestro clúster Redshift.

** IP pública sin restricciones de redes entrantes/salientes (¡esto es temporal para probar!).

** Configuración de puerta de enlace local de Power BI (no personal).

* Máquina local con:

** Controlador ODBC de Amazon instalado.

** El DSN del sistema se conectó con éxito a nuestro clúster Redshift.

** Escritorio Power BI.

** Informe de Power BI que utiliza ODBC para recuperar correctamente los datos de Redshift.

* Servicio Power BI (online) con:

** La puerta de enlace local se configuró con la fuente de datos ODBC conectada correctamente.

** Informe de Power BI publicado desde el escritorio.

¿Hay algún detalle específico de su configuración que crea que podría hacer que funcione?

¡Muchas gracias!

áspera99

En respuesta a Facundo_Afectv

Verifique si el controlador en las cadenas ODBC es el mismo en el servicio y en el escritorio, el controlador en mi configuración es «Amazon Redshift (x64)»

En el escritorio, al crear una fuente de datos (DSN) en lugar de seleccionar «Amazon RedShift ODBC DSN», seleccione ninguno y configure la cadena de conexión con la misma cadena de conexión que ve en el servicio en línea de Power BI.

Espero que ayude. si funciona, no dude en actualizar como comentario a mi respuesta aquí https://stackoverflow.com/questions/48773043/connecting-to-private-amazon-redshift-from-powerbi-serv….

Facundo_Afectv

En respuesta a áspera99

¡Muchas gracias a @harsha99 por insinuar la respuesta! En realidad, el DSN no se puede configurar a través de una cadena de conexión ya que solo se proporciona un formulario. Sin embargo, el origen de datos en el servicio Power BI usa una cadena de conexión para configurarse. La diferencia era que la cadena de conexión generada por la puerta de enlace en modo personal no solo contenía el servidor y la base de datos, sino también el nombre DSN. ¡Esta configuración aparentemente redundante funcionó! Entonces, para recapitular: al definir la fuente de datos en el servicio Power BI, asegúrese de que su cadena de conexión se vea así:

driver={Amazon Redshift (x64)};server=<server>;dsn=<data source name>

donde el nombre del origen de datos debe coincidir con el del origen de datos del sistema ODBC definido en la máquina Windows donde está instalado el Data Gateway local.

adikvak86

En respuesta a Facundo_Afectv

Hola,

Seguimos los mismos pasos que se indicaron anteriormente, pero no pudimos conectar el escritorio powerbi a redshift privado.

error: – tiempo de espera de conexión.

sugiera cómo conectarse a AWS redhsift dentro de una VPC desde la herramienta de escritorio power bi. usamos el conector odbc (obtener datos -> odbc) para ingresar los detalles de la conexión redshift.

Como redhsift está dentro de un n/w privado, ¿funcionará el conector odbc? ¿Necesitamos usar conectores personalizados?


@Facundo_Affectv escribió:

¡Muchas gracias a @harsha99 por insinuar la respuesta! En realidad, el DSN no se puede configurar a través de una cadena de conexión ya que solo se proporciona un formulario. Sin embargo, el origen de datos en el servicio Power BI usa una cadena de conexión para configurarse. La diferencia era que la cadena de conexión generada por la puerta de enlace en modo personal no solo contenía el servidor y la base de datos, sino también el nombre DSN. ¡Esta configuración aparentemente redundante funcionó! Entonces, para recapitular: al definir la fuente de datos en el servicio Power BI, asegúrese de que su cadena de conexión se vea así:

driver={Amazon Redshift (x64)};server=<server>;dsn=<data source name>

donde el nombre del origen de datos debe coincidir con el del origen de datos del sistema ODBC definido en la máquina Windows donde está instalado el Data Gateway local.



@Facundo_Affectv escribió:

¡Muchas gracias a @harsha99 por insinuar la respuesta! En realidad, el DSN no se puede configurar a través de una cadena de conexión ya que solo se proporciona un formulario. Sin embargo, el origen de datos en el servicio Power BI usa una cadena de conexión para configurarse. La diferencia era que la cadena de conexión generada por la puerta de enlace en modo personal no solo contenía el servidor y la base de datos, sino también el nombre DSN. ¡Esta configuración aparentemente redundante funcionó! Entonces, para recapitular: al definir la fuente de datos en el servicio Power BI, asegúrese de que su cadena de conexión se vea así:

driver={Amazon Redshift (x64)};server=<server>;dsn=<data source name>

donde el nombre del origen de datos debe coincidir con el del origen de datos del sistema ODBC definido en la máquina Windows donde está instalado el Data Gateway local.


Facundo_Afectv

En respuesta a Facundo_Afectv

@ harsha99 La replicación de esos pasos para la puerta de enlace en modo personal funciona (ejecutándose en la misma máquina donde se ejecuta la empresa), pero la empresa no.

Yasda08

En respuesta a v-yuezhe-msft

Hola,

Los paneles/informes se pueden publicar en Power BI Cloud, que utiliza una conexión a la puerta de enlace local para obtener datos. Sin embargo, ¿qué sucede si el informe tiene fuentes de datos locales y Reshift? ¿Cómo se conecta Power BI Cloud a AWS Redshift a través de la nube?

Resumen:

1. Se puede acceder a los datos locales desde la nube a través de la puerta de enlace local

2. ¿Cómo se podrá acceder a los datos de Redshift desde el servicio en la nube de power bi?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *