Migración de datos desde un almacén de datos local a Amazon Redshift - Schema Conversion Tool de AWS

Si proporcionásemos una traducción de la versión en inglés de la guía, prevalecerá la versión en inglés de la guía si hubiese algún conflicto. La traducción se proporciona mediante traducción automática.

Migración de datos desde un almacén de datos local a Amazon Redshift

Puede utilizar un agente de AWS SCT para extraer datos desde su almacenamiento de datos local y migrarlos a Amazon Redshift. El agente de extrae los datos y los carga en Amazon S3 o, para migraciones a gran escala, un AWS Snowball Dispositivo Edge. A continuación, puede utilizar AWS SCT para copiar los datos en Amazon Redshift.

Amazon S3 es un servicio de almacenamiento y de recuperación. Para almacenar un objeto en Amazon S3, carga el archivo que deseas almacenar en un Amazon S3 del bucket de. Al cargar un archivo, puede configurar permisos en el objeto y también en cualquier metadato.

Migraciones a gran escala

Las migraciones de datos a gran escala pueden incluir muchos terabytes de información y pueden ralentizarse por el rendimiento de la red y por la gran cantidad de datos que se tienen que mover. AWS Snowball Edge es un servicio de AWS que puede utilizar para transferir datos a la nube a velocidades más rápidas que las de la red mediante un dispositivo propiedad de AWS. Un AWS Snowball El dispositivo Edge puede contener hasta 100 TB de datos. Utiliza cifrado de 256 bits y un módulo de plataforma segura (TPM) estándar del sector para garantizar tanto la seguridad como la cadena de custodia completa de sus datos. AWS SCT funciona con AWS Snowball Dispositivos Edge.

Cuando utiliza AWS SCT y un AWS Snowball Dispositivo Edge: migre los datos en dos etapas. En primer lugar, utilizas el botón AWS SCT para procesar los datos localmente y, a continuación, moverlos al AWS Snowball Dispositivo Edge. A continuación, envíe el dispositivo a AWS mediante la AWS Snowball El proceso perimetral y, a continuación, AWS carga automáticamente los datos en un bucket de Amazon S3. Después, cuando los datos están disponibles en Amazon S3, se usa AWS SCT para migrar los datos a Amazon Redshift. Los agentes de extracción de datos pueden trabajar en segundo plano mientras la AWS SCT está cerrada.

En el siguiente diagrama se muestra la situación admitida:


            Arquitectura del agente de extracción

En la actualidad, los agentes de extracción de datos se admiten para los siguientes data warehouses de origen:

  • Greenplum Database (versión 4.3 y posteriores)

  • Microsoft SQL Server (versión 2008 y posteriores)

  • Netezza (versión 7.0.3 y posteriores)

  • Oracle (versión 10 y posteriores)

  • Teradata (versión 13 y posteriores)

  • Vertica (versión 7.2.2 y posteriores)

Puede conectarse a puntos de enlace de FIPS para Amazon Redshift si necesita cumplir con los requisitos de seguridad de la Norma Federal de Procesamiento de Información (FIPS). Hay puntos de enlace de FIPS en las siguientes regiones de AWS:

  • Región EE.UU. Este (Norte de Virginia) (redshift-fips.us-east-1.amazonaws.com)

  • Región EE.UU Este (Ohio) (redshift-fips.us-east-2.amazonaws.com)

  • EE.UU. Oeste (Norte de California) (redshift-fips.us-west-1.amazonaws.com)

  • Región EE.UU. Oeste (Oregón) (redshift-fips.us-west-2.amazonaws.com)

Utilice la información en los temas siguientes para aprender a trabajar con los agentes de extracción de datos.

Configuración de requisitos previos para Amazon S3 y seguridad para agentes de extracción de datos

Antes de trabajar con los agentes de extracción de datos, almacene la información de su bucket de Amazon S3 y configure los almacenes de confianza y de claves de la capa de conexión segura (SSL).

Opciones de Amazon S3

Después de que sus agentes extraigan los datos, los cargarán en el bucket de Amazon S3. Antes de continuar, debe proporcionar las credenciales para conectarse a su cuenta de AWS y a su bucket de Amazon S3. Puede almacenar la información de sus credenciales y su bucket en un perfil en la configuración de la aplicación global y, a continuación, asociar el perfil con su proyecto de AWS SCT. Si fuera necesario, seleccione Global Settings para crear un nuevo perfil. Para obtener más información, consulte Almacenamiento de perfiles de servicios de AWS en la AWS SCT.

Configuración de seguridad

La Herramienta de conversión de esquemas de AWS y los agentes de extracción pueden comunicarse a través de la capa de conexión segura (SSL). Para habilitar la SSL, configure un almacén de confianza y un almacén de claves:

Para configurar una comunicación segura con el agente de extracción

  1. Inicie el Herramienta de conversión de esquemas de AWS.

  2. Abra el menú Settings y seleccione Global Settings. Aparecerá el cuadro de diálogo Global settings.

    Seleccione la pestaña Security (Seguridad) como se muestra a continuación:

    
                            La pestaña Security (Seguridad) del cuadro de diálogo Global Settings (Configuración global)
  3. Seleccione Generate Trust and Key Store o haga clic en Select existing Trust and Key Store.

    Si selecciona Generate Trust and Key Store, a continuación tendrá que especificar el nombre y la contraseña de los almacenes de confianza y de claves y la ruta a la ubicación de los archivos generados. Utilizará estos archivos en pasos posteriores.

    Si selecciona Select existing Trust and Key Store, después especificará la contraseña y el nombre del archivo para los almacenes de confianza y de claves. Utilizará estos archivos en pasos posteriores.

  4. Tras haber especificado el almacén de confianza y el almacén de claves, seleccione OK para cerrar el cuadro de diálogo Global Settings.

Instalación de agentes de extracción

Le recomendamos que instale varios agentes de extracción en equipos individuales, independientes del equipo en el que se esté ejecutando la Herramienta de conversión de esquemas de AWS.

En la actualidad, los agentes de extracción son compatibles con los siguientes sistemas operativos:

  • macOS

  • Microsoft Windows

  • Red Hat Enterprise Linux (RHEL) 6.0

  • Ubuntu Linux (versión 14.04 y posteriores)

Utilice el siguiente procedimiento para instalar agentes de extracción. Repita este procedimiento para cada equipo en el que desee instalar un agente de extracción.

