Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Mejores prácticas para la entrega de datos
Las siguientes prácticas recomendadas le ayudan a aprovechar al máximo la entrega de datos en Amazon Kinesis Data Streams. Para ver la lista completa de las métricas de entrega a las que se hace referencia en estas recomendaciones, consulteSupervisión de la entrega de datos.
Rendimiento y actualización de los datos
Ajuste la frecuencia de entrega y controle la latencia de entrega para que el tamaño de los archivos de salida y la actualización de los datos se adapten a su carga de trabajo:
-
Defina el
DataFreshnessInSecondsparámetro en función del rendimiento de su transmisión. Los valores más bajos aumentan la frecuencia de entrega, pero pueden resultar en archivos de salida más pequeños. Los valores más altos permiten acumular más datos para cada ciclo de entrega. -
Crea una CloudWatch alarma de Amazon en la
DataFreshnessmétrica para detectar si la latencia de entrega supera el umbral aceptable. -
Puede crear varias entregas a partir de la misma transmisión de Kinesis Data Streams. Cada entrega funciona de forma independiente, lo que le permite entregar datos a varios destinos simultáneamente.
Administración de esquemas (tablas de streaming en Apache Iceberg)
Como las entregas de tablas de streaming están vinculadas a un esquema fijo y no admiten la evolución del esquema, gestione sus esquemas con cuidado para evitar errores en las entregas:
-
Registre sus esquemas en AWS Glue Schema Registry antes de crear una entrega. La entrega utiliza el esquema registrado para definir la estructura de la tabla de destino.
-
Las entregas no admiten la evolución del esquema. Si el esquema cambia, debe eliminar y volver a crear la entrega con el esquema actualizado.
-
Utilice la validación del esquema por parte del productor para garantizar que todos los registros se ajusten al esquema registrado antes de escribirlos en la transmisión. Esto minimiza los errores en la entrega de registros.
Diseño de objetos S3 (buckets Amazon S3 de uso general)
Diseñe los objetos entregados para mejorar el rendimiento de las consultas posteriores y controlar los costes de almacenamiento:
-
Elija una plantilla de claves de salida que se adapte a los patrones de consulta de sus consumidores intermedios. Por ejemplo, usa prefijos basados en fechas si tus consultas se filtran con frecuencia por intervalo de tiempo.
-
Habilite la compresión GZIP o ZSTD para reducir los costos de almacenamiento y mejorar el rendimiento de lectura para las cargas de trabajo de análisis posteriores.
-
Elija la clase de almacenamiento de Amazon S3 adecuada en función de sus patrones de acceso a los datos. Utilice STANDARD para los datos a los que se accede con frecuencia, INTELLIGENT_TIERING para permitir que Amazon S3 mueva automáticamente los objetos entre los niveles de acceso o GLACIER_IR para los datos a los que se accede con poca frecuencia y que aún necesitan ser recuperados en milisegundos.
Seguridad
Proteja sus datos y credenciales de entrega con el mínimo privilegio de acceso, cifrado y auditoría:
-
Limita tu política de IAM al segmento o tabla específicos a los que se refiere la entrega. Evita usar ARN de recursos comodín.
-
Incluya las claves
aws:SourceArny las claves deaws:SourceAccountcondición en la política de confianza del rol de IAM utilizado por la entrega. Esto evita el confuso problema de adjunto, ya que garantiza que solo su proveedor específico pueda asumir esa función. -
Habilite el AWS CloudTrail registro para auditar todas las llamadas a la API de entrega y los cambios de configuración.
-
Utilice una AWS KMS clave gestionada por el cliente para los datos confidenciales. Esto le da un control total sobre la rotación de claves, las políticas de acceso y los registros de auditoría.
Dead-letter cola
Capture y diagnostique los registros que no se pueden entregar configurando y supervisando una cola de cartas sin salida:
-
Configure siempre una cola de entrega con letra muerta. Los registros que no se pueden entregar en el destino se envían a la cola de letra muerta para su posterior inspección.
-
Supervise la
DLQDeliverySuccessmétrica (DeliveryToS3.DLQDeliverySuccessoDeliveryToIceberg.DLQDeliverySuccess) CloudWatch para detectar cuándo los registros se envían a la cola de letra muerta. -
Inspeccione periódicamente las entradas de las colas con letra muerta para identificar los patrones de los errores de entrega y tomar medidas correctivas a nivel del productor o de la configuración de entrega.
Supervisión
Detecte los problemas de entrega a tiempo alarmando en función de CloudWatch las métricas clave y habilitando los registros de entrega:
-
Cree CloudWatch alarmas en las métricas de entrega
DataFreshnessy registre los errores (DeliveryToS3.FailedRecordCountoDeliveryToIceberg.FailedRowCount) para detectar de forma proactiva los problemas de entrega. -
Habilite CloudWatch los registros de su entrega para capturar diagnósticos de entrega detallados y mensajes de error.
-
Realice un seguimiento de la métrica de bytes entregados (
DeliveryToS3.BytesOutoDeliveryToIceberg.BytesOut) para supervisar el rendimiento e identificar caídas inesperadas en el volumen de datos.