View a markdown version of this page

Exporte tablas de Amazon RDS for SQL Server a un bucket de S3 mediante AWS DMS - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Exporte tablas de Amazon RDS for SQL Server a un bucket de S3 mediante AWS DMS

Subhani Shaik, Amazon Web Services

Resumen

Amazon Relational Database Service (Amazon RDS) para SQL Server no admite la carga de datos en otros servidores vinculados a motores de bases de datos (DB) en la nube de Amazon Web Services AWS(). En su lugar, puede utilizar AWS Database Migration Service (AWS DMS) para exportar tablas de Amazon RDS for SQL Server a un bucket de Amazon Simple Storage Service (Amazon S3), donde los datos estén disponibles para otros motores de bases de datos.

AWS DMS le ayuda a migrar bases de datos de forma AWS rápida y segura. La base de datos de origen permanece en pleno funcionamiento durante la migración, lo que minimiza el tiempo de inactividad de las aplicaciones que dependen de la base de datos. AWS DMS puede migrar sus datos hacia y desde las bases de datos comerciales y de código abierto más utilizadas.

Este patrón se utiliza AWS Secrets Manager al configurar los puntos AWS DMS finales. Secrets Manager le ayuda a proteger los secretos necesarios para acceder a sus aplicaciones, servicios y recursos de TI. Puede utilizar el servicio para rotar, administrar y recuperar credenciales de bases de datos, claves de API y otros secretos durante todo su ciclo de vida. Los usuarios y las aplicaciones recuperan los secretos con una llamada a Secrets Manager, lo que reduce la necesidad de codificar información confidencial. Secrets Manager ofrece la rotación de secretos con una integración integrada para Amazon RDS, Amazon Redshift y Amazon DocumentDB (con compatibilidad con MongoDB). Además, el servicio se puede extender a otros tipos de secretos, incluidas las claves de API y los tokens de OAuth. Con Secrets Manager, puede controlar el acceso a los secretos mediante permisos detallados y auditar la rotación de secretos de forma centralizada para los recursos en la AWS nube, los servicios de terceros y las instalaciones.

Requisitos previos y limitaciones

Requisitos previos 

  • Un activo Cuenta de AWS

  • Un bucket de Amazon S3

  • Una nube privada virtual (VPC)

  • Una subred de base de datos

  • Amazon RDS para SQL Server

  • Un rol AWS Identity and Access Management (IAM) con acceso (lista, obtención y colocación de objetos) al bucket de S3 en nombre de la instancia de Amazon RDS

  • Secrets Manager para almacenar las credenciales de la instancia de Amazon RDS

Arquitectura

Pila de tecnología

  • Amazon RDS para SQL Server

  • AWS DMS

  • Amazon S3

  • AWS Secrets Manager

Arquitectura de destino

El siguiente diagrama muestra la arquitectura para exportar datos de la instancia de Amazon RDS al bucket de Amazon S3 con la ayuda de AWS DMS.

La descripción sigue el diagrama.
  1. La tarea de AWS DMS migración que se conecta a la instancia de Amazon RDS de origen a través del punto de enlace de origen

  2. Copiar datos de la instancia de Amazon RDS de origen

  3. La tarea de AWS DMS migración que se conecta al bucket de Amazon S3 de destino a través del punto final de destino

  4. Exportación de datos copiados al bucket de Amazon S3 en formato de valores separados por comas (CSV)

Tools (Herramientas)

Servicios de AWS

Otras herramientas

Prácticas recomendadas

Epics

TareaDescripciónHabilidades requeridas

Cree la instancia de Amazon RDS para SQL Server.

  1. Abra Consola de administración de AWS, elija RDS y utilice la opción de creación estándar para crear una instancia de Amazon RDS con la edición requerida, como SQL Server Express Edition, SQL Server Standard Edition o SQL Server Enterprise Edition. Para la versión, elija 2016 o posterior.

  2. En Plantillas, elija. Dev/Test

DBA, ingeniero DevOps

Configure las credenciales para la instancia.

  1. Escriba el nombre de la instancia.

  2. Proporcione un nombre de usuario y una contraseña para la instancia de Amazon RDS.

DBA, ingeniero DevOps

Configure la clase de instancia, el almacenamiento, el escalado automático y la disponibilidad.

  1. Seleccione la clase de instancia de base de datos de la lista: clases Estándar, Optimizada para memoria y Ampliable. Elija el tipo de instancia de base de datos que asigne la capacidad computacional, de red y de memoria necesaria para las cargas de trabajo planificadas para esta instancia de base de datos. Para obtener más información, consulte la Documentación de AWS.

  2. Seleccione el tipo de almacenamiento de la lista: SSD de uso general, SSD con IOPS aprovisionadas o magnético. Asigne el tamaño de almacenamiento predeterminado según sea necesario.

  3. Seleccione Habilitar el escalado automático del almacenamiento para aumentar el almacenamiento de Amazon RDS en función de su planificación de capacidad.

  4. Un Multi-AZ despliegue con una instancia de replicación es compatible con. AWS DMS En caso de que se produzca una interrupción en la zona de disponibilidad, el hardware interno o la red AWS DMS crearán una instancia en espera y proporcionarán alta disponibilidad (HA) mediante una conmutación por error automática a las réplicas en espera. En función del tamaño de la importación, seleccione la opción adecuada.

DBA, ingeniero DevOps

Especifique la VPC, el grupo de subredes, el acceso público y el grupo de seguridad.