Para instalar un agente de extracción

  1. Si aún no ha descargado el archivo del instalador de la AWS SCT, siga las instrucciones de Instalación, verificación y actualización de la AWS SCT para descargarlo. El archivo .zip que contiene el archivo del instalador de la AWS SCT también contiene el archivo del instalador del agente de extracción.

  2. Localice el archivo del instalador para su agente de extracción en una subcarpeta llamada agentes. El archivo correcto para el sistema operativo del equipo en el que quiera instalar el agente de extracción se muestra a continuación.

    Sistema operativo Nombre de archivo

    macOS

    aws-schema-conversion-tool-extractor-1.0.build-number.dmg

    Microsoft Windows

    aws-schema-conversion-tool-extractor-1.0.build-number.msi

    &RHEL;

    aws-schema-conversion-tool-extractor-1.0.build-number.x86_64.rpm

    Ubuntu Linux

    aws-schema-conversion-tool-extractor-1.0.build-number.deb

  3. Para instalar el agente de extracción en un equipo independiente, copie el archivo del instalador en el nuevo equipo.

  4. Ejecute el archivo del instalador. Utilice las instrucciones para su sistema operativo, que se muestran a continuación.

    Sistema operativo Instrucciones de instalación:

    macOS

    En Finder, abra aws-schema-conversion-tool-extractor-1.0.build-number.dmg.

    Arrastre aws-schema-conversion-tool-extractor-1.0.build-number.dmg a la carpeta Applications.

    Microsoft Windows

    Haga doble clic en el archivo para ejecutar el instalador.

    &RHEL;

    Ejecute el siguiente comando en la carpeta en la que haya descargado o movido el archivo:

    sudo rpm -ivh aws-schema-conversion-tool-extractor-1.0.build-number.x86_64.rpm

    Ubuntu Linux

    Ejecute el siguiente comando en la carpeta en la que haya descargado o movido el archivo:

    sudo dpkg -i aws-schema-conversion-tool-extractor-1.0.build-number.deb

  5. Instale los controladores de Java Database Connectivity (JDBC) para el motor de base de datos de origen. Para obtener instrucciones y enlaces de descarga, consulte Instalación de los controladores de base de datos necesarios. Siga las instrucciones para el motor de base de datos de origen, no solo para el motor de base de datos de destino.

  6. Copie los almacenes SSL de confianza y de claves (.zip o archivos individuales) que generó en el procedimiento anterior. Si copia el archivo .zip a un nuevo equipo, extraiga los archivos individuales del archivo .zip en el nuevo equipo.

    Puede colocar los archivos en cualquier lugar que desee. No obstante, tenga en cuenta las ubicaciones, ya que en un futuro procedimiento le dirá al agente dónde encontrar los archivos.

Siga con la instalación de su agente de extracción completando el procedimiento de la sección siguiente.

Configuración de agentes de extracción

Utilice el siguiente procedimiento para configurar agentes de extracción. Repita este procedimiento para cada equipo en que tenga instalado un agente de extracción.

Para configurar su agente de extracción

  • Desde la ubicación en la que haya instalado el agente, ejecute el programa de instalación. Para RHEL y Ubuntu, el archivo se denomina sct-extractor-setup.sh. Para macOS y Microsoft Windows, el archivo se denomina AWS SCT Data Extractor Agenty puede hacer doble clic en el archivo para ejecutarlo.

    El programa de instalación le pedirá información. Para cada solicitud, aparecerá un valor predeterminado. Puede aceptar el valor predeterminado o introducir un valor nuevo. Debe especificar la siguiente información:

    • El motor del data warehouse.

    • El número de puerto en el que escucha el agente.

    • La ubicación en la que haya instalado los controladores de JDBC.

    • La carpeta de trabajo. Sus datos extraídos se guardarán en una subcarpeta de esta ubicación. La carpeta de trabajo puede estar en un equipo distinto al del agente, y una única carpeta de trabajo se puede compartir entre varios agentes en diferentes equipos.

    • La ubicación del archivo de almacén de claves.

    • La contraseña del almacén de claves.

    • La ubicación del archivo del almacén de confianza.

    • La contraseña del almacén de confianza.

El programa de instalación actualiza el archivo de configuración para el agente de extracción. El archivo de configuración se denomina settings.properties y se encuentra en la ubicación en la que haya instalado el agente de extracción. A continuación se muestra un archivo de configuración de ejemplo.

$ cat settings.properties #extractor.start.fetch.size=20000 #extractor.out.file.size=10485760 #extractor.source.connection.pool.size=20 #extractor.source.connection.pool.min.evictable.idle.time.millis=30000 #extractor.extracting.thread.pool.size=10 vendor=TERADATA driver.jars=/usr/share/lib/jdbc/terajdbc4.jar port=8192 redshift.driver.jars=/usr/share/lib/jdbc/RedshiftJDBC42-1.2.43.1067.jar working.folder=/data/sct extractor.private.folder=/home/ubuntu ssl.option=OFF

Inicio de agentes de extracción

Utilice el siguiente procedimiento para iniciar agentes de extracción. Repita este procedimiento para cada equipo en que tenga instalado un agente de extracción.

Los agentes de extracción actúan en escucha. Cuando inicia un agente con este procedimiento, el agente comienza a escuchar para obtener instrucciones. Enviará a los agentes instrucciones para extraer los datos de su data warehouse en una sección posterior.

Para iniciar su agente de extracción

  • En el equipo en el que haya instalado el agente de extracción, ejecute el comando que aparezca a continuación para su sistema operativo.

    Sistema operativo Comando de inicio

    macOS

    Ejecute el archivo StartAgent.command.

    Microsoft Windows

    Haga doble clic en el archivo de lotes StartAgent.bat.

    &RHEL;

    Ejecute el siguiente comando en la ruta de la carpeta en la que haya instalado el agente.

    sudo initctl start sct-extractor

    Ubuntu Linux

    Ejecute el siguiente comando en la ruta de la carpeta en la que haya instalado el agente. Utilice el comando adecuado para su versión de Ubuntu.

    Ubuntu 14.04: sudo initctl start sct-extractor

    Ubuntu 15.04 y posteriores: sudo systemctl start sct-extractor

Para comprobar el estado del agente, ejecute el mismo comando, pero sustituya start por status.

