Configuración de clúster en AWS Redshift

13/25

Lectura

¡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

  1. Abre el sitio web de AWS Free Tier aquí.

⚠️Es importante recordar que el free tier tiene un período de 1 año para que no te cobre AWS.

  1. Dentro del buscador de detalles de nivel gratuito busca “redshift”.
aws_free.png
  1. Observa que podrás tener una prueba gratuita de 2 meses de AWS Redshift al elegir un nodo tipo DC2.Large.

redshift_free.pngDC2_large_aws.png

⚠️⚠️⚠️ 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í.

inicia_sesion_aws.png

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.

consola_region_aws.png

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.

buscar_redshift.png
Esto te llevará a la consola de Redshift.

redshift_console.png

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.

clusteres_redshift.png

5. Crea el clúster

Dentro del panel de clústeres da clic en el botón naranja Crear clúster.

crear_cluster_redshift.png
En la configuración del clúster da nombre al clúster. Puedes llamarlo demo-platzi-curso-etl. Elige la prueba gratuita.

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.

free_cluster.png
Una vez seleccionados estos campos, desciende para establecer el usuario y contraseña del clúster de Redshift.

⚠️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.

admin_pass_cluster.png
Finalmente, da clic en el botón naranja Crear clúster.

⌛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.

cluster_listo.png

6. Modificar las reglas de seguridad del clúster

Entra al clúster dando clic en el nombre dentro del panel de clústeres.

cluster_listo.png
Entra a la pestaña de Propiedades.

propiedades.png

Baja hasta la sección de Configuración de red y seguridad y da clic sobre el Grupo de seguridad de la VPC.

VPC_sec.png
Selecciona el ID del grupo de seguridad.

id_grupo_seguridad.png
Baja y da clic en Editar reglas de entrada.

reglas_de_entrada.png

Da clic en el botón inferior Agregar regla

agregar_regla.png
En tipo elige Redshift y en origen elige 0.0.0.0/0. Finalmente, da clic en el botón naranja Guardar reglas.

nueva_regla_entrada.png
Regresa al panel del clúster a la zona de configuración de red y seguridad. Da clic en el botón editar.

editar_seguridad.png
Desciende y en la parte inferior marca la casilla Activar accesibilidad pública. Da clic en el botón naranja Guardar cambios.

red_seguridad_publica.png

⚠️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 +.

database_dataspell.png
Selecciona la opción de Data Source y dentro del menú desplegable busca y elige la opción de Amazon Redshift.

workspace 3_2_2023 7_48_03 PM.png
Regresa al panel del administrador del clúster de Redshift en la consola de AWS y copia el punto de enlace.

copiar-punto-enlace.png
Regresa a la interfaz de tu gestor de bases de datos e ingresa los los siguientes datos para conectar a la base de datos:

  • Host: es la url del punto de enlace que copiaste eliminando la parte final “:5439/dev”. Tendrá una forma como server.redshift.amazonaws.com
  • Port: 5439
  • User: demoplatzi o el que hayas puesto.
  • Password: la que le hayas puesto a tu clúster de AWS Redshift cuando lo creaste en el paso 5.
  • Database: dev

database_con_redshift.png
Da clic en el botón de Test Connection o su correspondiente para probar la conexión. Si estás en DataSpell te pedirá actualizar unos drivers, dile que OK.

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.

conexion_redshift_ok.png
¡Listo tienes creado tu clúster con una base de datos dev en Redshift y te has conectado a ella! 🚀

conexión_redshift.png

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.

s3.png
Da clic en el botón naranja Crear bucket en el panel de S3.

panel-s3.png
Da un nombre al bucket. Este nombre debe ser único, ya que no puede haber más de un bucket de S3 con el mismo nombre. También asegúrate que la región de AWS sea la misma que hayas elegido para tu clúster de Redshift, en nuestro caso fue us-west-2.

crear_bucket_s3.png
Desciende hasta abajo y da clic en el botón naranja Crear bucket.

boton-crear-bucket.png
¡Listo, ya deberá aparecer que tienes tu bucket creado! 👏🏽

bucket_creado.png

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. ⚙️➡️

Aportes 8

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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.

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.

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

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

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:


En vscode utilicen la extensión SQLTools y luego instalan los drivers requeridos, en este caso los de PostgresSQL y Redshift