Configuración de clúster en AWS Redshift
Clase 13 de 25 • Curso de Fundamentos de ETL con Python y Pentaho
Contenido del curso
Clase 13 de 25 • Curso de Fundamentos de ETL con Python y Pentaho
Contenido del curso
¡Hola, te doy la bienvenida! Me da gusto encontrarte en este curso. Soy Alexis, profesor de AWS en Platzi.
Te acompañaré para crear un clúster y su base de datos en AWS Redshift y un bucket en S3. Los usaremos para el target del ETL de este curso.
Antes de continuar, quiero recordarte que es importante que tengas el conocimiento de lo que aprendemos en estos dos cursos donde tengo el gusto de ser tu profe:
Te servirá para que este proceso te sea mucho más familiar y para que ya tengas creada tu cuenta de AWS.
Si ya lo tienes sigue estos pasos para configurar el target de tu ETL.
Entra a AWS Free Tier
⚠️Es importante recordar que el free tier tiene un período de 1 año para que no te cobre AWS.
⚠️⚠️⚠️ Recuerda que es muy muy importante que elijas ese tipo de nodo DC2.Large al crear el clúster de AWS Redshift. Para que sea gratuito por 2 meses, de lo contrario se te harán cobros a tu tarjeta.
Ya que sabes esto, avanza a crear el clúster en los siguientes pasos.
Creación de clúster en AWS Redshift
1. Inicia sesión en la consola de AWS
Da clic en iniciar sesión en la parte superior derecha o aquí.
2. Elige tu región
Después de iniciar sesión en tu cuenta de AWS elige la región donde crearás el clúster en la parte superior derecha de la consola de AWS.
Te sugiero elegir la región de Oregon (us-west-2) que es la que usamos en este curso, pero puedes seleccionar la que mejor te convenga. Solo recuerda cual es para que la pongas al cargar los datos desde la notebook de Python.
3. Buscar el servicio de Redshift
Busca "redshift" en el cuadro de búsqueda de servicios y da clic en la opción Amazon Redshift que aparece.
4. Ve al panel de clústeres
Dentro de la consola de Redshift ve al panel de la izquierda que se despliega con el ícono de las tres rayas horizontales. Selecciona la opción de Clústeres.
5. Crea el clúster
Dentro del panel de clústeres da clic en el botón naranja Crear clúster.
En el resumen de configuración calculada deberás ver que el tipo de nodo sea **dc2.large. ⚠️Recuerda que esto es importante de verificar para que sea gratuito el uso de tu Redshift durante 2 meses.
⚠️Recuerda guardar en un lugar seguro estas credenciales, como en un gestor de contraseñas, para que puedas conectarte al clúster.
Nombra demoplatzi al Nombre de usuario y pon una contraseña segura.
⌛Espera hasta que el estado de creación del clúster lo marque en verde como Available. Esto puede demorar varios minutos, para revisar el estado da clic en el botón refrescar de la flecha en círculo.
6. Modificar las reglas de seguridad del clúster
Entra al clúster dando clic en el nombre dentro del panel de clústeres.
Baja hasta la sección de Configuración de red y seguridad y da clic sobre el Grupo de seguridad de la VPC.
Da clic en el botón inferior Agregar regla
⚠️Esto es algo que no debe hacerse en entornos de producción. En este caso lo harás al ser un demo con fines educativos, para evitar complicaciones de configuración adicional de accesos de seguridad.
7. Conéctate a Redshift desde tu gestor de bases de datos.
Abre tu gestor, ya sea DataSpell, DBeaver o pgAdmin.
Dentro de tu gestor crea una nueva conexión a una base de datos de tipo Redshift. Es muy importante buscar la opción de Redshift.
En el caso de DataSpell ve a la pestaña de Database y en ella da clic en el botón de signo de +.
Una vez que indique que la conexión es exitosa, da clic en el botón OK, o en el botón disponible de otro gestor, para aceptar la conexión.
Creación de bucket de almacenamiento en AWS S3
Para el ETL crearás un bucket en S3 donde temporalmente almacenarás unos archivos CSV donde guardarás los datos de las tablas que has creado en el proceso de transformación.
1. Entra al panel de S3 desde la consola de AWS.
Busca "S3" en el buscador de la consola y selecciona la opción de S3.
Avanza a la siguiente clase para crear las tablas donde cargarás los datos de los archivos CSV que crearás durante el proceso de carga y donde configurarás ciertas variables de entorno por seguridad. ⚙️➡️
Elio José Gabancho Catunta
Juan Ramón Salazar Garate
Carlos Eduardo Bracho Rosales
Alarcon7a
Carlos Eduardo Bracho Rosales
Camilo Granda Gómez
Luis Damián Campana
Camilo Granda Gómez
Juan Sebastián Vargas Castañeda
Oscar Dario Florez Diaz
Camilo Granda Gómez
Oscar Dario Florez Diaz
Fermin Leonardo Espinosa Torres
Guillermo Leonardo Montaño Medina
nicolas machare
Mauricio Escobar
Oscar Gama
Luis Damián Campana
Macarena Rodriguez
Milton Cardozo
Milton Cardozo
Milton Cardozo
andres maldonado
Para aquellos que ya no ven la opción gratuita disponible, también pueden considerar utilizar la región América del Sur (São Paulo) sa-east-1. En esta región, todavía es posible aprovechar la capa gratuita, tal como se describe en la lectura y también crear un bucket en S3 hasta la fecha de este comentario. Además, recomiendo explorar la opción de Redshift Serverless como una nueva alternativa para aprovechar la capa gratuita.
¿Puede actualizar esta guía? , se supone que debe de incluir la versión gratuita y la verdad que no me aparece en ningún lado.
Miren esta imagen:
La verdad que le tengo muchas expectativas a este curso, pero quisiera que me apoyen con esta pregunta
🙁 Estoy en esta parte y me estoy preguntando mismo
Hola Juan, Aca puedes tener mas informacion, https://aws.amazon.com/es/redshift/free-trial/ .... de igual manera para fines del curso tambien podrias hacer el load a postgres en otro esquema, no es estrictamente necesario que sea redshift, las ETL funcioan en muchos motores y los conceptos son los mismos
Amazon decidio reemplazar la prueba con DC2.large por la prueba serverless, ya consegui el articulo de su anuncio.
Es de apenas hace 3 dias: 23 de Marzo del 2023 Link del articulo
Donde nos deja eso? 😅 supongo que tendremos que usar el serverless free trial.
Me gustaría que por favor nos aclararan si aún se puede usar el nodo DC2.large de manera gratuita por dos meses. Por mi parte, a mi no me aparece la opción "prueba gratuita" al momento de crear el clúster, sino que sale una recomendación de probar Redshift Serverless de manera gratuita. Gracias.
3 meses y sin respueta, para que voy a preguntar... que mal platzi se les están quedando desactualizados los cursos.
Hola Damian. Al final si pude crear el clúster por 2 meses, aunque también está la opción de usar Redshift Serverless. Hice la pregunta porque con AWS hay que tener mucho cuidado con los servicios que usamos.
Si se deciden a usar el nodo DC2.large con todas las condiciones como están dadas en la guía, vayan siempre a Arriba a la derecha para verificar que si estén en la capa gratuita:
Billing Dashboard -> Free Tier
Y en el home de billing dashboard siempre vean este desglose:
Por favor actualizar esta guia de configuracion, al dia que coloque este comentario Redshift en su capa gratuita usa la version serverless y la configuracion cambia a la que se muestra en la guia. Gracias
Es confuso porque en la información sobre los servicios de la capa gratuita aún aparece el nodo DC2.large, pero al momento de crear el clúster no aparece la opción "Prueba gratuita" sino la que dices, Serverless. ¿Ya la usaste?
Hola Camilo, si en este momento lo estoy usando para el curso.
Despues de un rato teniendo problemas intentando crear el cluster me di cuenta que seleccionando la region Oregon (us-west-2) como se recomienda en las instrucciones no permite usar los valores por defecto del cluster, toca crear una VPC y otros recursos. Al final cambie la region del cluster a N. Virginia (us-east-1) y ya pude usar los valores por defecto en la sección "Additional configurations" creando el cluster facilmente.
Ya teniendo el cluster creado, se pueden seguir los pasos desde el punto 6 "Modificar las reglas de seguridad del cluster" sin problema.
Si lo van a hacer con Redshift Serverless, selecciona default-workgroup en lugar de propiedades. Ahí podrás continuar con los siguientes pasos
Complementando este comentario. Si pudieron crear todo y les da problemas de conexion por timeout, es por las security rules. Dejo dos turoriales con posibles soluciones. En mi caso cree un security group nuevo que permite todas las conexiones
En la parte 7 al especificar el host: Host: es la url del punto de enlace que copiaste eliminando la parte final “:5439/dev” ¿Por qué hacemos esto?
Hola Al parecer es porque al incluir ese segmento se hace conexión a una base de datos llamada dev que al parecer si esta creada en Amazon Redshift pero no se puede acceder a ella ya que arroja este mensaje
DBMS: Amazon Redshift (no ver.) Case sensitivity: plain=mixed, delimited=exact [3D000] FATAL: database "dev:5439/dev" does not exist.
llegué hasta aqui y no pude avanzar más... https://static.platzi.com/media/user_upload/nueva_regla_entrada-1da7eb6a-fc6d-4ebe-8a34-1d49dfcc6b8b.jpg
Que herramienta puede ser paralela a esta pero por el lado de microsoft¡?
Como me conecto a mi cluster con pgAdmin ya que me esta apareciendo un error el cual es el siguiente
'client_min_messages' para permitir que PgAdmin lo configure a 'notice'
y no he podido encontrar a que se debe
Como se hace en pgadmin
no se puede agragar el origen 0.0.0.0/0 hay una forma de poder hacerlo otoca poner otra direccion
En vscode utilicen la extensión SQLTools y luego instalan los drivers requeridos, en este caso los de PostgresSQL y Redshift