Para detener un agente, ejecute el mismo comando, pero sustituya start por stop.

Registro de agentes de extracción con el Herramienta de conversión de esquemas de AWS

Puede administrar los agentes de extracción mediante la AWS SCT. Los agentes de extracción actúan en escucha. Cuando reciben instrucciones de la AWS SCT, extraen los datos de su almacén de datos.

Utilice el siguiente procedimiento para registrar los agentes de extracción con su proyecto de la AWS SCT.

Para registrar un agente de extracción

  1. Inicie la Herramienta de conversión de esquemas de AWS y abra un proyecto.

  2. Abra el menú View y seleccione Data Migration View. Aparecerá la pestaña Agents. Si ha registrado agentes anteriormente, aparecerán en una cuadrícula en la parte superior de la pestaña, como se muestra a continuación.

    
                        Cuadrícula de agentes
  3. Elija Register. Aparecerá el cuadro de diálogo New Agent Registration (Registro de nuevo agente).

    nota

    Después de registrar un agente con un proyecto de la AWS SCT, no puede registrar el mismo agente con otro proyecto diferente. Si ya no utiliza un agente en un proyecto de la AWS SCT, puede anularlo. A continuación, puede registrarlo con otro proyecto diferente.

  4. Introduzca la información en el cuadro de diálogo New Agent Registration (Registro de nuevo agente).

    1. En Description, escriba la descripción del agente.

    2. En Host Name, escriba el nombre de host o la dirección IP del equipo del agente.

    3. En Port, escriba el número de puerto en el que esté escuchando el agente.

    4. Elija Register (Registrar) para registrar el agente con su proyecto de AWS SCT.

  5. Repita los pasos anteriores para registrar múltiples agentes con su proyecto de la AWS SCT.

Ocultación y recuperación de información para un AWS SCT agente

Un agente de AWS SCT cifra una importante cantidad de información, por ejemplo, las contraseñas de los almacenes de claves y de confianza del usuario, las cuentas de base de datos, la información de la cuenta de AWS y elementos similares. Lo hace utilizando un archivo especial llamado seed.dat. De forma predeterminada, el agente de crea este archivo en la carpeta de trabajo del usuario que configura primero el agente de.

Como diferentes usuarios pueden configurar y ejecutar el agente, la ruta de seed.dat se almacena en el parámetro {extractor.private.folder} del archivo settings.properties. Cuando se inicia el agente, puede utilizar esta ruta para encontrar el archivo seed.dat y obtener acceso a la información del almacén de claves y confianza de la base de datos correspondiente.

Es posible que necesite recuperar las contraseñas que un agente ha almacenado en estos casos:

  • Si el usuario pierde el archivo seed.dat y la ubicación y el puerto del agente de la AWS SCT no han cambiado.

  • Si el usuario pierde el archivo seed.dat y la ubicación y el puerto del agente de la AWS SCT han cambiado. En este caso, el cambio suele ocurrir porque el agente se ha migrado a otro host o puerto y la información del archivo seed.dat ya no es válida.

En estos casos, si se inicia un agente sin SSL, este se inicia y después obtiene acceso al almacenamiento del agente creado con anterioridad. A continuación adopta el estado Waiting for recovery.

No obstante, en estos casos, si se inicia un agente con SSL, no puede reiniciarlo. Esto se debe a que el agente no puede descifrar las contraseñas para los certificados almacenados en el archivo settings.properties. En este tipo de inicio, el agente no se puede iniciar. En el registro se escribe un error similar al siguiente: "El agente no pudo comenzar con el modo SSL habilitado. Vuelva configurar el agente. Motivo La contraseña del almacén de claves es incorrecta."

Para solucionar este problema, cree un nuevo agente y configúrelo de forma que use las contraseñas existentes para obtener acceso a los certificados SSL. Para ello, siga el procedimiento que se indica a continuación.

Después de realizar este procedimiento, el agente debe ejecutarse y adoptar el estado Waiting for recovery (Esperando recuperación). AWS SCT envía automáticamente las contraseñas necesarias a un agente en el estado Waiting for recovery (Esperando recuperación). Cuando el agente tiene las contraseñas, reinicia todas las tareas. No se requiere ninguna otra acción del usuario en el AWS SCT lado.

Para volver a configurar el agente y restaurar las contraseñas para obtener acceso a los certificados SSL

  1. Instale un nuevo agente de AWS SCT y ejecute la configuración.

  2. Cambie la propiedad agent.name del archivo instance.properties al nombre del agente para el que se creó el almacenamiento, para que el nuevo agente trabaje con el almacenamiento del agente existente.

    El instance.properties El archivo se almacena en la carpeta privada del agente de , cuyo nombre se denomina mediante la siguiente convención: {output.folder}\dmt\{hostName}_{portNumber}\.

  3. Cambie el nombre de {output.folder} a la carpeta de salida del agente anterior.

    En este momento, AWS SCT todavía intenta obtener acceso al antiguo extractor en el host y puertos antiguos. Por consiguiente, el extractor inaccesible obtiene el estado FAILED. A continuación, puede cambiar el host y el puerto.

  4. Modifique el host, el puerto o ambas cosas del agente anterior mediante el comando Modify para redirigir el flujo de solicitudes al nuevo agente.

Cuando AWS SCT puede hacer ping en el nuevo agente, AWS SCT recibe el estado Waiting for recovery (Esperando recuperación) del agente. A continuación, AWS SCT recupera automáticamente las contraseñas del agente.

Cada agente que funciona con el almacenamiento del agente actualiza un archivo especial llamado storage.lck ubicado en {output.folder}\{agentName}\storage\. Este archivo contiene el ID de red del agente y el tiempo hasta que se bloquea el almacenamiento. Cuando el agente trabaja con el almacenamiento del agente, actualiza el archivo storage.lck y amplía el arrendamiento del almacenamiento en 10 minutos cada 5 minutos. Ninguna otra instancia puede trabajar con el almacenamiento de este agente hasta que finalice el arrendamiento.

Creación de filtros de extracción de datos en la AWS SCT

Antes de extraer los datos con la Herramienta de conversión de esquemas de AWS, puede configurar filtros que reduzcan la cantidad de datos que va a extraer. Puede crear filtros de extracción de datos mediante el uso de cláusulas WHERE para reducir los datos que puede extraer. Por ejemplo, puede escribir una cláusula WHERE que seleccione los datos de una única tabla.

