DanLevy.net

Quiz: AWS Storage: 20+ preguntas

¿Puedes navegar por el laberinto de la nube?

¿Te apuntas al cloud?! 🤡

Vamos a fondo con los servicios de almacenamiento de AWS. Este quiz evalúa tu dominio de S3, DynamoDB, Aurora, RDS, ElastiCache y el resto del stack. Desde buenas prácticas hasta esos gotchas que te rompen un despliegue, repasaremos el terreno del almacenamiento cloud.

Prepárate para demostrar que sabes lo que haces. 🚀

Última verificación: 8 de mayo de 2026. Los límites y precios de AWS cambian rápidamente.

¿Qué significa el nombre S3?

S3 significa Servicio de almacenamiento simple. Es un servicio de almacenamiento de objetos escalable diseñado para guardar grandes volúmenes de datos.

AWS S3 ofrece varias clases de almacenamiento:

  • Estándar: Para datos a los que se accede con frecuencia
  • Acceso infrecuente (IA): Menor costo para accesos menos frecuentes
  • Glacier: Almacenamiento de archivo a largo plazo y bajo costo

Cada clase presenta precios y características de acceso distintos, lo que te permite optimizar costos ajustándote a los patrones reales de uso de tus datos.

Más información sobre las clases de almacenamiento de S3

¿Qué significa que DynamoDB se describa como “sin esquema”?

DynamoDB se considera “sin esquema” porque permite almacenar propiedades arbitrarias en los elementos sin requerir un esquema predefinido.

Mejores prácticas de DynamoDB

¿Qué API de DynamoDB actualiza atributos en un único elemento existente?

La clave aquí es actualizar, no insertar ni hacer PUTs. Si estás haciendo inserciones, puedes usar BatchWriteItem o TransactWriteItems.

Aunque BatchWriteItem puede manejar múltiples operaciones, está limitado a PUTs y DELETES. TransactWriteItems es más potente, pero es un poco como usar un mazo para actualizaciones simples. Para actualizaciones simples, UpdateItem es la mejor opción. Te permite ACTUALIZAR, o modificar uno o más atributos en un elemento existente.

La operación UpdateItem modifica un solo elemento por solicitud. Para cargas masivas (backfills) o actualizaciones por lotes, normalmente orquestarás muchas llamadas a UpdateItem o usarás un flujo de trabajo más amplio como la ejecución por lotes de PartiQL, Step Functions, Glue, EMR o un proceso worker personalizado.

La operación UpdateItem:

  • Actualiza los atributos de un elemento existente.
  • Añade nuevos atributos a un elemento existente.
  • Elimina atributos de un elemento existente.
  • Realiza la actualización de forma condicional si el elemento existe o cumple ciertas condiciones.

DynamoDB UpdateItem

¿Cuál de estos servicios de AWS está diseñado específicamente para búsqueda de texto completo y análisis de búsqueda?

OpenSearch es el servicio administrado de AWS para búsqueda, análisis de registros y cargas de trabajo de búsqueda de texto completo.

Las demás opciones son servicios útiles, pero no son el motor de búsqueda diseñado específicamente en esta lista:

  • ElastiCache: Principalmente una caché en memoria. El actual ElastiCache para Valkey incluye comandos de búsqueda para datos indexados en memoria, por lo que ya no es preciso describir todo el servicio como carente de búsqueda integrada.
  • Neptune: Base de datos de grafos; puede integrarse con OpenSearch para búsqueda de texto completo.
  • Redshift: Almacén de datos para análisis SQL.
  • DocumentDB: Base de datos de documentos con búsqueda de texto compatible con MongoDB en las versiones admitidas.

¿Cuál es el beneficio principal del despliegue Multi-AZ en RDS?

Las Zonas de Disponibilidad (AZ) son centros de datos físicamente separados dentro de una misma región. El despliegue Multi-AZ de RDS se encarga del failover automático hacia una réplica en espera ubicada en una AZ cercana.

El despliegue Multi-AZ:

  • Garantiza conmutación por error automática
  • Maximiza la disponibilidad de tu base de datos
  • Mantiene una réplica en espera síncrona
  • Reduce al mínimo el tiempo de inactividad ante fallos de infraestructura

Ojo: no confundas Multi-AZ con las réplicas de lectura, que están diseñadas exclusivamente para escalar la carga de consultas de lectura.

