Comment puis-je dépanner des échecs et erreurs de connectivité pour une tâche AWS DMS qui utilise Amazon Redshift comme point de terminaison cible ?

Date de la dernière mise à jour : 21/01/2022

Comment puis-je dépanner des échecs et erreurs de connectivité pour une tâche AWS Database Migration Service (AWS DMS) qui utilise Amazon Redshift comme point de terminaison cible ?

Brève description

Lorsque vous testez la connectivité à un point de terminaison Amazon Redshift, le test peut échouer si vous ne remplissez pas les conditions préalables à l'utilisation d'une base de données Amazon Redshift comme cible pour AWS Database Migration Service. Cela peut arriver si vous n'avez pas créé ni configuré le rôle AWS Identity and Access Management (IAM) requis ou si le nom de compartiment Amazon Simple Storage Service (Amazon S3) pour un NRA de point de terminaison est en cours d'utilisation. Le rôle IAM requis est créé automatiquement lorsque vous utilisez la console AWS DMS. Il n'est pas créé si vous avez utilisé l'API AWS DMS ou AWS Command Line Interface (AWS CLI).

Un test de connectivité peut également échouer en cas de problème avec la configuration réseau de la tâche AWS DMS. Pour résoudre les erreurs de connectivité de point de terminaison, consultez Comment dépanner les échecs de connectivité de point de terminaison AWS DMS ?

Si le rôle IAM requis n'est pas créé ni configuré correctement, vous pouvez recevoir une erreur semblable à ce qui suit :

Role 'dms-access-for-endpoint' is not configured properly

Résolution

Remarque : si vous recevez des erreurs lors de l'exécution des commandes AWS CLI, assurez-vous d'utiliser la version la plus récente de la version AWS CLI.

Erreurs Résoudre le rôle « dms-access-for-endpoint » n’est pas correctement configuré

Pour résoudre cette erreur, confirmez que le rôle IAM dms-access-for-endpoint est créé et configuré correctement. Pour plus d'informations sur la configuration de ce rôle, consultez Création des rôles IAM à utiliser avec AWS CLI et l'API AWS DMS.

Si la stratégie gérée par Amazon n'est pas configurée correctement, vous pouvez recevoir une erreur semblable à ce qui suit :

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

Cette erreur se produit lorsque :

  1. La stratégie gérée par Amazon (AmazonDMSRedshiftS3Role ou une stratégie personnalisée similaire) n'est pas attachée au rôle IAM dms-access-for-endpoint.
  2. La stratégie de rôle IAM dms-access-for-endpoint comporte un refus explicite pour Amazon S3.
  3. La stratégie de compartiment Amazon S3 préconfigurée qu'AWS DMS a créée automatiquement et associée au point de terminaison Amazon Redshift a été modifiée avec une restriction explicite.

Pour résoudre cette erreur, attachez la stratégie gérée par défaut (AmazonDMSRedshiftS3Role) ou une stratégie personnalisée similaire au rôle IAM dms-access-for-endpoint. Ensuite, vérifiez que la stratégie de compartiment Amazon S3 par défaut associée par AWS DMS n'a pas été modifiée. Pour plus d'informations, consultez 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, DMS utilise un compartiment Amazon S3 par défaut comme stockage de tâches intermédiaire. Il copie ensuite les données migrées vers Amazon Redshift. Lorsque vous exécutez la connexion de test pour le point de terminaison Amazon Redshift cible, cela crée automatiquement un compartiment S3 avec la convention de dénomination suivante :

dms-'Redshift endpoint ARN'

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

Erreurs Résoudre Amazon S3 ; code d'état : 400 ; code d'erreur : TooManyBuckets

Si votre compte a atteint la limite pour Amazon S3, vous pouvez recevoir une erreur similaire à la suivante lorsque vous testez votre point de terminaison :

  • Service : Amazon S3 ; code d'état : 400 ; code d'erreur : TooManyBuckets ; ID de demande : xxxxxxxxxxx ; ID de demande étendue S3 : xxxxxxxxxxxxxx ; Proxy : null

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

Erreurs Résoudre <NoSuchBucket> Le compartiment spécifié n'existe pas

Si vous supprimez un compartiment Amazon S3 créé par AWS DMS lors de la migration des tâches, vous pouvez recevoir une erreur similaire à la suivante dans les journaux des tâches :

  • <NoSuchBucket> Le compartiment spécifié n'existe pas.

Pour résoudre ce problème, testez la connexion de votre point de terminaison Amazon Redshift, puis redémarrez ou reprenez la tâche. Si vous avez configuré votre point de terminaison DMS pour l'utiliser en tant que compartiment personnalisé, assurez-vous qu'il est disponible dans Amazon S3 avant de redémarrer la tâche.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?