Puede crear filtros de extracción de datos y guardar los filtros como parte de su proyecto. Con el proyecto abierto, utilice el siguiente procedimiento para crear filtros de extracción de datos.

Para crear filtros de extracción de datos

  1. En el menú Settings, seleccione Mapping Rules. Aparecerá el cuadro de diálogo Mapping Rules. El panel superior contiene reglas de transformación y el panel inferior contiene reglas de filtrado.

  2. En el panel Filtering Rules, seleccione Add new rule.

  3. Configure su filtro:

    1. En Name, escriba un nombre para su filtro.

    2. En Where schema name like, escriba un filtro para aplicárselo a los esquemas. En este filtro, una cláusula WHERE se evalúa mediante una cláusula LIKE. Puede especificar un nombre exacto para seleccionar un esquema o introducir un patrón para seleccionar varios esquemas.

    3. En table name like, escriba un filtro para aplicárselo a las tablas. En este filtro, una cláusula WHERE se evalúa mediante una cláusula LIKE. Puede especificar un nombre exacto para seleccionar una tabla o introducir un patrón para seleccionar varias tablas.

    4. En Where clause, escriba una cláusula WHERE para filtrar los datos.

  4. Una vez que haya configurado su filtro, seleccione Save para guardar el filtro o Cancel para cancelar los cambios.

  5. Cuando haya acabado de agregar, editar y eliminar filtros, seleccione Save All para guardar todos los cambios y, a continuación, seleccione Close.

Puede utilizar el icono de alternar para desactivar un filtro sin eliminarlo. También puede utilizar el icono de copia para duplicar un filtro existente. Para borrar un filtro existente, utilice el icono de eliminar. Para guardar los cambios que realice en sus filtros, seleccione Save All.

Ordenación de datos antes de la migración mediante AWS SCT

Ordenar los datos antes de la migración con la AWS SCT proporciona algunas ventajas. Si ordena los datos en primer lugar, la AWS SCT puede reiniciar el agente de extracción en el último punto guardado después de un error. Además, si va a migrar datos a Amazon Redshift y ordena los datos en primer lugar, la AWS SCT puede insertar datos en Amazon Redshift con mayor rapidez.

Estas ventajas tienen que ver con cómo la AWS SCT crea las consultas de extracción de datos. En algunos casos, la AWS SCT utiliza la función analítica DENSE_RANK en estas consultas. Sin embargo, DENSE_RANK puede consumir mucho tiempo y recursos del servidor para ordenar el conjunto de datos que resultan de la extracción, de modo que si la AWS SCT puede trabajar sin ella, así lo hace.

Par ordenar datos antes de la migración con la AWS SCT

  1. Abra un proyecto de AWS SCT.

  2. Abra el menú contextual (clic secundario) para el objeto y seleccione Create Local Task.

  3. Seleccione la pestaña Advanced y elija una opción para Sorting Strategy:

    • Never use sorting (No utilizar nunca la ordenación) –: El agente de extracción no utiliza la función analítica DENSE_RANK y se reinicia desde el principio si se produce un error.

    • Use sorting if possible (Utilizar la ordenación si es posible) –: El agente de extracción utiliza DENSE_RANK si la tabla tiene una clave primaria o una restricción única.

    • Use sorting after first fail (recommended) [Utilizar la ordenación después del primer error (recomendado)] – El agente de extracción intenta primero obtener los datos sin usar DENSE_RANK. Si el primer intento falla, el agente de extracción reconstruye la consulta mediante DENSE_RANK y conserva su ubicación en caso de error.

    
                        La pestaña Security (Seguridad) del cuadro de diálogo Global Settings (Configuración global)
  4. Establezca parámetros adicionales, como se describe a continuación, y seleccione Create para crear la tarea de extracción de datos.

Creación, ejecución y monitorización de un AWS SCT tarea de extracción de datos

Utilice los siguientes procedimientos para crear, ejecutar y monitorizar las tareas de extracción de datos.

Para asignar tareas a agentes y migrar datos

  1. En la Herramienta de conversión de esquemas de AWS, después de haber convertido el esquema, seleccione una o varias tablas en el panel izquierdo del proyecto.

    Puede seleccionar todas las tablas, pero no se lo recomendamos por motivos de desempeño. Le recomendamos que cree varias tareas para varias tablas basadas en el tamaño de las tablas en el data warehouse.

  2. Abra el menú contextual (clic secundario) para cada tabla y seleccione Create Task. Se abre el cuadro de diálogo Create Local Task como se muestra a continuación.

    
                        Cuadro de diálogo Task (Tarea)
  3. En Task Name, escriba un nombre para la tarea.

  4. En Migration Mode, seleccione una de las siguientes opciones:

    • Extract Only (Solo extraer) –: extrae los datos y los guarda en sus carpetas de trabajo locales.

    • Extract and Upload (Extraer y cargar) –: extrae los datos y los carga en Amazon S3.

    • Extract, Upload and Copy (Extraer, cargar y copiar) –: extrae los datos, los carga a Amazon S3 y los copia en el almacén de datos de Amazon Redshift.

  5. Seleccione Extract LOBs para extraer grandes objetos. Si no es necesario extraer objetos grandes, puede quitar la marca de selección de la casilla. Esto reduce la cantidad de datos que extrae.

  6. Si desea ver información detallada sobre una tarea, seleccione Enable Task Logging. Puede utilizar el registro de tareas para depurar problemas.

    Si habilita el registro de tareas, seleccione el nivel de detalle que desea ver. Los niveles son los siguientes y cada nivel incluye todos los mensajes del nivel anterior:

    • ERROR: – La cantidad mínima de detalles.

    • WARNING

    • INFO

    • DEBUG

    • TRACE: – La cantidad máxima de detalles.

  7. Seleccione Test Task (Probar tarea) para comprobar que se puede conectar a su carpeta de trabajo, bucket de Amazon S3 y almacén de datos de Amazon Redshift. La verificación depende del modo de migración que elija.

  8. Seleccione Create (Crear) para crear la tarea.

  9. Repita los pasos anteriores para crear tareas para todos los datos que quiera migrar.