👋 ¡Espero que te lo estés pasando bien hasta ahora!

Prepárate para una difícil…

¿Qué servicio de AWS ofrece APIs WebSocket gestionadas en las que AWS se encarga de la conexión del cliente y enruta los mensajes hacia las integraciones?

API Gateway admite APIs WebSocket bidireccionales, pero la implementación es gestionada por el propio servicio en lugar de ser un socket directo a tu proceso de servidor. API Gateway mantiene la conexión del cliente y enruta los mensajes a Lambda, endpoints HTTP u otras integraciones. Los mensajes pueden enviarse de vuelta a los clientes conectados a través de la API Gateway Management API.

Las demás opciones son mucho más amigables con WebSockets:

  • Lightsail: Perfecto para configuraciones simples de WebSocket 👌
  • AppSync: Utiliza WebSockets para suscripciones GraphQL gestionadas
  • EC2: Tu clásica opción de “haz lo que quieras” para WebSockets
  • EKS: Ideal para ejecutar clústeres de WebSocket escalables

Consejo pro: Si necesitas el poder total de los WebSockets sin procesar, ¡quédate con los servicios de cómputo!

¿Cuál es el enfoque recomendado para los permisos de buckets de S3?

En prácticamente TODOS los sistemas, adoptar un diseño de “menor privilegio” es una forma clave de fortalecer y preparar para el futuro. Intentar asegurar un sistema existente es tan difícil como trasladar un edificio de oficinas completo a unos nuevos cimientos.

Los buckets de S3 no son la excepción. Para aplicar el principio de menor privilegio, comienza sin permisos y otorga solo el acceso necesario. Usa roles y políticas de IAM para controlar el acceso y audita regularmente los permisos de los buckets.

Mejores prácticas de seguridad:

  • Aplica el principio de menor privilegio
  • Comienza sin permisos
  • Otorga solo el acceso necesario
  • Usa roles y políticas de IAM
  • Audita regularmente los permisos de los buckets

Evita configuraciones excesivamente permisivas que podrían exponer datos sensibles.

Mejores prácticas de seguridad en S3

¿Cuál es la característica clave de Aurora Serverless?

Aurora Serverless:

  • Escala automáticamente la capacidad de cómputo
  • Ajusta los recursos según la carga de trabajo
  • Ideal para cargas de trabajo impredecibles
  • Solo pagas por los recursos que usas

Perfecto para aplicaciones con patrones de tráfico variables.

Aurora Serverless Overview

¡Una pregunta más sobre lotes en DynamoDB!
¿Cuál es el número máximo de elementos que puedes recuperar con una única solicitud BatchGetItem de DynamoDB?

El SDK de DynamoDB te permite recuperar hasta 100 elementos en una única solicitud BatchGetItem. Este límite es mayor que el de BatchWriteItem, que es de 25 elementos. Además, existen límites en el tamaño total de la carga útil, el tamaño del documento y la tasa de solicitudes.

Comprender estos límites es crucial para optimizar el rendimiento de tu aplicación y garantizar operaciones de datos eficientes.

Nota: Es posible superar algunos de estos límites… si sabes convencer a tu administrador de cuentas de AWS. 😎

¿Cuál es el número máximo de documentos que DynamoDB puede UPDATE por lote?

Los clientes de DynamoDB son, en esencia, envoltorios para su API HTTP. La operación BatchWriteItem permite PUT o DELETE hasta 25 documentos por solicitud HTTP, pero no puede UPDATE múltiples documentos.

Si bien DynamoDB puede INSERT hasta 25 documentos por solicitud HTTP, solo puede UPDATE 1 documento por solicitud utilizando la operación UpdateItem.

¿Cuándo deberías usar la capacidad bajo demanda de DynamoDB?

La capacidad bajo demanda es ideal para:

  • Cargas de trabajo impredecibles
  • Tráfico esporádico
  • Aplicaciones con patrones de acceso desconocidos
  • Evitar el sobreaprovisionamiento

La capacidad aprovisionada es mejor para:

  • Cargas de trabajo predecibles y constantes
  • Mayor control sobre el rendimiento
  • Posibles ahorros de costos

Modos de capacidad de DynamoDB

