Conditions requises pour utiliser la base de données en tant que source - Amazon Data Firehose

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Conditions requises pour utiliser la base de données en tant que source

Note

Firehose prend en charge la base de données en tant que source dans toutes les régions sauf en Régions AWSChine et en Asie-Pacifique (Malaisie). AWS GovCloud (US) Regions Cette fonctionnalité est actuellement disponible en version préliminaire et susceptible d'être modifiée. Ne l'utilisez pas pour vos charges de travail de production.

Avant de commencer, exécutez les opérations prérequises suivantes.

  • Configurations de base de données source — Vous avez besoin des configurations de base de données source suivantes avant de pouvoir utiliser la base de données comme source pour votre flux Firehose.

    • Créez un tableau de filigranes avec les autorisations appropriées — Pour la copie initiale (instantané) des données contenues dans les tableaux, Firehose utilise une approche de copie incrémentielle avec des filigranes pour suivre la progression. Cette approche de copie incrémentielle permet de reprendre la copie là où elle s'est arrêtée, puis de récupérer la table en cas d'interruption. Firehose utilise une table de filigranes dans votre base de données pour stocker les filigranes requis. Firehose a besoin d'une table de filigranes par stream Firehose. Si la table n'est pas déjà créée avant la création du stream Firehose, Firehose crée cette table dans le cadre de la création du stream. Vous devez fournir les autorisations appropriées à Firehose pour créer cette table.

    • Création d'un utilisateur de base de données — Firehose a besoin d'un compte utilisateur de base de données doté des autorisations appropriées pour effectuer la copie initiale des tables, lire les événements CDC dans les journaux de transactions, accéder à la table de filigranes et créer une table de filigranes si elle n'est pas déjà créée. Vous utiliserez ce nom d'utilisateur et ce mot de passe de base de données dans le cadre des informations d'identification Firehose pour vous connecter à votre base de données lors de la configuration du stream.

    • Activer les journaux de transactions : les journaux de transactions enregistrent toutes les modifications de base de données telles que INSERT, UPDATE et DELETE dans l'ordre dans lequel elles ont été validées dans la base de données. Firehose lit les journaux de transactions et reproduit les modifications apportées aux tables Apache Iceberg. Vous devez activer les journaux de transactions s'ils ne le sont pas.

    • Ajouter une règle entrante et sortante : pour autoriser la connectivité privée aux bases de données, vous devez ajouter une règle entrante et une règle sortante pour le trafic HTTPS et une règle entrante pour le trafic de base de données (MySQL ou PostgreSQL) dans le groupe de sécurité de votre VPC de base de données. Pour la colonne source, utilisez la plage IPv4 CIDR de votre VPC.

    Pour créer une table de filigranes, un utilisateur de base de données et pour activer les journaux de transactions, suivez les étapes décrites dansConfigurer la connectivité de la base de données.

  • Activez la connectivité privée aux bases de données : Firehose prend en charge la connexion aux bases de données au sein d'un VPC à l'aide de la technologie. AWS PrivateLink Pour activer la connectivité privée aux bases de données, consultez Access Amazon RDS VPCs en utilisant AWS PrivateLink et Network Load Balancer. Voici quelques points à prendre en compte pour la connexion aux bases de données.

    • Ces étapes s'appliquent également aux bases de données exécutées sur EC2.

    • Vous devez augmenter le délai d'expiration de la fonction Lambda utilisée dans cet exemple de 3 secondes par défaut à 5 minutes.

    • Avant d'exécuter la fonction Lambda pour mettre à jour l'adresse IP de l'instance principale vers le Network Load Balancer, vous devez créer un point de terminaison VPC avec le nom du service tel qu'il figure com.amazonaws.us-east-1.elasticloadbalancing dans AWS le VPC de votre base de données, afin que le Lambda puisse communiquer avec le service Elastic Load Balancing.

    • Vous devez autoriser le firehose.amazonaws.com principal du service Firehose à AWS PrivateLink créer sur votre VPC. Pour plus d'informations, consultez la section Gérer les autorisations. N'ajoutez pas l'ARN de ce rôle de service. Ajoutez uniquement firehose.amazonaws.com aux principes d'autorisation.

    • Vous devez autoriser votre service de point de terminaison à accepter automatiquement les demandes de connexion, en vous assurant de désactiver l'option Acceptation requise via Amazon VPC. Cela permet à Firehose de créer la connexion de point de terminaison nécessaire sans aucune intervention manuelle. Pour plus d'informations sur la façon de désactiver les demandes de connexion, voir Accepter ou rejeter les demandes de connexion.

  • Stocker les informations d'identification dans AWS Secrets Manager : Firehose les utilise AWS Secrets Manager pour récupérer les informations d'identification utilisées pour se connecter aux bases de données. Ajoutez les informations d'identification de l'utilisateur de base de données que vous avez créées dans le prérequis précédent, sous forme de secrets dans le AWS Secrets Manager. Pour plus d'informations, consultez Authentication with AWS Secrets Manager dans Amazon Data Firehose.

  • Créez un rôle IAM disposant des autorisations requises : Firehose a besoin d'un rôle IAM disposant d'autorisations spécifiques pour AWS Secrets Manager accéder AWS Glue , établir des tables et écrire des données sur Amazon S3. Le même rôle est utilisé pour accorder AWS Glue l'accès aux compartiments Amazon S3. Vous avez besoin de ce rôle IAM pour créer des tables Apache Iceberg et un Firehose. Pour de plus amples informations, veuillez consulter Accordez à Firehose l'accès pour répliquer les modifications apportées à la base de données dans les tables Apache Iceberg.

  • Création de tables Apache Iceberg — Firehose peut créer automatiquement des tables Iceberg si vous activez ce paramètre lors de la création du stream Firehose. Si vous ne souhaitez pas que Firehose crée des tables Iceberg, vous devez créer des tables Iceberg portant le même nom et le même schéma que les tables de la base de données source. Pour plus d'informations sur la création de tables Iceberg à l'aide de Glue, reportez-vous à la section Création de tables Iceberg. Firehose ne peut pas créer automatiquement des tables Amazon S3.

    Note

    Vous devez créer des tables Apache Iceberg avec le mappage suivant.

    • Pour MySQL, le nom de la base de données source correspond au nom AWS Glue de la base de données et le nom de la table source correspond au nom de la AWS Glue table.

    • Pour PostgreSQL, le nom de la base de données source correspond AWS Glue à la base de données et le nom du schéma source et le nom de la table sont mappés au nom de la table AWS Glue au format. <SchemaName>_<TableName> Si vous créez vous-même une table, les schémas source et cible doivent correspondre exactement.