Para ejecutar y monitorizar tareas

  1. En View, elija Data Migration View. Aparecerá la pestaña Agents.

  2. Elija la pestaña Tasks (Tareas). Sus tareas aparecen en la cuadrícula en la parte superior tal y como se muestra a continuación. Podrá ver el estado de una tarea en la cuadrícula superior y el estado de las subtareas en la cuadrícula inferior.

    
                        Cuadrícula Tasks (Tareas)
  3. Seleccione una tarea en la cuadrícula superior y amplíela. En función del modo de migración que elija, verá la tarea dividida en Extraer, Upload y Copy.

  4. Para comenzar una tarea, seleccione Start para esa tarea. Puede monitorizar el estado de sus tareas mientras están en ejecución. Las subtareas se ejecutan en paralelo. Las funciones de extracción, carga y copia también se ejecutan en paralelo.

  5. Si ha habilitado el registro al configurar la tarea, podrá ver el registro:

    1. Seleccione Download Log. Aparecerá un mensaje con el nombre de la carpeta que contiene el archivo de registro. Omita el mensaje.

    2. Aparecerá un enlace en la pestaña Task details. Seleccione el enlace para abrir la carpeta que contiene el archivo de registro.

Puede cerrar la AWS SCT y sus agentes y tareas seguirán ejecutándose. Puede volver a abrir la AWS SCT en otro momento para comprobar el estado de sus tareas y consultar los registros de tareas.

Extracción de datos mediante un AWS Snowball Dispositivo Edge

El proceso de uso de AWS SCT y AWS Snowball El perímetro tiene varios pasos. La migración implica una tarea local, donde AWS SCT utiliza un agente de extracción de datos para mover los datos al AWS Snowball Dispositivo Edge, después una acción intermedia en la que AWS copia los datos del AWS Snowball Dispositivo Edge a un Amazon S3 del bucket de. El proceso termina AWS SCT cargar los datos desde la Amazon S3 del bucket a Amazon Redshift.

Las secciones que siguen a esta información general proporcionan una guía paso a paso para cada una de estas tareas. El procedimiento supone que ha instalado AWS SCT y que ha configurado y registrado un agente de extracción de datos en una máquina dedicada.

Los siguientes pasos deben realizarse para migrar datos de un almacén de datos local a un almacén de datos de AWS mediante AWS Snowball Límite.

  1. Creación de un AWS Snowball Trabajo de Edge con la AWS Snowball consola de. Para obtener más información, consulte Crear un trabajo de importación en el AWS Snowball la documentación de.

  2. Desbloquee el AWS Snowball Dispositivo Edge con la máquina Linux local dedicada.

  3. Cree un nuevo proyecto en AWS SCT mediante el agente de extracción de datos registrado.

  4. Instale el controlador de base de datos para la base de datos de origen en la máquina dedicada en la que instaló el extractor de datos.

  5. Crear y establecer permisos para la Amazon S3 para utilizar.

  6. Cree Local & DMS Task en SCT.

  7. Ejecute y monitoree la Local & DMS Task en SCT.

  8. Ejecute la tarea de AWS SCT y monitoree el progreso en SCT.

Procedimientos paso a paso para migrar datos mediante AWS SCT y AWS Snowball Borde

En las secciones siguientes se incluye información detallada sobre los pasos para la migración.

Paso 1. Creación de un AWS Snowball Trabajo de Edge

Creación de un AWS Snowball del trabajo siguiendo los pasos descritos en la sección Introducción a AWS Snowball Edge: su primer trabajo en el AWS Snowball la documentación de.

Paso 2. Desbloquee el AWS Snowball Dispositivo Edge

Debe ejecutar los comandos que desbloquean y proporcionan credenciales para el dispositivo Snowball Edge de la máquina donde instaló el agente de DMS. De esta forma, puede estar seguro de que la llamada del agente de DMS se conecta al AWS Snowball Dispositivo Edge. Para obtener más información sobre el desbloqueo de la AWS Snowball Dispositivo Edge, consulte Desbloquee el AWS Snowball Borde .

Por ejemplo, el siguiente comando muestra la lista de Amazon S3 El bucket de utilizado por el dispositivo.

aws s3 ls s3://<bucket-name> --profile <Snowball Edge profile> --endpoint http://<Snowball IP>:8080 --recursive

Paso 3. Crear un nuevo AWS SCT proyecto

A continuación, se crea un nuevo proyecto de AWS SCT.

Para crear un proyecto nuevo en AWS SCT

  1. Inicie AWS SCT y elija Nuevo proyecto para Archivo. Aparece el cuadro de diálogo New Project (Nuevo proyecto).

  2. Agregue la siguiente información del proyecto.

    Para este parámetro Haga lo siguiente

    Project Name

    Escriba un nombre para su proyecto, que se almacenará localmente en su equipo.

    : Location

    Introduzca la ubicación del archivo local de su proyecto.

    En los botones de opción, selecciona Almacén de datos (OLAP).

    Source DB Engine

    Elija el almacén de datos de origen.

    Target DB Engine

    Elija el almacén de datos de destino.

  3. Elija OK (Aceptar) para crear su proyecto de AWS SCT.

  4. (Opcional) Pruebe la conexión.

Paso 4. Instale el controlador de base de datos de origen para el AWS DMS agente en el equipo Linux

Para que la migración tenga éxito, el agente de DMS tiene que poder conectarse a la base de datos de origen. Para que esto sea posible, debe instalar el controlador de base de datos para la base de datos de origen. El controlador necesario varía en función de la base de datos.

Para reiniciar el agente de DMS después de la instalación del controlador de base de datos, cambie el directorio de trabajo a <product_dir>/bin y utilice los pasos que se enumeran a continuación para cada base de datos de origen.

cd <product_dir>/bin ./arep.ctl stop ./arep.ctl start
Para instalar en Oracle

Instale Oracle Instant Client para Linux (x86-64) versión 11.2.0.3.0 o posterior.

Además, si no se ha incluido todavía en el sistema, debe crear un enlace simbólico en el directorio $ORACLE_HOME\lib. Este enlace debe denominarse libclntsh.so y debería apuntar a una versión específica de este archivo. Por ejemplo, en un cliente de Oracle 12c:

lrwxrwxrwx 1 oracle oracle 63 Oct 2 14:16 libclntsh.so -> /u01/app/oracle/home/lib/libclntsh.so.12.1

Además, la variable de entorno LD_LIBRARY_PATH debe anexarse con el directorio lib de Oracle y añadirse al script site_arep_login.sh bajo la carpeta lib de la instalación. Añada este script si no existe.