¿Cómo exprimir el máximo rendimiento de S3 con altas tasas de solicitud?

Consejos de rendimiento para S3:

  • El S3 moderno escala automáticamente las tasas de solicitud por prefijo
  • No necesitas prefijos aleatorios/hash para mejorar el rendimiento
  • Usa nombres de clave lógicos que se ajusten a tus patrones de acceso
  • Monitorea los errores 503 Slow Down si llevas las solicitudes al límite

Las guías antiguas recomendaban aleatorizar los prefijos para evitar particiones calientes, pero AWS ya no lo considera un requisito de rendimiento por defecto.

Directrices de rendimiento de S3

¿Cuál es el enfoque recomendado para respaldar RDS?

Prácticas recomendadas para respaldos:

  • Habilita los respaldos automatizados
  • Usa la recuperación a un punto en el tiempo
  • Conserva los respaldos según los requisitos de cumplimiento
  • Prueba el proceso de restauración regularmente
  • Considera los respaldos entre regiones

Los respaldos automatizados te brindan:

  • Protección continua de datos
  • Opciones de recuperación flexibles

Mejores prácticas de respaldo de RDS

¿Cuál es la diferencia clave entre Redis y Memcached en ElastiCache?

Ventajas de Redis:

  • Admite estructuras de datos complejas
  • Opciones de persistencia
  • Operaciones avanzadas
  • Mensajería Pub/Sub

Memcached:

  • Almacén clave-valor simple
  • Caché puro
  • Alto rendimiento para casos de uso sencillos

Redis vs Memcached

¿Cuál es el propósito de un Índice Secundario Global en DynamoDB?

Índice Secundario Global (GSI):

  • Permite consultar atributos que no son parte de la clave primaria
  • Crea patrones de acceso alternativos
  • Aumenta la flexibilidad en las consultas
  • Genera un costo adicional por capacidad de escritura

Útil para requisitos de consulta complejos que van más allá de la clave primaria.

Índices de DynamoDB

¿Qué permite hacer la gestión del ciclo de vida de S3?

Gestión del ciclo de vida:

  • Transiciona automáticamente objetos entre clases de almacenamiento
  • Mueve datos de acceso infrecuente a almacenamiento más económico
  • Configura reglas para la expiración de objetos
  • Optimiza los costos de almacenamiento
  • Reduce la sobrecarga de gestión manual

Reglas del ciclo de vida de S3

¿Cuál es el número máximo de réplicas de lectura que admite Amazon Aurora?

Amazon Aurora admite hasta 15 réplicas de lectura, lo que te permite escalar significativamente tus operaciones de lectura. Estas réplicas se benefician de:

  • Replicación casi instantánea entre réplicas
  • Impacto mínimo en el rendimiento de la instancia principal
  • Distribución eficiente de las cargas de trabajo de lectura

Esta configuración permite el escalado horizontal para aplicaciones con altas demandas de lectura.

Más información sobre las réplicas de lectura de Aurora

¿Qué capacidades de cifrado proporciona RDS?

Características de cifrado de RDS:

  • Cifra datos en reposo mediante KMS
  • Cifra datos en tránsito mediante SSL/TLS
  • Habilita el cifrado durante la creación de la base de datos
  • Protege información sensible
  • Cumplimiento de estándares de seguridad

Opciones de cifrado de RDS

¿Cuál es el uso principal de DynamoDB Streams?

DynamoDB Streams:

  • Capturar cambios a nivel de elemento
  • Habilitar arquitecturas basadas en eventos
  • Activar funciones Lambda
  • Soportar replicación entre regiones
  • Proporcionar movimiento de datos en casi tiempo real

Descripción general de DynamoDB Streams

¿Cuál es el mejor método para subir archivos grandes a S3?

Beneficios de Multipart Upload:

  • Maneja archivos grandes de forma eficiente
  • Permite reanudar subidas interrumpidas
  • Subida paralela de las partes del archivo
  • Recomendado para archivos > 100 MB
  • Mayor confiabilidad de red

S3 Multipart Upload

¿Cuál es el enfoque más rentable para almacenar 1 PB de datos con un 20 % de acceso diario, un 30 % mensual y un 50 % anual?

Estrategia de almacenamiento óptima:

  • 20 % en S3 Standard para acceso diario
  • 30 % en S3 Standard-IA para acceso mensual
  • 50 % en Glacier para acceso anual

