Prerequisiti per utilizzare il database come fonte - Amazon Data Firehose

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Prerequisiti per utilizzare il database come fonte

Nota

Firehose supporta il database come fonte in tutte le regioni tranne Regioni AWSCina e Asia Pacifico (Malesia). AWS GovCloud (US) Regions Questa funzionalità è disponibile in anteprima ed è soggetta a modifiche. Non utilizzatela per i vostri carichi di lavoro di produzione.

Prima di iniziare, completa i seguenti prerequisiti.

  • Configurazioni del database di origine: sono necessarie le seguenti configurazioni del database di origine prima di poter utilizzare il database come origine per il flusso Firehose.

    • Crea una tabella di filigrane istantanee con le autorizzazioni corrette — Per la copia iniziale (istantanea) dei dati nelle tabelle, Firehose utilizza un approccio di copia incrementale con filigrane per tenere traccia dell'avanzamento. Questo approccio di copia incrementale aiuta a riprendere la copia dal punto in cui si era interrotta piuttosto che a riacquisire la tabella in caso di interruzioni. Firehose utilizza la tabella delle filigrane nel database per memorizzare le filigrane richieste. Firehose necessita di una tabella di filigrane per ogni stream Firehose. Se la tabella non è già stata creata prima della creazione del flusso Firehose, Firehose crea questa tabella come parte della creazione del flusso. È necessario fornire le autorizzazioni corrette a Firehose per creare questa tabella.

    • Creare un utente del database: Firehose richiede un account utente del database con le autorizzazioni giuste per creare la copia iniziale delle tabelle, leggere CDC gli eventi dai registri delle transazioni, accedere alla tabella delle filigrane e creare una tabella di filigrana se non è già stata creata. Utilizzerai questo nome utente e password del database come parte delle credenziali Firehose per connetterti al tuo database durante la configurazione dello stream.

    • Abilita i registri delle transazioni: i registri delle transazioni registrano tutte le modifiche al databaseINSERT, ad esempioUPDATE, e DELETE nell'ordine in cui sono state salvate nel database. Firehose legge i log delle transazioni e replica le modifiche alle tabelle Apache Iceberg. È necessario abilitare i log delle transazioni se non sono abilitati.

    • Aggiungi una regola in entrata e in uscita: per consentire la connettività privata ai database, devi aggiungere una regola in entrata e una regola in uscita per il HTTPS traffico e una regola in entrata per il traffico di database (My SQL o PostgreSQL) nel gruppo di sicurezza del database. VPC Per la colonna di origine, usa range of your. IPv4 CIDR VPC

    Per creare una tabella con filigrana, un utente del database e abilitare i registri delle transazioni, segui i passaggi riportati di seguito. Configurare la connettività del database

  • Abilita la connettività privata ai database: Firehose supporta la connessione ai database VPC utilizzando AWS PrivateLink la tecnologia. Per abilitare la connettività privata ai database, consulta Access Amazon VPCs tramite Network RDS Load AWS PrivateLink Balancer e Network Load Balancer. Ecco alcuni punti da tenere a mente per la connessione ai database.

    • Questi passaggi si applicano anche ai database in esecuzione suEC2.

    • È necessario aumentare il timeout della funzione Lambda utilizzata in questo esempio dai valori predefiniti di 3 secondi a 5 minuti.

    • Prima di eseguire la funzione Lambda per aggiornare l'indirizzo IP dell'istanza primaria in Network Load Balancer, è necessario creare VPC un endpoint AWS con il nome del servizio com.amazonaws.us-east-1.elasticloadbalancing come all'interno del databaseVPC, in modo che Lambda possa comunicare con il servizio Elastic Load Balancing. AWS

    • È necessario consentire al gestore del servizio Firehose di firehose.amazonaws.com creare un AWS PrivateLink elenco sul proprio. VPC Per ulteriori informazioni, consulta Gestire le autorizzazioni. Non aggiungere il ruolo ARN di servizio di questo. Aggiungi solo firehose.amazonaws.com ai principi di autorizzazione.

    • Devi consentire al servizio endpoint di accettare automaticamente le richieste di connessione, assicurandoti di disabilitare l'opzione Acceptance Required tramite AmazonVPC. Ciò consente a Firehose di creare la connessione endpoint necessaria senza alcun intervento manuale. Per ulteriori informazioni su come disabilitare la richiesta di connessione, consulta Accettare o rifiutare le richieste di connessione.

  • Archivia le credenziali in AWS Secrets Manager: Firehose le AWS Secrets Manager utilizza per recuperare le credenziali utilizzate per connettersi ai database. Aggiungi le credenziali utente del database che hai creato nel prerequisito precedente, come segreti in. AWS Secrets Manager Per ulteriori informazioni, consulta Authenticate with AWS Secrets Manager in Amazon Data Firehose.

  • Crea un IAM ruolo con le autorizzazioni richieste: Firehose necessita di IAM un ruolo con autorizzazioni specifiche per AWS Secrets Manager accedere AWS Glue , tabelle e scrivere dati su Amazon S3. Lo stesso ruolo viene utilizzato per concedere AWS Glue l'accesso ai bucket Amazon S3. Questo IAM ruolo è necessario quando si creano Apache Iceberg Tables e un Firehose. Per ulteriori informazioni, consulta Concedi a Firehose l'accesso per replicare le modifiche del database su Apache Iceberg Tables.

  • Creazione di tabelle Apache Iceberg — Firehose può creare automaticamente tabelle Iceberg se si abilita l'impostazione durante la creazione dello stream Firehose. Se non si desidera che Firehose crei tabelle Iceberg, è necessario creare tabelle Iceberg con lo stesso nome e schema delle tabelle del database di origine. Per ulteriori informazioni sulla creazione di tabelle Iceberg utilizzando Glue, consulta Creazione di tabelle Iceberg.

    Nota

    È necessario creare le tabelle Apache Iceberg con la seguente mappatura.

    • Per il nome del mio database di SQL origine è mappato al nome del AWS Glue database e il nome della tabella di origine è mappato al AWS Glue nome della tabella.

    • Per PostgreSQL, il nome del database di origine è mappato al AWS Glue database e il nome dello schema di origine e il nome della tabella sono mappati al nome della AWS Glue tabella nel <SchemaName>_<TableName> formato. Se crei una tabella da solo, gli schemi di origine e di destinazione devono corrispondere esattamente.