vi cat <product dir>/bin/site_arep_login.sh
export ORACLE_HOME=/usr/lib/oracle/12.2/client64; export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
Para instalar en Microsoft SQL Server

Instalar el controlador ODBC para Microsoft.

Actualizar el site_arep_login.sh con el siguiente código.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/microsoft/msodbcsql/lib64/

Controlador Simba ODBC

Instalar el controlador ODBC para Microsoft.

Editar el archivo simba.sqlserverodbc.ini de la siguiente manera

DriverManagerEncoding=UTF-16 ODBCInstLib=libodbcinst.so
Para instalar en SAP Sybase

El cliente ODBC para SAP Sybase ASE de 64 bits debe estar instalado.

Si el directorio de instalación es /opt/sap, actualizar site_arep_login.sh con

export SYBASE_HOME=/opt/sap export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SYBASE_HOME/ DataAccess64/ODBC/lib:$SYBASE_HOME/DataAccess/ODBC/ lib:$SYBASE_HOME/OCS-16_0/lib:$SYBASE_HOME/OCS-16_0/ lib3p64:$SYBASE_HOME/OCS-16_0/lib3p

El /etc/odbcinst.ini debe incluir estas entradas

[Sybase] Driver=/opt/sap/DataAccess64/ODBC/lib/libsybdrvodb.so Description=Sybase ODBC driver
Para instalar en MySQL

Instale MySQL Connector/ODBC para Linux, versión 5.2.6 o posterior.

Asegúrese de que el archivo /etc/odbcinst.ini contiene una entrada para MySQL, como en el siguiente ejemplo

[MySQL ODBC 5.2.6 Unicode Driver] Driver = /usr/lib64/libmyodbc5w.so UsageCount = 1
Para instalar en PostgreSQL

Instale postgresql94-9.4.4-1PGDG.<Versión de SO>.x86_64.rpm. Este es el paquete que contiene el ejecutable de psql.

Por ejemplo, postgresql94-9.4.4-1PGDG.rhel7.x86_64.rpm es el paquete necesario para Red Hat 7.

Instale el controlador ODBC postgresql94-odbc-09.03.0400-1PGDG.<versión de SO>.x86_64 o superior para Linux, donde <versión de SO> es el SO de la máquina del agente.

Por ejemplo, postgresql94-odbc-09.03.0400-1PGDG.rhel7.x86_64 es el cliente necesario para Red Hat 7.

Asegúrese de que el archivo /etc/odbcinst.ini contiene una entrada para PostgreSQL, como en el siguiente ejemplo

[PostgreSQL] Description = PostgreSQL ODBC driver Driver = /usr/pgsql-9.4/lib/psqlodbc.so Setup = /usr/pgsql-9.4/lib/psqlodbcw.so Debug = 0 CommLog = 1 UsageCount = 2

Paso 5. Configurar AWS SCT para acceder a la Amazon S3 cubo

Para obtener información sobre la configuración de un Amazon S3 de seguridad, consulte Trabajar con Amazon S3 buckets en la documentación de Amazon S3.

Paso 6. Creación de un AWS DMS tarea

A continuación, debe crear la tarea de migración integral. La tarea incluye dos tareas secundarias. Una subtarea migra datos de la base de datos de origen a la AWS Snowball Dispositivo Edge. La otra tarea secundaria toma los datos que el dispositivo cara a un bucket de Amazon S3 y los migra a la base de datos de destino.

Para crear la tarea de migración integral

  1. Inicie AWS SCT, elija Ver y, a continuación, elija Vista de migración de base de datos (local y DMS).

    
                            Vista > Vista de migración de base de datos (local y DMS)
  2. En el panel de la izquierda que muestra el esquema de la base de datos de origen, seleccione un objeto del esquema para su migración. Abra el menú contextual (haga clic con el botón derecho) para el objeto y seleccione Create Local & DMS Task.

    
                             AWS Database Migration Service y AWS Snowball Proceso Edge
  3. Añada la información de su tarea.

    Para este parámetro Haga lo siguiente

    Task Name

    Escriba un nombre para la tarea.

    Agente

    Elija DMS Agent (Agente de DMS).

    Replication Instance (Instancia de replicación)

    Elija la instancia de replicación de AWS DMS que desea usar.

    Tipo de migración

    Elija el tipo de migración que desea:

    Elija Migrate existing data (Migrar datos existente) para migrar el contenido del esquema elegido. Este proceso se denomina carga completa en AWS DMS.

    Elija Migrate existing data and replicate ongoing changes (Migrar los datos existentes y replicar los cambios continuos) para migrar el contenido del esquema elegido y capturar todos los cambios continuos a la base de datos. Este proceso se denomina carga completa y CDC en AWS DMS.

    Target table preparation mode

    Elija el modo de preparación que desea utilizar:

    Truncate: las tablas se truncan sin que los metadatos de la tabla se vean afectados.

    Drop tables on target: las tablas existentes se eliminan y se crean otras para sustituirlas.

    Do nothing: los datos y los metadatos de las tablas de destino no cambiarán.

    Rol de IAM.

    Elija el rol de IAM predefinido que tiene permisos para acceder al bucket de Amazon S3 y a la base de datos de destino. Para obtener más información acerca de los permisos necesarios para obtener acceso a un Amazon S3 de seguridad, consulte Opciones de Amazon S3.

    Registro

    Elija Enable para que AWS CloudWatch cree registros para la migración. Se le cobrarán cargos por este servicio. Para obtener más información acerca de AWS CloudWatch, consulte Cómo CloudWatch funciona

    ​Descripción

    Escriba una descripción de la tarea.

    Use Snowball

    Elija esta casilla de verificación para utilizar Snowball.

    Job Name

    Elija el nombre de trabajo de AWS Snowball que ha creado.

    Snowball IP

    Escriba la dirección IP del dispositivo AWS Snowball.

    Port (Puerto)

    Escriba el valor de puerto para el dispositivo AWS Snowball.

    Local AWS S3 Access key

    Escriba la clave de acceso de AWS de la cuenta que utiliza para la migración.

    Local AWS S3 Secret key

    Escriba la clave secreta de AWS de la cuenta que utiliza para la migración.

  4. Seleccione Create (Crear) para crear la tarea.