Seleccione la VPC, los grupos de subredes de base de datos y el grupo de seguridad de VPC según sea necesario para crear la instancia de Amazon RDS. Siga las prácticas recomendadas, por ejemplo:

  • No habilite el acceso público a la instancia de Amazon RDS.

  • No utilice el CIDR 0.0.0. 0/0 en los grupos de seguridad.

  • Utilice únicamente la dirección IP y los detalles del puerto necesarios para acceder a la instancia de Amazon RDS.

DBA, ingeniero DevOps

Configure la supervisión, el respaldo y el mantenimiento.

  1. Especifique las opciones de copia de seguridad que desea. De forma predeterminada, las copias de seguridad están habilitadas con un periodo de retención de 7 días.

  2. Elija la configuración adecuada de la ventana de actualización automática de la versión secundaria y de mantenimiento para aplicar las modificaciones o el mantenimiento pendientes a la base de datos por parte de Amazon RDS.

  3. Seleccione Crear base de datos.

DBA, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Cree una tabla y cargue los datos del ejemplo.

En la nueva base de datos, cree una tabla. Utilice el código de ejemplo de la sección Información adicional para cargar los datos en la tabla.

DBA, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Cree el secreto.

  1. En la consola, selecciona Secrets Manager y, a continuación, selecciona Guardar un secreto nuevo.

  2. Introduzca un nombre de usuario y una contraseña para la base de datos de Amazon RDS para SQL Server.

Este secreto se usará para el punto final AWS DMS de origen.

DBA, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Para crear un rol de IAM para acceder a Amazon RDS.

  1. En la consola, elija IAM y cree un rol de IAM que dé read/write acceso a un bucket de S3 a Amazon RDS.

  2. En Característica, seleccione Integración con S3.

DBA, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Cree el bucket de Amazon S3.

Para guardar los datos de Amazon RDS para SQL Server, en la consola, elija S3 y, a continuación, elija Crear bucket. Asegúrese de que el bucket de Amazon S3 no esté disponible públicamente.

DBA, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Cree un rol de IAM para acceder AWS DMS a Amazon S3.

Cree un rol de IAM que permita AWS DMS enumerar, obtener y colocar objetos del bucket de Amazon S3.

DBA, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Cree el punto final AWS DMS de origen.

  1. En la consola, elija Database Migration Service y elija Puntos de conexión. Cree el Punto de conexión de origen y active la casilla de verificación Seleccionar instancia de base de datos de RDS.

  2. Para el motor Origen, seleccione Microsoft SQL Server.

  3. En Acceso a la base de datos del punto final AWS Secrets Manager, elija e introduzca el secreto y el rol de IAM que creó anteriormente, así como el nombre de la base de datos.

  4. Pruebe el punto de conexión de origen.

DBA, ingeniero DevOps

Cree el punto final AWS DMS de destino.

Cree el Punto de conexión de destino y seleccione Amazon S3 como Motor de destino.

Proporcione el nombre del bucket de Amazon S3 y el nombre de la carpeta para el rol de IAM que creó anteriormente.

DBA, ingeniero DevOps

Cree la instancia de AWS DMS replicación.

En la misma VPC, subred y grupo de seguridad, cree la AWS DMS instancia de replicación. Para obtener más información sobre cómo elegir una clase de instancia, consulta la AWS documentación.

DBA, ingeniero DevOps

Cree la tarea de AWS DMS migración.

Para exportar los datos de Amazon RDS for SQL Server al bucket de Amazon S3, cree una tarea de migración de base de datos. En tipo de migración, seleccione migrar datos existentes. Seleccione los AWS DMS puntos de enlace y la instancia de replicación que creó.

DBA, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Ejecute la tarea de migración de bases de datos de.

Para exportar los datos de la tabla de SQL Server, inicie la tarea de migración de la base de datos. La tarea exportará los datos de Amazon RDS for SQL Server al bucket de Amazon S3 en formato CSV.

DBA, ingeniero DevOps
TareaDescripciónHabilidades requeridas

Elimine los recursos.

Para evitar incurrir en costos adicionales, utilice la consola para eliminar los recursos en el siguiente orden:

  1. Tarea de migración

  2. Instancia de replicación

  3. Puntos de conexión

  4. Bucket de Amazon S3

  5. Instancia de base de datos

DBA, ingeniero DevOps

Resolución de problemas

ProblemaSolución

Solución de problemas con Microsoft SQL Server

Para obtener más información sobre cómo resolver problemas con Microsoft SQL Server durante el uso AWS DMS, consulte Solución de problemas con Microsoft SQL Server.

Solución de problemas de tareas de migración

Para obtener más información sobre cómo resolver los problemas de migración durante el uso AWS DMS, consulte Solución de problemas de migración en AWS Database Migration Service.

Recursos relacionados

Información adicional

Para crear la base de datos y la tabla y cargar los datos de ejemplo, utilice el siguiente código:

--Step1: Database creation in RDS SQL Server CREATE DATABASE [Test_DB] ON PRIMARY ( NAME = N'Test_DB', FILENAME = N'D:\rdsdbdata\DATA\Test_DB.mdf' , SIZE = 5120KB , FILEGROWTH = 10%) LOG ON ( NAME = N'Test_DB_log', FILENAME = N'D:\rdsdbdata\DATA\Test_DB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) GO --Step2: Create Table USE Test_DB GO Create Table Test_Table(ID int, Company Varchar(30), Location Varchar(20)) --Step3: Load sample data. USE Test_DB GO Insert into Test_Table values(1,'AnyCompany','India') Insert into Test_Table values(2,'AnyCompany','USA') Insert into Test_Table values(3,'AnyCompany','UK') Insert into Test_Table values(4,'AnyCompany','Hyderabad') Insert into Test_Table values(5,'AnyCompany','Banglore')