Configurer Amazon RDS et Amazon Aurora MySQL pour l'ingestion
Aperçu
Le connecteur MySQL est en préversion publique. Contactez votre équipe de compte Databricks pour demander l'accès.
Découvrez comment configurer Amazon RDS for MySQL et Amazon Aurora MySQL pour l'ingestion en utilisant Lakeflow Connect. Vous devez activer la journalisation binaire et configurer la rétention du journal binaire pour prendre en charge la capture des changements de données.
Exigences
- RDS pour MySQL : Version 5.7.44 et ultérieure (déploiements autonomes et HA).
- Aurora MySQL : Version 5.7.mysql_aurora.2.12.2 et versions ultérieures (pour les configurations HA, la prise en charge provient uniquement de l'instance principale)
- Aurora MySQL Serverless : pris en charge
- Un groupe de paramètres de base de données (pour RDS) ou un groupe de paramètres de clusters de base de données (pour Aurora) que vous pouvez modifier.
Modifier le groupe de parameters
La journalisation binaire est contrôlée via des groupes de parameters de base de données dans RDS et des groupes de parameters de clusters de base de données dans Aurora. Si vous utilisez le groupe de paramètres par default, vous devez créer un groupe de paramètres personnalisé, car les groupes de paramètres par default ne peuvent pas être modifiés.
Créer un groupe de paramètres personnalisés (si nécessaire)
Si vous utilisez un groupe de paramètres par default, créez-en un personnalisé :
- Connectez-vous à la Console de gestion AWS et ouvrez la console RDS.
- Dans le volet de navigation, choisissez Groupes de parameters .
- Cliquez sur **Créer un groupe de paramètres**.
- Pour la Famille de groupes de paramètres , sélectionnez la famille de versions MySQL (par exemple,
mysql8.0). - Pour Type , sélectionnez DB Parameter Group pour RDS ou DB Cluster Parameter Group pour Aurora. Pour les clusters Aurora, vous devez créer un groupe de parameters de cluster de base de données. Associez-le au niveau du cluster, et non au niveau de l'instance.
- Saisissez un nom et une description pour le groupe de paramètres.
- Cliquez sur Créer .
- Associez le groupe de parameters personnalisé à votre instance RDS ou à votre cluster Aurora. Cela nécessite un redémarrage de la base de données.
Configurez les parameters binlog
Modifiez les paramètres suivants dans votre groupe de paramètres personnalisés :
parameter | Valeur | Description |
|---|---|---|
| Ce paramètre est en lecture seule dans RDS. La journalisation binaire est activée automatiquement lorsque vous activez les sauvegardes automatisées. | Active la journalisation binaire. |
|
| Définit le format des logs binaires sur la réplication basée sur les lignes. Requis pour la capture des données modifiées. |
|
| Logs toutes les colonnes dans le journal binaire, pas seulement les colonnes modifiées. |
Pour modifier ces parameters :
- Dans la console RDS, sélectionnez votre groupe de paramètres personnalisés.
- Cliquez sur **Modifier les paramètres**.
- Recherchez chaque paramètre et définissez sa valeur comme indiqué dans le tableau.
- Cliquez sur Enregistrer les modifications .
- Redémarrez votre instance RDS ou votre cluster Aurora pour que les modifications prennent effet.
Configurez la conservation du binlog
Par default, RDS et Aurora purgent les logs binaires dès que possible pour économiser de l'espace de stockage. Vous devez configurer la rétention du journal binaire pour vous assurer que les logs sont disponibles suffisamment longtemps pour que la passerelle d’ingestion puisse les traiter.
Définir la période de rétention
Pour définir la période de rétention du journal binaire, connectez-vous à votre instance RDS ou à votre cluster Aurora à l'aide d'un client MySQL avec les identifiants de l'utilisateur principal, puis exécutez ce qui suit :
-- Set retention
-- Minimum: one day (24 hours)
-- Recommended: seven days (168 hours)
-- For RDS MySQL:
CALL mysql.rds_set_configuration('binlog retention hours', 168);
-- For Aurora MySQL:
CALL mysql.rds_set_configuration('binlog retention hours', 168);
La période minimale de rétention du journal binaire est d’un jour (24 heures). Databricks recommande une période de rétention du journal binaire de sept jours (168 heures). Si vous définissez une valeur inférieure, les journaux binaires pourraient être supprimés avant que la passerelle d'ingestion ne les traite, nécessitant un full refresh de toutes les tables.
Une full refresh est également requise si la passerelle ne peut pas traiter les binlogs en continu. Si la passerelle est arrêtée pendant plus de binlog_expire_logs_seconds, les binlogs pourraient être supprimés avant la reprise de l'ingestion.
Vérifier les paramètres de rétention
Pour vérifier les paramètres de rétention :
-- For RDS and Aurora:
CALL mysql.rds_show_configuration;
Résultat d’exemple :
+------------------------+-------+--------------------------------------+
| name | value | description |
+------------------------+-------+--------------------------------------+
| binlog retention hours | 168 | binlog retention hours specifies... |
+------------------------+-------+--------------------------------------+
Activer les sauvegardes automatiques
La journalisation binaire dans RDS et Aurora est automatiquement activée lorsque les sauvegardes automatiques sont activées. Vérifiez que les sauvegardes automatiques sont activées pour votre instance :
- Dans la console RDS, sélectionnez votre instance de base de données ou votre cluster.
- Afficher l'onglet Configuration .
- Sous Sauvegarde , vérifiez que Sauvegardes automatisées est défini sur Activé .
- Si les sauvegardes sont désactivées, cliquez sur **Modifier** et activez les sauvegardes automatisées avec une période de rétention d'au moins 1 jour.
Vérifier la configuration du binlog.
Après avoir modifié le groupe de paramètres et redémarré votre base de données, vérifiez que la journalisation binaire est correctement configurée :
-- Check if binary logging is enabled
SHOW VARIABLES LIKE 'log_bin';
-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | log_bin | ON |
-- +---------------+-------+
-- Check binlog format
SHOW VARIABLES LIKE 'binlog_format';
-- Should return:
-- +---------------+-------+
-- | Variable_name | Value |
-- +---------------+-------+
-- | binlog_format | ROW |
-- +---------------+-------+
-- Check binlog row image
SHOW VARIABLES LIKE 'binlog_row_image';
-- Should return:
-- +------------------+-------+
-- | Variable_name | Value |
-- +------------------+-------+
-- | binlog_row_image | FULL |
-- +------------------+-------+
Limites du réplica en lecture
- Le connecteur MySQL ne prend pas en charge l’ingestion à partir de réplicas en lecture Aurora MySQL. Vous devez vous connecter à l'instance principale (Endpoint d'écriture) pour les déploiements Aurora.
- Les réplicas en lecture sont pris en charge pour RDS s'ils ont des sauvegardes activées (afin que la journalisation binaire soit activée sur ceux-ci).
Configuration réseau
Assurez-vous que votre instance RDS ou votre cluster Aurora est accessible depuis Databricks :
- Configurez les groupes de sécurité pour autoriser le trafic entrant sur le port 3306 (ou votre port MySQL personnalisé) à partir des plages d'adresses IP Databricks.
- Si vous utilisez un sous-réseau privé, assurez-vous d'un peering Virtual Private Cloud (VPC) ou d'une connectivité réseau appropriés.
- Envisagez d'utiliser AWS PrivateLink pour une connectivité sécurisée.
Ressources supplémentaires
Un administrateur peut maintenant soit :
- Utilisez Catalog Explorer pour créer une connexion afin que les non-administrateurs puissent créer des pipelines
- Utilisez l'interface utilisateur d'ingestion de données pour créer une connexion et un pipeline