Paso 7. Ejecución y monitorización de la AWS SCT tarea

Puede iniciar la tarea local y de DMS cuando todas las conexiones a los puntos de enlace se hayan realizado con éxito. Esto significa todas las conexiones para la tarea Local, que incluye las conexiones desde el agente de DMS a la base de datos de origen, la validación Amazon S3 y el bucket de AWS Snowball , así como las conexiones de la tarea DMS, que incluye las conexiones desde el bucket de Amazon S3 de ensayo a la base de datos de destino en AWS.

Puede monitorear los registros del agente de DMS eligiendo Show log. Los detalles del registro incluyen los registros del servidor del agente (Agent Log) y de la tarea de ejecución local (Task Log). Dado que el servidor realiza la conectividad del punto de enlace (ya que la tarea local no se está ejecutando y no hay registros de tareas), los problemas de conexión se enumeran bajo la pestaña Agent Log.


                     Tarea local completada, esperando la segunda tarea

Resultado de la tarea de extracción de datos

Tras completarse sus tareas de migración, sus datos estarán listos. Utilice la siguiente información para determinar cómo proceder en función del modo de migración que haya elegido y la ubicación de los datos.

Modo de migración Ubicación de los datos

Extract, Upload and Copy

Los datos ya están en su almacén de datos de Amazon Redshift. Puede verificar que los datos están ahí y empezar a utilizarlos. Para obtener más información, consulte Conexión a clústeres de desde herramientas y código de cliente.

Extract and Upload

Los agentes de extracción habrán guardado sus datos como archivos en el bucket de Amazon S3. Puede utilizar el comando COPY de Amazon Redshift para cargar sus datos en Amazon Redshift. Para obtener más información, consulte Cargando datos desde Amazon S3 en el Amazon Redshift la documentación de.

Existen varias carpetas en el bucket de Amazon S3 que se corresponden con las tareas de extracción que haya configurado. Al cargar sus datos en Amazon Redshift, especifique el nombre del archivo de manifiesto creado por cada tarea. El archivo de manifiesto aparecerá en la carpeta de tareas del bucket de S3, tal y como se muestra a continuación.


                                    Lista de archivos en el bucket de S3

Extract Only

Los agentes de extracción habrán guardado sus datos en su carpeta de trabajo. Copie a mano sus datos en el bucket de Amazon S3 y, a continuación, proceda con las instrucciones para Extract and Upload (Extraer y cargar).

Uso de la partición virtual con Herramienta de conversión de esquemas de AWS

A menudo, podrá administrar mejor grandes tablas sin particiones mediante la creación de subtareas que crean particiones virtuales de los datos de la tabla utilizando reglas de filtrado. En la AWS SCT, es posible crear particiones virtuales de los datos migrados. Existen tres tipos de partición, que funcionan con determinados tipos de datos:

  • El tipo de partición RANGE funciona con tipos de datos de fecha y hora y numéricos.

  • El tipo de partición LIST funciona con tipos de datos de fecha y hora, numéricos y caracteres.

  • El tipo de partición DATE AUTO SPLIT funciona con tipos de datos numéricos, de fecha y de hora.

La AWS SCT valida los valores que proporcione para crear una partición. Por ejemplo, si intenta realizar la partición de una columna con tipos de datos NUMERIC pero proporciona valores de otro tipo de datos, la AWS SCT produce un error.

Límites al crear particiones virtuales

Estas son las limitaciones al crear una partición virtual:

  • Solo puede utilizar la partición virtual únicamente para tablas no particionadas.

  • Puede utilizar la partición virtual únicamente en la vista de migración de datos.

  • No puede utilizar la opción UNION ALL VIEW con particiones virtuales.

tipo de partición RANGE

El tipo de partición RANGE realiza particiones de datos basadas en un intervalo de valores de la columna para tipos de datos de fecha y hora y numéricos. Este tipo de partición crea una cláusula WHERE y usted proporciona el intervalo de valores de cada partición. Para especificar una lista de valores para la columna particionada, utilice la Valores caja. Puede cargar información del valor mediante un archivo .csv.

El tipo de partición RANGE crea particiones predeterminadas en ambos extremos de los valores de partición. Estas particiones predeterminadas capturan cualquier dato que sea menor o mayor que los valores de partición especificados.

Por ejemplo, puede crear varias particiones basadas en un rango de valores que proporcione. En el siguiente ejemplo, se especifican los valores de partición para LO_TAX para crear varias particiones.

Partition1: WHERE LO_TAX <= 10000.9 Partition2: WHERE LO_TAX > 10000.9 AND LO_TAX <= 15005.5 Partition3: WHERE LO_TAX > 15005.5 AND LO_TAX <= 25005.95

Para crear una partición virtual RANGE

  1. Abra la aplicación AWS SCT.

  2. Seleccione el modo Data Migration View.

  3. Elija la tabla en la que desea configurar la partición virtual. Abra el menú contextual (clic secundario) de la tabla y seleccione Add Virtual Partitioning.

  4. En el cuadro de diálogo Add Virtual Partitioning, introduzca la información, como sigue.

    Opción Acción:

    Partition Type

    Seleccione RANGE. La interfaz de usuario del cuadro de diálogo cambia en función del tipo que elija.

    Nombre de la columna

    Seleccione la columna en la que desea realizar la partición.

    Column Type

    Elija el tipo de datos para los valores en la columna.

    Valores

    Para añadir nuevos valores, escriba cada valor en el cuadro New Value y, a continuación, elija el signo más para añadir el valor.

    Load From File

    (Opcional) Escriba el nombre de un archivo .csv que contenga valores de partición.

  5. Elija OK (Aceptar).

Tipo de partición LIST

El tipo de partición LIST realiza particiones de datos basadas en los valores de la columna para tipos de datos de fecha y hora, numéricos y caracteres. Este tipo de partición crea una cláusula WHERE y usted proporciona los valores de cada partición. Para especificar una lista de valores para la columna particionada, utilice la Valores caja. Puede cargar información del valor mediante un archivo .csv.

Por ejemplo, puede crear varias particiones basadas en un valor que proporcione. En el siguiente ejemplo, se especifican los valores de partición para LO_ORDERKEY para crear varias particiones.

Partition1: WHERE LO_ORDERKEY = 1 Partition2: WHERE LO_ORDERKEY = 2 Partition3: WHERE LO_ORDERKEY = 3 … PartitionN: WHERE LO_ORDERKEY = USER_VALUE_N

