Passer au contenu

Comment résoudre les échecs et les erreurs de connectivité pour une tâche AWS DMS qui utilise Amazon Redshift comme point de terminaison cible ?

Lecture de 4 minute(s)
0

Je souhaite résoudre les problèmes de connectivité et les erreurs liés à une tâche AWS Database Migration Service (AWS DMS) qui utilise Amazon Redshift comme point de terminaison cible.

Brève description

Assurez-vous de remplir les prérequis pour utiliser une base de données Amazon Redshift comme cible pour AWS DMS. Si vous ne remplissez pas les prérequis, la connectivité à un point de terminaison Amazon Redshift peut échouer.

De plus, si vous ne configurez pas correctement la configuration réseau de votre tâche AWS DMS, un test de connectivité peut échouer. Pour résoudre les erreurs de connectivité d’un point de terminaison, consultez la section Comment résoudre les échecs de connectivité d’un point de terminaison AWS DMS ?

Résolution

Résoudre l'erreur « Role 'dms-access-for-endpoint' is not configured properly »

Si vous ne créez et ne configurez pas le rôle Gestion des identités et des accès AWS (AWS IAM) requis pour l’Amazon Resource Name (ARN) du point de terminaison utilisé, cette erreur s'affiche.

Remarque : Si vous utilisez la console AWS DMS, AWS DMS crée automatiquement le rôle IAM requis. Si vous utilisez l'API AWS DMS ou l'interface de la ligne de commande AWS (AWS CLI), AWS DMS ne crée pas automatiquement le rôle.

Pour résoudre cette erreur, vérifiez que vous avez créé et correctement configuré le rôle IAM dms-access-for-endpoint requis.

Résoudre l’erreur « Unable to create S3 bucket for Redshift. Bucket Name for endpoint ARN is in use »

Si vous n'associez pas correctement une politique gérée par Amazon au rôle IAM dms-access-for-endpoint, le message d'erreur suivant peut s'afficher :

« Unable to create S3 bucket for Redshift. Bucket Name for endpoint ARN is in use. »

Le message d'erreur précédent peut également s'afficher pour les raisons suivantes :

  • La politique de rôle IAM dms-access-for-endpoint interdit explicitement Amazon Simple Storage Service (Amazon S3).
  • Vous avez modifié la politique de compartiment Amazon S3 qu'AWS DMS a automatiquement créée et associée au point de terminaison Amazon Redshift avec une restriction explicite.

Pour résoudre cette erreur, associez la politique gérée par défaut (AmazonDMSRedShifts3Role) ou une politique personnalisée similaire au rôle IAM dms-access-for-endpoint. Puis, vérifiez que la politique de compartiment S3 par défaut qu'AWS DMS a associée au point de terminaison ne comporte aucune restriction explicite. Pour plus d'informations, consultez la section Paramètres du compartiment Amazon S3.

Migrer des données vers un point de terminaison Amazon Redshift

Lorsque vous migrez des données vers un point de terminaison cible Amazon Redshift, AWS DMS utilise un compartiment S3 par défaut comme stockage de tâches intermédiaire. Puis, AWS DMS copie les données migrées vers Amazon Redshift. Lorsque vous exécutez la connexion de test pour le point de terminaison Amazon Redshift cible, un compartiment S3 nommé dms-'Redshift endpoint ARN' est automatiquement créé.

Vous pouvez choisir un compartiment S3 personnalisé pour ce stockage intermédiaire. Pour plus d'informations, consultez la section Utilisation d'une base de données Amazon Redshift comme cible pour AWS DMS.

Résoudre l’erreur « Amazon S3; Status Code: 400; Error Code: TooManyBuckets »

Si votre compte AWS atteint le quota pour Amazon S3, vous recevez une erreur similaire à l’exemple suivant lorsque vous testez votre point de terminaison :

« Service: Amazon S3; Status Code: 400; Error Code: TooManyBuckets; Request ID: #######; S3 Extended Request ID: xxxxxxxxxxxxxx; Proxy: null »

Pour résoudre cette erreur, supprimez les compartiments non utilisés de votre compte, puis testez à nouveau le point de terminaison.

Résoudre l’erreur « <NoSuchBucket> The specified bucket does not exist »

Si vous supprimez un compartiment S3 créé par AWS DMS lors de la migration des tâches, l'erreur suivante s'affiche dans les journaux de tâches :

«<NoSuchBucket> The specified bucket does not exist. »

Pour résoudre cette erreur, testez la connexion pour votre point de terminaison Amazon Redshift, puis redémarrez ou reprenez la tâche. Si vous avez configuré votre point de terminaison afin qu'il soit utilisé comme compartiment personnalisé, assurez-vous qu'il est disponible dans Amazon S3 avant de recommencer la tâche.

AWS OFFICIELA mis à jour il y a 4 mois