Quiero solucionar los fallos y errores de conectividad de una tarea de AWS Database Migration Service (AWS DMS) que utiliza Amazon Redshift como punto de enlace de destino.
Descripción corta
Asegúrate de cumplir los requisitos previos para usar una base de datos de Amazon Redshift como destino para AWS DMS. Si no cumples los requisitos previos, la conectividad a un punto de enlace de Amazon Redshift puede fallar.
Además, si no configuras correctamente la configuración de red de tu tarea de AWS DMS, la prueba de conectividad puede fallar. Para solucionar los errores de conectividad de los puntos de enlace, consulta ¿Cómo puedo solucionar los errores de conectividad de los puntos de enlace de AWS DMS?
Resolución
Resolución del error «Role 'dms-access-for-endpoint' is not configured properly»
Si no creas ni configuras el rol de AWS Identity and Access Management (IAM) requerido para el nombre de recurso de Amazon (ARN) del punto de enlace en uso, recibirás este error.
Nota: Si usas la consola de AWS DMS, AWS DMS crea automáticamente el rol de IAM requerido. Si utilizas la API de AWS DMS o la interfaz de la línea de comandos de AWS (AWS CLI), AWS DMS no crea automáticamente el rol.
Para resolver este error, confirma que has creado y configurado correctamente el rol de IAM dms-access-for-endpoint requerido.
Resolución del error «Unable to create S3 bucket for Redshift. Bucket Name for endpoint ARN is in use»
Si no adjuntas correctamente una política administrada por Amazon al rol de IAM dms-access-for-endpoint, es posible que recibas el siguiente error:
«Unable to create S3 bucket for Redshift. Bucket Name for endpoint ARN is in use».
Es posible que también se muestre el error anterior por los siguientes motivos:
- La política de roles de IAM dms-access-for-endpoint tiene una denegación explícita para Amazon Simple Storage Service (Amazon S3).
- Has modificado la política de bucket de Amazon S3 que AWS DMS creó automáticamente y asoció al punto de enlace de Amazon Redshift con una restricción explícita.
Para resolver este error, adjunta la política administrada predeterminada (AmazonDMSRedshiftS3Role) o una política personalizada similar al rol de IAM dms-access-for-endpoint. A continuación, confirma que la política de bucket de S3 predeterminada que AWS DMS asoció al punto de enlace no tenga ninguna restricción explícita. Para obtener más información, consulta Configuración del bucket de Amazon S3.
Migración de datos a un punto de enlace de Amazon Redshift
Al migrar datos a un punto de enlace de destino de Amazon Redshift, AWS DMS utiliza un bucket de S3 predeterminado como almacenamiento de tareas intermedio. A continuación, AWS DMS copia los datos migrados a Amazon Redshift. Al ejecutar la conexión de prueba para el punto de enlace de Amazon Redshift de destino, se crea automáticamente un bucket de S3 con el siguiente nombre: dms-'Redshift endpoint ARN'.
Puedes elegir un bucket de S3 personalizado para este almacenamiento intermedio. Para obtener más información, consulta Uso de una base de datos de Amazon Redshift como destino para AWS DMS.
Resolución del error «Amazon S3; Status Code: 400; Error Code: TooManyBuckets»
Si tu cuenta de AWS alcanza la cuota de Amazon S3, recibirás un error similar al siguiente cuando pruebes tu punto de enlace:
«Service: Amazon S3; Status Code: 400; Error Code: TooManyBuckets; Request ID: #######; S3 Extended Request ID: xxxxxxxxxxxxxx; Proxy: null»
Para resolver este error, elimina los buckets no utilizados de tu cuenta y, a continuación, vuelve a probar el punto de enlace.
Resolución del error «<NoSuchBucket> The specified bucket does not exist»
Si eliminas un bucket de S3 que AWS DMS crea durante la migración de tareas, recibirás el siguiente error en los registros de tareas:
«<NoSuchBucket> The specified bucket does not exist».
Para resolver este error, pruebe la conexión de tu punto de enlace de Amazon Redshift y, a continuación, reinicia o reanuda la tarea. Si has configurado tu punto de enlace para usarlo como un bucket personalizado, asegúrate de que esté disponible en Amazon S3 antes de reiniciar la tarea.