También puede crear una partición predeterminada para valores no incluidos en los especificados.

Puede utilizar el tipo de partición LIST para filtrar los datos de origen si desea excluir valores particulares de la migración. Por ejemplo, supongamos que desea omitir filas con LO_ORDERKEY = 4. En este caso, no incluya el valor 4 en la lista de valores de partición y asegúrese de que Incluir otros valores no se ha elegido.

Para crear una partición virtual LIST

  1. Abra la aplicación AWS SCT.

  2. Seleccione el modo Data Migration View.

  3. Elija la tabla en la que desea configurar la partición virtual. Abra el menú contextual (clic secundario) de la tabla y seleccione Add Virtual Partitioning.

  4. En el cuadro de diálogo Add Virtual Partitioning, introduzca la información, como sigue.

    Opción Acción:

    Partition Type

    Elija LIST. La interfaz de usuario del cuadro de diálogo cambia en función del tipo que elija.

    Nombre de la columna

    Seleccione la columna en la que desea realizar la partición.

    New Value

    Aquí puede escribir un valor que se añadirá al conjunto de valores de la partición.

    Include Other Values

    Seleccione esta opción para crear una partición predeterminada en la que se almacenan todos los valores que no cumplen los criterios de la partición.

    Load From File

    (Opcional) Escriba el nombre de un archivo .csv que contenga valores de partición.

  5. Elija OK (Aceptar).

Tipo de partición DATE AUTO SPLIT

El tipo de partición DATE AUTO SPLIT es una forma automatizada de generar particiones RANGE. Con DATA AUTO SPLIT, usted indica AWS SCT el atributo de partición, dónde comenzar y finalizar, y el tamaño del rango entre los valores. A continuación, SCT calcula los valores de partición automáticamente.

DATA AUTO SPLIT automatiza gran parte del trabajo que implica la creación de particiones de rango. El equilibrio entre el uso de esta técnica y la partición de rango es cuánto control necesita sobre los límites de partición. El proceso de división automática siempre crea rangos de igual tamaño (uniformes). La partición de rangos le permite variar el tamaño de cada rango según sea necesario para su distribución de datos particular. Por ejemplo, puede utilizar diariamente, semanalmente, cada dos semanas, mensualmente, etc.

Partition1: WHERE LO_ORDERDATE >= ‘1954-10-10’ AND LO_ORDERDATE < ‘1954-10-24’ Partition2: WHERE LO_ORDERDATE >= ‘1954-10-24’ AND LO_ORDERDATE < ‘1954-11-06’ Partition3: WHERE LO_ORDERDATE >= ‘1954-11-06’ AND LO_ORDERDATE < ‘1954-11-20’ … PartitionN: WHERE LO_ORDERDATE >= USER_VALUE_N AND LO_ORDERDATE <= ‘2017-08-13’

Para crear una partición virtual DATE AUTO SPLIT

  1. Abra la aplicación AWS SCT.

  2. Seleccione el modo Data Migration View.

  3. Elija la tabla en la que desea configurar la partición virtual. Abra el menú contextual (clic secundario) de la tabla y seleccione Add Virtual Partitioning.

  4. En el cuadro de diálogo Add Virtual Partitioning, introduzca la información, como sigue.

    Opción Acción:

    Partition Type

    Seleccione DATE AUTO SPLIT. La interfaz de usuario del cuadro de diálogo cambia en función del tipo que elija.

    Nombre de la columna

    Seleccione la columna en la que desea realizar la partición.

    Start Date (Fecha de inicio)

    Escriba una fecha de inicio.

    Fecha de finalización

    Escriba una fecha de finalización.

    Interval

    Escriba la unidad del intervalo y elija el valor de dicha unidad.

  5. Elija OK (Aceptar).

Migración de LOBs a Amazon Redshift

Amazon Redshift no admite el almacenamiento de objetos binarios grandes (LOB). Sin embargo, si necesita migrar uno o varios LOB a Amazon Redshift, la AWS SCT puede realizar la migración. Para ello, la AWS SCT utiliza un bucket de Amazon S3 para almacenar los LOB y escribe la dirección URL para el bucket de S3 en los datos migrados almacenados en Amazon Redshift.

Para migrar LOB a Amazon Redshift

  1. Abra un proyecto de AWS SCT.

  2. En Actions, elija Create Local Task.

  3. Seleccione la pestaña Advanced.

  4. En S3 bucket LOBs folder, escriba el nombre de la carpeta de un bucket de S3 donde desee almacenar los LOB.

    
                        LOB en el cuadro de diálogo Local Settings (Configuración local)
  5. Seleccione Create (Crear) para crear la tarea.

Mejores prácticas y solución de problemas para agentes de extracción de datos

A continuación se indican algunas prácticas recomendadas y sugerencias de resolución de problemas para el uso de los agentes de extracción.

Problema Sugerencias para la solución de problemas

El desempeño es lento

Para mejorar el desempeño, le recomendamos lo siguiente:

  • Instale varios agentes.

  • Instale agentes en equipos cercanos a su data warehouse.

  • No ejecute todas las tablas en una única tarea de agente.

Evite los retrasos

Evite tener demasiados agentes que obtengan acceso a su data warehouse al mismo tiempo.

Un agente deja de funcionar de forma temporal

Si un agente deja de funcionar, el estado de cada una de sus tareas aparecerá como erróneo en la AWS SCT. En algunos casos, el agente puede recuperarse con solo esperar. En este caso, el estado de sus tareas se actualiza en la AWS SCT.

Un agente deja de funcionar de forma permanente

Si el equipo que ejecuta un agente deja de funcionar de forma permanente, y ese agente está ejecutando una tarea, puede sustituirlo por un nuevo agente que continúe con la tarea. Solo puede sustituir un nuevo agente si la carpeta de trabajo del agente original no se encuentra en el mismo equipo que el agente original. Para sustituir un nuevo agente, haga lo siguiente:

  • Instale un agente en un nuevo equipo.

  • Configure el nuevo agente con los mismos ajustes, incluido el número de puerto y la carpeta de trabajo, que el agente original.

  • Comience el agente. Tras iniciar el agente, la tarea descubrirá al nuevo agente disponible y seguirá ejecutándose en el nuevo agente.