Cómo crear un clúster Elasticsearch en AWS
Clase 42 de 52 • Curso de Big Data en AWS
Contenido del curso
Arquitecturas
Extracción de información
- 9

Cómo mover datos a cloud con SDK y CLI
02:21 min - 10

Python y boto3 para listar buckets S3
10:16 min - 11

Boto3: inicializar clients de AWS en Python
03:56 min - 12

API Gateway como puerta de big data
03:40 min - 13

Storage Gateway: puerta entre on-premise y S3
03:13 min - 14

AWS Kinesis: streaming masivo de datos
05:53 min - 15

Cómo crear Kinesis Data Stream en AWS
06:50 min - 16

Despliegue automatizado de Kinesis con CloudFormation
10:42 min - 17

Cómo Kinesis Firehose entrega datos en tiempo real
03:27 min - 18

Configuración de Kinesis Firehose en AWS
05:45 min - 19
Configuración Básica de Amazon Kinesis Firehose en AWS
02:53 min - 20

MSK vs Kinesis: cuál elegir en AWS
03:42 min - 21

Creación de clúster AWS MSK desde la consola
07:21 min
Transformación de Información
- 22

Cómo AWS Glue transforma datos en la nube
06:33 min - 23

Instalación de Apache Zeppelin paso a paso
04:49 min - 24

Configurar developer endpoint de AWS Glue con Zeppelin
05:38 min - 25

Conexión de Apache Zeppelin con AWS
08:29 min - 26

Configurar AWS Glue Crawler para poblar catálogo
08:15 min - 27

Configuración de Developer Endpoint en AWS Glue
08:00 min - 28

Cómo configurar AWS Glue ETL desde S3 a Parquet
10:23 min - 29

Qué es EMR y cuándo usarlo
05:30 min - 30

Crear tu primer cluster de AWS EMR
09:01 min - 31

Conectar Apache Zeppelin a EMR
03:18 min - 32

EMR automatizado con CloudFormation
06:32 min - 33

AWS Lambda para proyectos de big data
07:02 min - 34

Lambdas en big data: real time y batch
04:54 min - 35

Configuración de AWS Lambda para Big Data
07:16 min
Carga de Información
Consumo de información
Seguridad, Orquestación y Automatización
Clase pública
Aprende a desplegar y asegurar un clúster de Elasticsearch en AWS con un enfoque práctico: creación de dominio, elección de instancias, zonas de disponibilidad, cifrado con KMS, control de acceso con Cognito, uso de VPC o acceso público, y manejo de endpoints para Kibana e integraciones. Todo con recomendaciones claras para dimensionamiento, costos y operación sin interrupciones.
¿Cómo crear un dominio de Elasticsearch en AWS paso a paso?
Para iniciar, se busca el servicio de Elasticsearch en la consola de AWS y se crea un nuevo dominio. Se elige el tipo de implementación personalizado para ver cada detalle. La versión soportada por el servicio es 6.4, aunque la versión open source puede ir más adelante.
- Asigna un nombre al dominio: Platzi Domain.
- Define zonas de disponibilidad: tres, dos o una. Para productivo, se recomienda tres zonas.
- Selecciona tipo de instancia: Amazon sugiere series I; también se pueden usar optimizadas en memoria como R4.2xlarge.
- Ejemplo elegido: I3.2xlarge con tres instancias como nodos de datos.
- Considera instancias maestras dedicadas: recomendadas cuando el clúster es muy grande. Si se deshabilitan, habrá una maestra por defecto.
- Costo: con tres instancias, el pricing se triplica frente a una.
- Almacenamiento: en instancias tipo I viene predeterminado; en tipo R se especifica a detalle.
- Seguridad: habilita cifrado de nodo a nodo y en reposo; en reposo integra automáticamente con KMS.
- Ventana horaria: configura la hora preferida para los snapshots automáticos.
- Opciones avanzadas: se pueden ajustar parámetros de caché para consultas.
Al continuar, se elige el despliegue dentro de una VPC (recomendado) o con acceso público. Con VPC, Amazon sugiere un proxy reverso para consultar Kibana. Si se usa acceso público, lo más recomendado es integrarlo con Amazon Cognito y un pool de usuarios para mayor seguridad.
Para la política de acceso, se parte de una plantilla JSON. Puede configurarse acceso libre al dominio aceptando el riesgo. La política resultante define: efecto permitir, recurso del dominio y acciones sobre el servicio de Elasticsearch. Tras el resumen, se confirma el despliegue. Al finalizar, se entregan dos endpoints: uno para Elasticsearch y otro para Kibana.
¿Qué configuraciones de instancias, almacenamiento y seguridad importan?
El éxito del despliegue depende de un dimensionamiento y controles bien definidos. Estas decisiones impactan desempeño, estabilidad y costos.
- Tipo de instancia: series I para rendimiento general. Series R optimizadas en memoria. Series M pueden limitar características como cifrado con KMS.
- Nodos y maestros: comenzar con una instancia maestra y redimensionar al crecer. Para clústeres muy grandes, maestras dedicadas.
- Almacenamiento: predeterminado en tipo I. En tipo R debe detallarse.
- Cifrado: habilitar nodo a nodo y en reposo siempre en productivo.
- Acceso: VPC recomendado; acceso público viable con Cognito para autenticación de usuarios.
- Costos: más nodos implican pricing proporcionalmente mayor.
- Integración: Elasticsearch está integrado con Logstash y Kibana para visualización.
- Variables de capacidad: cantidad de charts, almacenamiento y número de índices definen el dimensionamiento.
¿Cómo operar, monitorear y actualizar el clúster?
Tras el despliegue, se puede observar el estado, nodos y métricas clave. Un ejemplo operativo muestra un clúster con versión 6.3, un único nodo y dos endpoints. Ese endpoint se usa para integrar con Kinesis Firehose o con funciones Lambda para ingesta.
- Panel del dominio: estado activo, cantidad de nodos y uso de CPU.
- Índices: visualiza cuántos hay. En un entorno de ejemplo, pueden no existir índices aún.
- Registros e historial: disponible para auditoría y seguimiento.
- Actualizaciones: es posible hacer un upgrade domain administrado a versiones más recientes sin downtime de data.
- Reubicación de datos: antes de actualizar, el dimensionamiento de charts debe estar adecuado para evitar demoras al mover información.
¿Tienes dudas sobre la elección de instancias, seguridad con Cognito o el uso de Kinesis Firehose y Lambda? Comparte tus preguntas y cuéntanos tu escenario para ayudarte a afinar el despliegue.