Este enfoque optimiza los costos sin sacrificar los patrones de acceso necesarios.

Consideraciones de costo:

  • Precio de almacenamiento por GB
  • Costos de recuperación
  • Patrones de acceso
  • Costos de transición

Una tabla de DynamoDB tiene una capacidad de lectura aprovisionada de 100 RCUs. ¿Cuántas lecturas fuertemente consistentes de elementos de 4KB se pueden realizar por segundo?

Comprender los modelos de consistencia de DynamoDB es crucial:

  • 1 RCU = 1 lectura fuertemente consistente/segundo para elementos de hasta 4KB
  • 1 RCU = 2 lecturas eventualmente consistentes/segundo para elementos de hasta 4KB

Por lo tanto:

  • 100 RCUs = 100 lecturas fuertemente consistentes de 4KB/segundo
  • 100 RCUs = 200 lecturas eventualmente consistentes de 4KB/segundo

Elige los modelos de consistencia en función de:

  • Los requisitos de la aplicación
  • Consideraciones de costo
  • Necesidades de rendimiento
  • Requisitos de actualización de datos

En un clúster de Aurora con múltiples réplicas de lectura, ¿qué ocurre exactamente durante una conmutación por error automática cuando la instancia principal se cae?

Proceso de conmutación por error de Aurora:

  1. Detecta la caída de la instancia principal
  2. Selecciona una réplica de Aurora priorizando el nivel de prioridad de conmutación por error
  3. Usa características de la instancia como desempate si las prioridades coinciden
  4. Actualiza automáticamente el endpoint del clúster

Mejores prácticas:

  • Mantén varias réplicas distribuidas en distintas AZs
  • Configura los niveles de promoción con criterio
  • Conecta tus aplicaciones al endpoint del clúster
  • Simula fallos y prueba la conmutación regularmente

Desde finales de 2020, ¿qué modelo de consistencia garantiza S3 para todas las operaciones?

Modelo de consistencia de S3:

  • Consistencia fuerte de lectura tras escritura para todas las operaciones
  • Se aplica a PUTs y DELETEs
  • Olvídate de los parches y soluciones alternativas de antes
  • Sin costo adicional

Impacto:

  • Lógica de aplicación mucho más limpia
  • Adiós a las verificaciones manuales de consistencia
  • Lecturas inmediatas y fiables justo tras escribir
  • Mayor fiabilidad general de tu aplicación

¿Cómo maneja realmente la función TTL de DynamoDB la eliminación de elementos?

Características del TTL en DynamoDB:

  • Un proceso en segundo plano monitorea el atributo TTL
  • Los elementos expirados se eliminan bajo una programación de mejor esfuerzo. ¿Por qué? Porque el borrado es asíncrono para no bloquear las operaciones de lectura/escritura, por lo que suele tardar unos pocos días
  • Sin costo adicional por habilitar TTL
  • Los elementos eliminados se reflejan en los streams

Casos de uso ideales:

  • Gestión de sesiones
  • Expiración de logs
  • Limpieza automática de datos temporales
  • Cumplimiento de normativas de retención

¿Cuál es la consideración clave al confiar en Aurora Serverless para manejar picos repentinos de tráfico?

Escalado de Aurora Serverless:

  • Aurora Serverless v2 escala la capacidad en incrementos granulares de ACU
  • La velocidad de escalado depende de la capacidad actual y de los ajustes de ACU mín/máx
  • Las versiones compatibles pueden pausarse automáticamente a 0 ACU si se configura
  • Facturación por segundo basada en ACU

Mejores prácticas:

  • Configura una capacidad mínima lo suficientemente alta para absorber picos repentinos en cargas de trabajo críticas
  • Monitorea los eventos de escalado
  • No olvides la gestión de conexiones

Vaya, esta aventura se metió de lleno en los detalles técnicos. 🚀☁️ Espero que hayas disfrutado el recorrido y, de paso, hayas aprendido un par de cosas sobre los servicios de almacenamiento de AWS.

Echa un vistazo a más desafíos de Dan! 🧠

Aviso legal: Este cuestionario es solo con fines educativos. Todas las marcas registradas y derechos de autor pertenecen a sus respectivos propietarios, especialmente a los grandes.