¡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
- 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.
- Dentro del buscador de detalles de nivel gratuito busca "redshift".
- Observa que podrás tener una prueba gratuita de 2 meses de AWS Redshift al elegir un nodo tipo DC2.Large.
⚠️⚠️⚠️ 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.
Esto te llevará a la consola de Redshift.
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 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.
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.
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.
6. Modificar las reglas de seguridad del clúster
Entra al clúster dando clic en el nombre dentro del panel de clústeres.
Entra a la pestaña de
Propiedades.
Baja hasta la sección de Configuración de red y seguridad y da clic sobre el Grupo de seguridad de la VPC.
Selecciona el
ID del grupo de seguridad.
Baja y da clic en
Editar reglas de entrada.
Da clic en el botón inferior Agregar regla
En
tipo elige
Redshift y en
origen elige
0.0.0.0/0. Finalmente, da clic en el botón naranja
Guardar reglas.
Regresa al panel del clúster a la zona de configuración de red y seguridad. Da clic en el botón editar.
Desciende y en la parte inferior marca la casilla
Activar accesibilidad pública. Da clic en el botón naranja
Guardar cambios.
⚠️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 +.
Selecciona la opción de
Data Source y dentro del menú desplegable busca y elige la opción de Amazon Redshift.
Regresa al panel del administrador del clúster de Redshift en la consola de AWS y copia el punto de enlace.
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
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.
¡Listo tienes creado tu clúster con una base de datos
dev en Redshift y te has conectado a ella! 🚀
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.
Da clic en el botón naranja
Crear bucket en el panel de S3.
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.
Desciende hasta abajo y da clic en el botón naranja
Crear bucket.
¡Listo, ya deberá aparecer que tienes tu bucket creado! 👏🏽
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. ⚙️➡️