Choisir un service Kinesis pour l'ingestion en continu.
Traitement contrĂŽlĂ© par le consommateur en moins d'une seconde â Kinesis Data Streams. Livraison entiĂšrement gĂ©rĂ©e vers S3/Redshift/OpenSearch avec conversion de format optionnelle â Kinesis Data Firehose.
Pourquoi: KDS conserve les enregistrements (24h-365j) et prend en charge plusieurs consommateurs. Firehose n'a pas de relecture ; il échange la relecture contre une livraison sans opérations.
Référence
Le flux atteint des erreurs ProvisionedThroughputExceeded pendant les pics.
Redimensionner les shards (Reshard). Chaque shard prend en charge 1 Mo/s ou 1 000 enregistrements/s en ingestion, 2 Mo/s en sortie. Utiliser des clés de partition uniformes ; activer l'Enhanced Fan-Out pour >2 Mo/s par consommateur.
Pourquoi: Les clés de partition "chaudes" concentrent le trafic sur un seul shard. Les clés aléatoires ou basées sur le hachage répartissent la charge.
Référence
La charge de travail de streaming est irréguliÚre et imprévisible ; le redimensionnement manuel des shards (resharding) est une difficulté opérationnelle.
Kinesis Data Streams en mode capacité à la demande. S'adapte automatiquement jusqu'à 200 Mo/s par défaut ; paiement au volume de données.
Référence
Plusieurs consommateurs lisant le mĂȘme flux atteignent la limite de lecture de 2 Mo/s/shard.
Enhanced Fan-Out. Chaque consommateur obtient 2 Mo/s/shard dédiés via SubscribeToShard basé sur HTTP/2 en mode push.
Référence
Maximiser le débit d'ingestion depuis l'application cÎté producteur.
Kinesis Producer Library (KPL) avec agrégation + collection. Regroupe plusieurs enregistrements utilisateur en un seul enregistrement Kinesis jusqu'à 1 Mo ; réduit le coût des opérations PUT.
Pourquoi: Un PutRecord unique est limité en débit et coûteux à 50k événements/s. KPL agrÚge cÎté client.
Référence
Déposer un flux de clics JSON dans S3 au format Parquet, partitionné par heure d'événement.
Firehose avec conversion de format d'enregistrement (JSON â Parquet) utilisant une table Glue Data Catalog + partitionnement dynamique sur l'horodatage de l'Ă©vĂ©nement.
Pourquoi: Parquet + partitionnement réduit considérablement le coût de scan d'Athena. Le partitionnement dynamique évite une étape ETL distincte.
Référence
Certains enregistrements échouent lors de la transformation ou de la livraison Firehose ; il faut les capturer pour relecture.
Configurer une sauvegarde S3 avec `AllData` ou `FailedDataOnly`. Les enregistrements échoués sont déposés au préfixe configuré avec les métadonnées d'erreur.
Référence
Assurer aucune perte de données dans MSK si un AZ de broker échoue.
Facteur de réplication ℠3 sur 3 AZ et `min.insync.replicas=2` avec `acks=all` du producteur. Activer le Multi-AZ via KRaft sans ZooKeeper ou un placement de broker sur 3 AZ.
Référence
Diffuser des données de MSK vers S3, OpenSearch ou RDS sans gérer un cluster Kafka Connect.
MSK Connect avec un connecteur géré (Confluent S3 Sink, Debezium pour CDC). Met à l'échelle automatiquement les workers par WCU.
Référence
Un topic stocke la derniĂšre version d'un enregistrement par clĂ© ; les anciennes versions peuvent ĂȘtre supprimĂ©es.
DĂ©finir `cleanup.policy=compact` pour le topic. Kafka conserve la valeur la plus rĂ©cente pour chaque clĂ© ; les enregistrements plus anciens avec la mĂȘme clĂ© sont Ă©ligibles Ă la compaction.
Référence
Transfert hebdomadaire récurrent de 10 To d'un NFS sur site vers S3 via Direct Connect.
AWS DataSync avec agent sur site + tùche planifiée. Vérifie l'intégrité des données, prend en charge les transferts incrémentiels, en parallÚle.
Pourquoi: DataSync est plus rapide que aws-cli sync et gÚre nativement la limitation de bande passante, les tentatives et la vérification.
Référence
Extraire des données des API SaaS (Salesforce, ServiceNow, Zendesk) vers S3 selon un calendrier.
AWS AppFlow. Connecteurs gérés, OAuth pris en charge, déclenché par calendrier ou événement, écrit du Parquet vers S3.
Référence
RĂ©pliquer les changements en cours d'un SQL Server sur site vers Aurora MySQL avec un temps d'arrĂȘt minimal.
AWS DMS avec tùche de chargement complet + CDC. Utiliser Schema Conversion Tool (SCT) pour la conversion de schémas/code hétérogÚnes avant DMS.
Référence
L'instance de réplication DMS échoue - la réplication est interrompue.
Activer le Multi-AZ sur l'instance de réplication. Standby synchrone dans une autre AZ ; basculement automatique.
Référence
Besoin d'analyses en quasi temps réel sur les données OLTP Aurora sans pipeline ETL.
IntĂ©gration Aurora zero-ETL vers Redshift. RĂ©plication continue des donnĂ©es Aurora vers Redshift ; les requĂȘtes voient les nouvelles donnĂ©es en quelques secondes.
Pourquoi: Ălimine les pipelines DMS / Glue / CDC personnalisĂ©s pour le cas d'utilisation OLTP vers entrepĂŽt de donnĂ©es.
Référence
Déplacer 100 To d'archives historiques d'un site sur site vers S3 ; bande passante limitée.
AWS Snowball Edge Storage Optimized. Dispositif physique expédié sur site ; copier les données ; renvoyer.
Référence
Le JSON source contient des tableaux imbriqués ; l'analyse relationnelle en aval nécessite des lignes aplaties.
Transformation `Relationalize` de Glue PySpark (ou `explode()` dans DataFrame) qui aplatit les tableaux imbriqués en lignes/tables séparées.
Référence
Glue Crawler déduit des types ambigus (`choice<int,string>`) à partir de données CSV désordonnées.
Appliquer la transformation `ResolveChoice` - convertir en type spécifique ou projeter en struct. Ou corriger à la source en imposant un schéma.
Référence
Le job Glue ETL s'exécute toutes les heures sur des données S3 croissantes ; besoin de traiter uniquement les nouveaux fichiers.
Activer les signets de job Glue (Glue job bookmarks). Glue suit les fichiers/partitions traités et les ignore lors des réexécutions.
Pourquoi: Ăvite le retraitement de l'ensemble des donnĂ©es. Requis pour les pipelines ETL incrĂ©mentiels.
Référence
Le job Glue Spark échoue avec une erreur OutOfMemoryError sur le pilote lors de grandes agrégations.
Passer aux workers G.2X ou G.4X (plus de mémoire pilote) ou activer les prédicats push-down `--enable-glue-datacatalog` pour réduire les données mélangées.
Référence
Exécuter un Spark Structured Streaming continu sur une source Kinesis avec une infrastructure gérée.
Job ETL de streaming AWS Glue. Spark Structured Streaming en arriĂšre-plan ; point de contrĂŽle vers S3.
Référence
Un analyste commercial doit nettoyer et transformer des données sans écrire de code.
AWS Glue DataBrew. Transformations visuelles basées sur des recettes (plus de 250), profilage, lignage. Sortie vers S3, Redshift, RDS.
Référence
Exécuter un job Glue ETL uniquement aprÚs que le Crawler ait mis à jour avec succÚs le Data Catalog.
Workflow Glue avec dĂ©clencheurs conditionnels. SuccĂšs du Crawler â dĂ©clenchement du job ETL. Ăchec â ignorer / alerte.
Référence
Le Crawler déduit toutes les colonnes CSV comme `string` - nécessite des types date et nombre.
Ajouter un classificateur Glue personnalisĂ© (modĂšle Grok ou indice de colonne) avant le crawling. Alternativement, prĂ©-Ă©crire une ligne d'en-tĂȘte avec des types explicites.
Référence
Plusieurs producteurs/consommateurs sur Kafka ont besoin d'une évolution de schéma sans se perturber mutuellement.
AWS Glue Schema Registry avec des rÚgles de compatibilité (BACKWARD/FORWARD/FULL). Les producteurs enregistrent le schéma ; les consommateurs récupÚrent + valident.
Référence
Choisir entre EMR et Glue pour l'ETL Spark.
Spark personnalisĂ© de longue durĂ©e avec un rĂ©glage approfondi, plusieurs frameworks (Hive, Presto, Flink) â EMR. ETL serverless Ă paiement par tĂąche avec intĂ©gration Glue Data Catalog â Glue. Spark irrĂ©gulier/imprĂ©visible â EMR Serverless.
Référence
Jobs Spark/Hive intermittents ; souhaite zéro opération de cluster et pas de calcul inactif.
EMR Serverless. Pools de capacité pré-initialisés pour des démarrages à faible latence ; mise à l'échelle par job ; paiement par heure vCPU.
Référence
Combiner des nĆuds de cĆur Ă la demande + des nĆuds de tĂąche Spot pour un EMR optimisĂ© en termes de coĂ»ts.
Instance Fleets avec capacitĂ© cible par type. Flotte de cĆur Ă la demande pour la stabilitĂ© HDFS ; flotte de tĂąche Spot avec des types d'instances diversifiĂ©s.
Référence
Standardiser sur Kubernetes ; souhaite que les jobs EMR Spark partagent le cluster avec d'autres charges de travail.
EMR sur EKS. Spark s'exécute en tant que pods sur un cluster EKS existant ; partage d'infrastructure et de rÎles IAM via IRSA.
Référence
Streaming avec Ă©tat avec agrĂ©gations par fenĂȘtre et sĂ©mantique "exactement une fois".
Kinesis Data Analytics pour Apache Flink. Runtime Flink géré ; points de contrÎle vers S3 ; mise à l'échelle automatique.
Référence
Transformation légÚre par enregistrement sur un flux Kinesis (<1 ms chacun).
Lambda avec Event Source Mapping sur KDS. Ajuster `BatchSize`, `MaximumBatchingWindowInSeconds` et `ParallelizationFactor`.
Pourquoi: Lambda est moins cher que KCL/Glue Streaming pour les petites tĂąches par enregistrement.
Référence
Une étape de Step Functions échoue occasionnellement en raison d'une limitation transitoire ; réessayer puis alerter.
Ajouter un bloc `Retry` avec `ErrorEquals: ["Lambda.ThrottlingException", "States.TaskFailed"]`, `IntervalSeconds`, `MaxAttempts`, `BackoffRate=2`. Plus `Catch` vers un état de notification.
Référence
Traiter 500 000 fichiers JSON en parallĂšle via une transformation Lambda.
Ătat Map distribuĂ© de Step Functions avec `MaxConcurrency` et ItemReader depuis S3. RĂ©partition sur des milliers d'invocations Lambda parallĂšles.
Référence
DAG complexe avec des dépendances inter-services (Glue + Redshift COPY + Lambda + e-mail) et des exigences de lignage.
Amazon MWAA (Managed Workflows for Apache Airflow). Opérateurs Airflow natifs pour les services AWS ; synchronisation de DAG pilotée par Git.
Référence
Besoin de revenir en arriÚre sur les changements de DAG si un déploiement provoque des échecs.
Stocker les DAG dans un bucket S3 versionné + synchronisation via le versionnement S3. Ou maintenir le dépÎt de DAG dans Git avec un environnement par branche + synchronisation S3 via CI.
Référence