View a markdown version of this page

Flujo de trabajo de modernización de SQL Server - AWS Transformar

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.

Flujo de trabajo de modernización de SQL Server

En esta sección se proporciona un recorrido paso a paso del proceso completo de modernización de SQL Server mediante AWS Transform.

Paso 1: Crear un trabajo de modernización de SQL Server

Comience su proceso de modernización creando un nuevo trabajo de transformación en la consola AWS Transform.

  1. Inicie sesión en la consola AWS Transform

  2. Elija Crear trabajo de modernización

  3. Seleccione Trabajo de modernización de Windows y, a continuación, seleccione Modernización de SQL Server

  4. Introduzca los detalles del trabajo:

    • Nombre del trabajo: nombre descriptivo del proyecto

    • Descripción: descripción opcional

    • Región objetivo: AWS región de despliegue

  5. Seleccione Create job (Crear trabajo).

    importante

    No incluya información de identificación personal (PII) en el nombre de su trabajo.

Paso 2: Conectarse a la base de datos de SQL Server

Connect AWS Transform a su base de datos de SQL Server para permitir el análisis y la conversión de esquemas.

Cree un conector de base de datos

  1. En su trabajo de modernización de SQL Server, vaya a Connect to resources

  2. Elija Conectar a la base de datos de SQL Server

  3. Elija Crear nuevo conector

  4. Introduzca la información del conector:

    • Nombre del conector C: nombre descriptivo

    • AWS ID de cuenta: cuenta donde está alojado SQL Server

  5. Una vez confirmado, recibirá un enlace para su aprobación. Copia el enlace de aprobación para obtener la aprobación de la cuenta por parte de tu AWS administrador. Una vez que lo hayan aprobado, puedes continuar con el siguiente paso.

  6. Una vez que el administrador haya aprobado la solicitud de conector, haga clic en Enviar para continuar con la configuración de la conexión con el código fuente.

Paso 3: Conectar el repositorio de código fuente

AWS Transform necesita acceder al código fuente de su aplicación.NET para analizar y transformar el código que interactúa con la base de datos de SQL Server. AWS Transform admite tres métodos para proporcionar el código fuente.

Elija su método de autenticación

Conector de token de acceso personal (PAT) (recomendado)

Ideal para los equipos que necesitan permisos personalizados, asistencia de proveedores autohospedados o acceso a API específicas de cada proveedor, como Secrets. GitHub Creas una PAT en tu proveedor de código fuente con permisos personalizados, la guardas en AWS Secrets Manager ella y AWS Transform la recupera cuando es necesario. Eres responsable de gestionar la rotación y el vencimiento de los tokens.

AWS CodeConnections

Ideal para los equipos que desean una gestión automatizada de las credenciales. AWS CodeConnections utiliza una integración de proveedores gestionada que gestiona la autenticación mediante un flujo de autorización de OAuth 2.0. AWS gestiona todo el ciclo de vida de las credenciales, incluida la actualización y rotación automáticas de los tokens. No se requiere una administración manual de credenciales.

Amazon S3

Sube tu código fuente directamente a un bucket de Amazon S3. AWS Transform accede al código del bucket durante el trabajo de transformación.

Característica Conector PAT (recomendado) AWS CodeConnections
Administración de credenciales Manual (gestionado por el cliente) Automático (gestionado)AWS
ciclo de vida del token Se requiere una rotación manual Actualización automática
Flexibilidad de permisos Alcances totalmente personalizables Permisos fijos
Self-hosted soporte de proveedores compatible No disponible
Complejidad de la configuración Moderado (creación y almacenamiento manuales de fichas) Bajo (autorización única)
Almacenamiento de fichas Del cliente AWS Secrets Manager Administradas por AWS

Configurar un conector PAT (recomendado)

Con un conector PAT, puede crear un token de acceso personal en su proveedor de código fuente con permisos personalizados, almacenarlo de forma segura y AWS Transform lo recupera cuando es necesario. AWS Secrets Manager Usted es responsable de gestionar el ciclo de vida del token, incluidas la rotación y la caducidad. AWS Transform crea automáticamente el rol de IAM necesario con permisos para acceder a tu secreto.

El conector PAT es compatible con los siguientes proveedores, incluidas las versiones autohospedadas y personalizadas DNS/URL :

  • GitHub y GitHub Enterprise Server

  • GitLab.com y GitLab Self-Managed

  • Bitbucket Cloud y Bitbucket Data Center

  • Azure DevOps y Azure Server DevOps

Cree un token de acceso personal

Cree un PAT en su proveedor de código fuente. Los permisos necesarios varían según el proveedor. Elija la pestaña de su proveedor.

importante

Copia el token inmediatamente después de crearlo. No puede volver a verlo. Establezca la caducidad durante la duración del trabajo de transformación. No configure la caducidad para que no caduque nunca.

aviso

Nunca deposite los tokens PAT en repositorios de código ni los comparta a través de canales inseguros. Guárdalos siempre dentro. AWS Secrets Manager

GitHub

Ve a Configuración, Configuración de desarrollador, Tokens de acceso personal, Fine-grained Tokens. Seleccione los repositorios que desee transformar y conceda los siguientes permisos.

Permisos de repositorio

Permiso Acceso Finalidad
Contenido Leer y escribir Lee el código fuente y vuelve a escribir el código transformado en el repositorio
Metadatos Read-only Accede a la información básica del repositorio

Permisos de organización (necesarios para los repositorios de la organización)

Permiso Acceso Finalidad
Miembros Read-only Muestra las organizaciones a las que puede acceder el token para descubrir los repositorios
GitLab

Vaya a Editar perfil y acceda a los tokens. Seleccione los siguientes ámbitos.

Alcance Finalidad
read_api Lee los metadatos del repositorio, la información del proyecto, los detalles del usuario y enumera los grupos y las ramas
read_repository Lee los archivos de código fuente y la estructura del repositorio para su análisis
write_repository Vuelve a escribir el código transformado en el repositorio
Bitbucket

Ve a Configuración de la cuenta, Seguridad y Creación y administración de tokens de API. Los ámbitos necesarios dependen del tipo de token.

Workspace/Repository Token (ATCT: autenticación de portador, no se requiere nombre de usuario)

Permiso Acceso Finalidad
Repositorios Lee y escribe Enumera los repositorios, lee las ramas y escribe el código transformado mediante git push

Token de API de cuenta (ATAT: autenticación básica con correo electrónico) o contraseña de aplicación (ATBB: autenticación básica con nombre de usuario)

Alcance Finalidad
read:account Identifica al usuario autenticado para resolver la pertenencia al repositorio
read:workspace:bitbucket Muestra los espacios de trabajo a los que puede acceder el token para que AWS Transform pueda enumerar sus repositorios. No es obligatorio si especificas una lista de espacios de trabajo en el secreto.
read:repository:bitbucket Muestra los repositorios y lee los metadatos y la información de las sucursales
write:repository:bitbucket Vuelve a escribir el código transformado en el repositorio mediante git push
Azure DevOps

Navegue hasta Configuración de usuario, Tokens de acceso personal. Seleccione Ámbitos definidos personalizados. Para el ámbito de la organización, elija Todas las organizaciones accesibles (recomendado) o especifique una sola organización.

Alcance Acceso Finalidad
Código Lee y escribe Lee el código fuente, enumera los repositorios y las ramas y vuelve a escribir el código transformado
Perfil de usuario Lectura Valida el acceso al token y descubre la identidad del usuario para realizar búsquedas en la organización
Gestión de los derechos de los miembros Lectura Enumera las organizaciones a las que puede acceder el token para descubrir los repositorios

Guarde la PAT en AWS Secrets Manager

  1. Abra la AWS Secrets Manager consola.

  2. Elija Almacenar un secreto nuevo.

  3. En Secret type (Tipo de secreto), elija Other type of secret (Otro tipo de secreto).

  4. Añada pares clave-valor en función del proveedor y el tipo de alojamiento:

    • Cloud-hosted proveedores: agrega una clave nombrada token junto con tu PAT como valor.

      • En el caso de Azure DevOps con una organización específica, añada también una clave organization con el nombre de su organización.

      • En el caso de las contraseñas de aplicaciones de Bitbucket (ATBB), añade también una clave username con el nombre de usuario de Bitbucket. En el caso de los tokens de API (ATAT) de la cuenta de Bitbucket, añade una clave email con el nombre de tu dirección de correo electrónico de Bitbucket.

    • Self-hosted y DNS/URL proveedores personalizados: añade las siguientes claves: host (la URL de tu servidor, por ejemplohttps://github.mycompany.com), provider_type (github, gitlabbitbucket, oado) y token (tu PAT).

      • En el caso de Azure DevOps con una organización específica, añada también una clave organization con el nombre de su organización.

      • En el caso de las contraseñas de aplicaciones de Bitbucket (ATBB), añade también una clave username con el nombre de usuario de Bitbucket. En el caso de los tokens de API (ATAT) de la cuenta de Bitbucket, añade una clave email con el nombre de tu dirección de correo electrónico de Bitbucket.

    En el siguiente ejemplo, se muestra cómo busca un secreto en un GitHub proveedor alojado en AWS Secrets Manager la nube:

    { "token": "your-github-personal-access-token" }

    En el siguiente ejemplo, se muestra una contraseña de aplicación de Bitbucket (ATBB):

    { "token": "your-bitbucket-app-password", "username": "my-bitbucket-username" }

    En el siguiente ejemplo, se muestra una instancia autohospedada GitLab :

    { "host": "https://gitlab.mycompany.com", "provider_type": "gitlab", "token": "your-gitlab-personal-access-token" }
  5. Elija Siguiente.

  6. Introduce un nombre secreto, por ejemplogithub-pat-myproject.

  7. (Opcional) Seleccione una clave KMS administrada por el cliente para el cifrado.

  8. Complete el asistente y elija Almacenar.

  9. Copia el ARN secreto. Necesita este valor al configurar el trabajo de AWS transformación.

Si utiliza una clave de KMS administrada por el cliente para cifrar su secreto (en lugar de la clave AWS administrada por defecto), debe actualizar la política de claves de KMS para permitir que AWS Transform descifre el secreto. Añada la siguiente declaración a su política de claves de KMS administrada por el cliente:

{ "Sid": "Allow AWS Transform to decrypt secrets", "Effect": "Allow", "Principal": { "Service": "transform.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.REGION.amazonaws.com", "kms:EncryptionContext:SecretARN": "YOUR-SECRET-ARN" } } }

REGIONSustitúyala por tu AWS región (por ejemplous-east-1) y YOUR-SECRET-ARN por el ARN de tu secreto. La kms:ViaService condición garantiza que la clave KMS solo se pueda usar a través del AWS Secrets Manager servicio. La kms:EncryptionContext:SecretARN condición restringe el descifrado a su secreto específico.

Para actualizar su política de claves de KMS:

  1. Abra la consola AWS KMS enhttps://console.aws.amazon.com/kms.

  2. En el panel de navegación, elija Claves administradas por el cliente.

  3. Seleccione su clave KMS.

  4. En la pestaña Política de claves, elija Editar.

  5. Agregue la declaración de política a la política existente.

  6. Seleccione Save changes (Guardar cambios).

nota

Si usa la clave AWS administrada predeterminada (aws/secretsmanager), no necesita modificar ninguna política de claves de KMS.

Configure la AWS Transformar el trabajo

  1. En su trabajo de AWS Transform, vaya a Conectarse a los recursos.

  2. Elige el repositorio de código fuente de Connect.

  3. Seleccione el conector PAT como método de autenticación.

  4. Introduce el ARN secreto del paso 2.

  5. (Opcional) Introduzca el ARN de la clave de KMS si ha utilizado una clave de KMS administrada por el cliente.

  6. Seleccione el repositorio y la sucursal.

  7. Elija Continuar.

AWS Transform crea automáticamente un rol de IAM con los permisos necesarios para acceder a tu secreto.

Rotación y mantenimiento de los tokens

Usted es responsable de rotar los tokens PAT antes de que caduquen. Para rotar un token:

  1. Genera una nueva PAT en tu proveedor de código fuente con los mismos permisos.

  2. Actualice el valor secreto en AWS Secrets Manager.

  3. Compruebe que su trabajo de AWS Transform pueda acceder al repositorio con el nuevo token.

  4. Revoca la PAT anterior en tu proveedor de código fuente.

Solucione los problemas del conector PAT

Acceso denegado: PAT no válida

Compruebe que la PAT no haya caducado. Confirme que la PAT tenga los alcances requeridos para su proveedor. Compruebe que la PAT esté correctamente almacenada en AWS Secrets Manager.

No se puede recuperar el secreto

Compruebe que el ARN secreto es correcto. Compruebe los registros de trabajos para confirmar que AWS Transform creó el rol de IAM. Si utiliza una clave de KMS administrada por el cliente, compruebe la política de claves.

Permisos insuficientes

Es posible que la PAT carezca de los alcances necesarios para la operación. Regenere la PAT con los alcances necesarios y actualice el valor secreto en. AWS Secrets Manager

Configuración AWS CodeConnections

AWS CodeConnections utiliza una integración de proveedores gestionada que recupera automáticamente las credenciales de OAuth temporales mediante un flujo de autorización de OAuth 2.0. Los permisos se configuran en la aplicación del proveedor y son gestionados en su totalidad por. AWS Usted autoriza la aplicación una vez y se AWS encarga de toda la administración de credenciales.

  1. En su trabajo de modernización de SQL Server, vaya a Conectarse a los recursos.

  2. Elige el repositorio de código fuente de Connect.

  3. Si no tienes una conexión existente, selecciona Crear conexión.

  4. Selecciona tu proveedor de repositorios:

    • GitHub / GitHub Empresa

    • GitLab.com

    • Bitbucket Cloud

    • Repositorios de Azure

  5. Siga el flujo de autorización de su proveedor.

  6. Después de la autorización, elija Connect.

Seleccione su repositorio y sucursal

  1. Selecciona tu repositorio de la lista.

  2. Elige la rama que quieres transformar (normalmente la principal, la principal o la de desarrollo).

  3. (Opcional) Especifique un subdirectorio si la aplicación.NET no está en la raíz del repositorio.

  4. Elija Continuar.

nota

AWS Transform crea una nueva rama para el código transformado. Puede revisar y combinar los cambios mediante el proceso normal de revisión del código.

Aprobación del acceso al repositorio

En el GitHub caso de las plataformas y en algunas otras, el administrador del repositorio debe aprobar la solicitud de conexión:

  1. AWS Transform muestra un enlace de verificación.

  2. Comparta este enlace con el administrador del repositorio.

  3. El administrador revisa y aprueba la solicitud en la configuración de su repositorio.

  4. Una vez que el administrador aprueba la solicitud, el estado de la conexión cambia a Aprobado.

importante

El proceso de aprobación puede llevar tiempo en función de las políticas de la organización. Planifíquelo en consecuencia.

Paso 4: Crear un conector de despliegue (opcional)

Si desea implementar las aplicaciones transformadas en su AWS cuenta, tiene la opción de seleccionar un conector de implementación.

Configure el conector de despliegue

  1. Seleccione si desea implementar sus aplicaciones. Si selecciona No, se omitirá este paso.

  2. Añada su AWS cuenta al lugar donde desee implementar las aplicaciones transformadas.

  3. Añada un nombre que le ayude a recordar el conector con facilidad

  4. Envíe la solicitud de aprobación del conector.

Aprobación del conector de despliegue

El administrador de su AWS cuenta debe aprobar la solicitud de conexión para el conector de despliegue.

  1. AWS Transform muestra un enlace de verificación

  2. Comparta este enlace con el administrador de su AWS cuenta

  3. El administrador revisa y aprueba la solicitud en la configuración de su repositorio

  4. Una vez aprobada, el estado de la conexión cambia a Aprobado

importante

El proceso de aprobación puede llevar tiempo en función de las políticas de la organización. Planifíquelo en consecuencia.

Paso 5: Confirme sus recursos

Tras conectarse a la base de datos y al repositorio, AWS Transform comprueba que todos los recursos necesarios estén accesibles y listos para la transformación.

Qué AWS Transform verifica

  • Conectividad a la base de datos: la conexión está activa, el usuario tiene los permisos necesarios, las bases de datos son accesibles y la versión es compatible

  • Acceso al repositorio: se puede acceder al repositorio, existe una sucursal, se han detectado archivos de proyecto.NET y se pueden detectar las conexiones a las bases de datos

  • Preparación del entorno: la configuración de VPC es compatible con DMS, existen las funciones de AWS servicio requeridas, se ha establecido la conectividad de red y se ha confirmado la compatibilidad regional

Revise la lista de verificación previa al vuelo

  1. Navegue hasta Confirmar sus recursos en el plan de trabajo

  2. Revise los elementos de la lista de verificación:

    • ✅ Conexión a la base de datos verificada

    • ✅ Acceso al repositorio confirmado

    • ✅ Compatible con la versión .NET

    • ✅ Entity Framework o ADO.NET detectado

    • ✅ Configuración de red válida

    • ✅ Se concedieron los permisos necesarios

  3. Si todos los elementos aparecen completos, selecciona Continuar

  4. Si algún elemento muestra advertencias o errores, resuélvalos antes de continuar

Paso 6: Descubrimiento y evaluación

AWS Transform analiza la base de datos de SQL Server y la aplicación.NET para comprender el alcance y la complejidad de la modernización.

¿Qué se descubre

  • Objetos de base de datos: tablas, vistas, índices, procedimientos almacenados, funciones, activadores, restricciones, tipos de datos, columnas calculadas, columnas de identidad, relaciones de clave externa

  • Código de aplicación: estructura de proyecto.NET, modelos y configuraciones de Entity Framework, código de acceso a ADO.NET los datos, cadenas de conexión a bases de datos, llamadas a procedimientos almacenados, consultas SQL en código

  • Dependencias: qué aplicaciones utilizan qué bases de datos, dependencias entre bases de datos, procedimientos almacenados compartidos, patrones comunes de acceso a los datos

Proceso de descubrimiento

  • AWS Transform inicia el descubrimiento automáticamente después de la confirmación del recurso

  • El descubrimiento suele tardar entre 5 y 15 minutos, según el tamaño de la base de datos y la complejidad de la aplicación

  • Supervise el progreso del registro de trabajo

  • AWS Transform muestra actualizaciones en tiempo real a medida que se descubren objetos

Revise los resultados del descubrimiento

Una vez finalizado el descubrimiento, vaya a Descubrimiento y evaluación para revisar:

Análisis de bases de datos:

  • Recuento de objetos: número de tablas, vistas, procedimientos almacenados, funciones, activadores

  • Puntuación de complejidad: evaluación de la complejidad de la transformación (baja, media, alta)

  • Elementos de acción: objetos que pueden requerir atención humana

  • Funciones compatibles: funciones de la base de datos que se convertirán automáticamente

  • Funciones no compatibles: funciones que requieren soluciones alternativas

Análisis de aplicaciones:

  • Tipo de proyecto: ASP.NET Core, aplicación de consola, biblioteca de clases, etc.

  • Versión.NET: versión de .NET Core detectada

  • Marco de acceso a datos: versión de Entity Framework o ADO.NET

  • Conexiones a bases de datos: número de cadenas de conexión encontradas

  • Complejidad del código: evaluación de la complejidad de la transformación

Mapa de dependencias:

  • Representación visual de las relaciones entre la aplicación y la base de datos

  • Cross-database dependencias

  • componentes compartidos

Comprender la evaluación de la complejidad

AWS Transform clasifica su modernización en tres categorías:

Complejidad Características Resultado esperado
Bajo (clase A) Patrones SQL estándar (ANSI SQL), procedimientos almacenados simples, tipos de datos básicos, Entity Framework con configuraciones estándar Se espera una intervención humana mínima, alta tasa de éxito de automatización
Medio (clase B) T-SQL Patrones avanzados, procedimientos almacenados complejos con lógica empresarial, funciones definidas por el usuario, columnas calculadas Se requiere alguna intervención humana, pero se recomienda la revisión por parte de un experto
Alto (clase C) Ensamblajes CLR, servidores enlazados, Service Broker, búsqueda compleja de texto completo Se requiere una importante refactorización humana, considere un enfoque gradual

Informes de evaluación

AWS Transform genera un informe de evaluación detallado que incluye:

  • Resumen ejecutivo con información general de alto nivel

  • Inventario completo de bases de datos

  • Inventario de aplicaciones

  • Porcentaje de preparación para la transformación

  • Estimación del esfuerzo

  • Estrategias de evaluación y mitigación de riesgos

  • Método recomendado

Puede descargar el informe de evaluación para revisarlo sin conexión y compartirlo con las partes interesadas.

Paso 7: Generar y revisar el plan de oleaje

Para grandes propiedades con múltiples bases de datos y aplicaciones, AWS Transform genera un plan de oleada que secuencia la modernización en grupos lógicos.

¿Qué es un plan de oleaje?

Un plan de oleaje organiza la modernización en fases (oleadas) en función de:

  • Dependencias entre bases de datos y aplicaciones

  • Prioridades empresariales

  • Tolerancia al riesgo

  • Disponibilidad de recursos

  • Complejidad técnica

Cada oleada contiene un grupo de bases de datos y aplicaciones que se pueden modernizar juntas sin romper las dependencias.

Revise el plan de oleaje

  1. Navegue hasta la planificación de olas en el plan de trabajo

  2. Revise las oleadas propuestas

  3. Para cada ola, revise:

    • Bases de datos incluidas

    • Aplicaciones incluidas

    • Dependencias de otras ondas

    • Tiempo estimado de transformación

    • Nivel de complejidad

    • Aplicaciones desplegables

Personalice el plan de olas

Puede personalizar el plan de olas para que se adapte a las necesidades de su empresa de dos maneras:

Uso de JSON:

  1. Elija Descargar todas las oleadas para obtener un archivo JSON con todas las oleadas

  2. Modifique las ondas en el JSON de la siguiente manera:

    • Mover bases de datos entre oleadas

    • Dividir las ondas en grupos más pequeños

    • Fusionar las ondas

    • Cambiando la secuencia de ondas

    • Añadir o eliminar bases de datos del ámbito

  3. Vuelva a cargar el archivo JSON en la consola seleccionando Upload wave plan

  4. AWS Transform valida los cambios y advierte si se infringen las dependencias

  5. Seleccione Confirmar oleadas para actualizar el plan de oleadas

Uso del chat:

Puede modificar los planes de oleadas conversando con el agente y pidiéndole que mueva los repositorios y las bases de datos a oleadas específicas. Este enfoque funciona bien si necesitas hacer pequeñas modificaciones en las oleadas.

importante

Asegúrese de que se respeten las dependencias al personalizar las olas. Transformar una aplicación dependiente antes de su base de datos puede provocar problemas.

Modernización de una sola base

Si está modernizando una sola base de datos y una aplicación, AWS Transform crea un plan sencillo de una sola vez. Puede proceder directamente a la transformación sin necesidad de planificar las oleadas.

Apruebe el plan de oleaje

  1. Tras revisarlo y personalizarlo (si es necesario), elige Aprobar el plan de oleaje

  2. AWS Transform bloquea el plan de oleada y pasa a la transformación

  3. Aún puede modificar el plan más adelante seleccionando Editar plan de oleaje

Paso 8: Conversión del esquema

AWS Transform convierte el esquema de la base de datos de SQL Server en Aurora PostgreSQL, lo que incluye tablas, vistas, procedimientos almacenados, funciones y activadores.

Cómo funciona la conversión de esquemas

AWS Transform utiliza la conversión de esquemas de AWS DMS mejorada con IA generativa para:

  • Analice los esquemas y las relaciones de SQL Server

  • Asigne tipos de datos de SQL Server a equivalentes de PostgreSQL

  • Transforme en T-SQL PL/pgSQL

  • Gestione las columnas de identidad, las columnas calculadas y las restricciones

  • Valide la conversión y la integridad referencial

  • Genere elementos de acción para los objetos que requieren una revisión humana

Conversiones compatibles

Convertido automáticamente:

  • Tablas, vistas e índices

  • Claves principales y claves externas

  • Compruebe las restricciones y los valores por defecto

  • Tipos de datos más comunes

  • Procedimientos almacenados sencillos

  • Funciones y activadores básicos

  • Columnas de identidad (convertidas a SERIAL o GENERADAS)

  • La mayoría de las columnas calculadas

Puede requerir una revisión humana:

  • Procedimientos almacenados complejos con avanzados T-SQL

  • Server-specific Funciones SQL (GETUTCDATE, SUSER_SNAME, etc.)

  • Columnas calculadas con expresiones complejas

  • Full-text índices de búsqueda

  • operaciones de tipos de datos XML

  • Tipo de datos HIERARCHYID (requiere la extensión ltree)

No se convierte automáticamente:

  • Ensamblajes CLR

  • Servidores vinculados

  • Service Broker

  • Trabajos de agente SQL Server

Inicie la conversión del esquema

  1. Navegue hasta la conversión de esquemas en el plan de trabajo

  2. Revise la configuración de conversión:

    • Versión de PostgreSQL de destino

    • Opciones de extensión (ltree, PostGIS, etc.)

    • Convenciones de nomenclatura

  3. Elija Iniciar conversión

  4. Supervise el progreso en el registro de trabajo

  5. La conversión suele tardar entre 10 y 30 minutos, según la cantidad de objetos de la base de datos

Revise los resultados de la conversión

Cuando se complete la conversión, vaya a Revisar la conversión del esquema:

Resumen de la conversión:

  • Objetos convertidos: recuento de objetos convertidos correctamente

  • Objetos de acción: objetos que requieren atención humana

  • Advertencias: posibles problemas que hay que revisar

  • Errores: objetos que no se pudieron convertir

Revisión por tipo de objeto:

  • Tablas: mapeos de tipos de datos, restricciones e índices

  • Procedimientos almacenados: para conversión T-SQL PL/pgSQL

  • Funciones: cambios de firma y lógica de la función

  • Activadores: desencadena cambios en la sintaxis y la temporización

Revise los elementos de acción

  1. Seleccione Ver elementos de acción

  2. Para cada elemento de acción, revisa:

    • Nombre del objeto: el objeto de la base de datos

    • Tipo de problema: ¿Qué requiere atención

    • Gravedad: crítico, de advertencia o informativo

    • Recomendación: resolución sugerida

    • Código original: versión de SQL Server

    • Código convertido: versión PostgreSQL

  3. Para cada elemento de acción, puede:

    • Aceptar: usa el código convertido

    • Modificar: edita el código convertido

    • Marcar para más adelante: marcar para su revisión humana después de la transformación

Ejemplo: conversión de procedimientos almacenados

SQL Server T-SQL:

CREATE PROCEDURE GetProductsByCategory @CategoryId INT, @PageSize INT = 10 AS BEGIN SET NOCOUNT ON; SELECT TOP (@PageSize) ProductId, Name, Price, DATEDIFF(DAY, CreatedDate, GETUTCDATE()) AS DaysOld FROM Products WHERE CategoryId = @CategoryId ORDER BY Name END

PostgreSQL PL/pgSQL convertido:

CREATE OR REPLACE FUNCTION get_products_by_category( p_category_id INTEGER, p_page_size INTEGER DEFAULT 10 ) RETURNS TABLE ( product_id INTEGER, name VARCHAR(255), price NUMERIC(18,2), days_old INTEGER ) AS $$ BEGIN RETURN QUERY SELECT p.product_id, p.name, p.price, EXTRACT(DAY FROM (NOW() - p.created_date))::INTEGER AS days_old FROM products p WHERE p.category_id = p_category_id ORDER BY p.name LIMIT p_page_size; END; $$ LANGUAGE plpgsql;

Cambios realizados:

  • Procedimiento convertido en función que devuelve TABLE

  • Nombres de parámetros con el prefijo p_

  • TOP convertido a LIMIT

  • DATEDIFF convertido a EXTRACT

  • GETUTCDATE () convertido a NOW ()

  • Nombres de columnas convertidos a minúsculas (convención PostgreSQL)

Aprobar la conversión del esquema

  1. Tras revisar todos los elementos de acción y realizar las modificaciones necesarias

  2. Elija Aprobar la conversión del esquema

  3. AWS Transform prepara el esquema convertido para su implementación en Aurora PostgreSQL

nota

Puede descargar el esquema convertido como scripts de SQL para revisarlo sin conexión o controlar las versiones.

Paso 9: Migración de datos (opcional)

AWS Transform ofrece opciones para migrar datos de SQL Server a Aurora PostgreSQL. La migración de datos es opcional y se puede omitir si solo necesita transformar el esquema y el código.

Opciones de migración de datos

Opción 1: migración de datos de producción

Migre sus datos de producción reales mediante AWS DMS:

  • Carga inicial completa de todos los datos

  • Replicación continua durante las pruebas (CDC)

  • Reducción mínima del tiempo de inactividad

  • Comprobaciones de validación e integridad de los datos

Opción 2: omitir la migración de datos

Transforma solo el esquema y el código:

  • Útil para development/testing entornos

  • Cuándo se migrarán los datos por separado

  • Para proyectos de prueba de concepto

Configure la migración de datos

  1. Navegue hasta Migración de datos en el plan de trabajo

  2. Elige tu opción de migración:

    • Migre los datos de producción

    • Omita la migración de datos

  3. Si va a migrar datos de producción, configure:

    • Tipo de migración: carga completa o carga completa + CDC

    • Validación: habilite la validación de datos

    • Rendimiento: tamaño de la instancia de DMS

    • Seleccione >Iniciar la migración

Proceso de migración de datos de producción

Si decide migrar los datos de producción:

  1. Sincronización inicial: el AWS DMS realiza la carga completa de todas las tablas

  2. Replicación continua: (si está habilitada la CDC) Mantiene los datos sincronizados

  3. Validación: verifica el recuento de filas y la integridad de los datos

  4. Preparación de la transición: se prepara para la sincronización final

Cronograma de migración:

  • Bases de datos pequeñas (< 10 GB): de 30 minutos a 2 horas

  • Bases de datos medianas (10-100 GB): de 2 a 8 horas

  • Bases de datos grandes (> 100 GB): más de 8 horas

Validación de datos

AWS Transform valida los datos migrados con las siguientes comprobaciones:

  • Comparación del recuento de filas (origen y destino)

  • Integridad de la clave principal

  • Relaciones de claves externas

  • Compatibilidad de tipos de datos

  • Resultados de columnas calculadas

  • Manejo de valores nulos

Paso 10: Transformación del código de la aplicación

AWS Transform transforma el código de su aplicación.NET para que funcione con Aurora PostgreSQL en lugar de con SQL Server. Solicita un nombre de rama de destino en sus repositorios para archivar el código fuente transformado. Una vez que introduzca el nombre de la rama, AWS Transform creará una nueva rama e iniciará la transformación para que coincida con la base de datos de PostgreSQL.

¿Qué se transforma

Cambios en el marco de la entidad:

  • Proveedor de base de datos: UseSqlServer () → UseNpgsql ()

  • Cadenas de conexión: formato SQL Server → formato PostgreSQL

  • Asignaciones de tipos de datos: tipos de SQL Server → tipos de PostgreSQL

  • DbContext configuraciones: SQL → Server-specific PostgreSQL-specific

  • Archivos de migración: actualizados para garantizar la compatibilidad con PostgreSQL

ADO.NET Cambios:

  • Clases de conexión: SqlConnection → NpgsqlConnection

  • Clases de comandos: SqlCommand → NpgsqlCommand

  • Lector de datos: SqlDataReader → NpgsqlDataReader

  • Parámetros: SqlParameter → NpgsqlParameter

  • Sintaxis SQL: T-SQL → PostgreSQL SQL

Cambios de configuración:

  • Cadenas de conexión en appsettings.json

  • Paquetes NuGet de proveedores de bases de datos

  • Configuraciones de inyección de dependencias

  • Startup/Program.cs configuraciones

Inicie la transformación del código

  1. Navegue hasta la transformación de aplicaciones en el plan de trabajo

  2. Revise la configuración de la transformación:

    • Versión de destino de.NET (si se está actualizando)

    • Versión del proveedor de PostgreSQL

    • Preferencias de estilo de código

  3. Elija Iniciar transformación

  4. Supervise el progreso en el registro de trabajo

  5. La transformación suele tardar entre 15 y 45 minutos, según el tamaño de la base de código

Paso 11: Revise los resultados de la transformación

Antes de proceder a la implementación, revise los resultados completos de la transformación para asegurarse de que todo esté listo para las pruebas.

Puede descargar el código transformado desde la rama del repositorio para:

  • Pruebas y validación locales

  • Revisión del código en su IDE

  • Integración con tu CI/CD pipeline

  • Compromiso de control de versiones

También puedes descargar el resumen de la transformación para revisar los cambios en el lenguaje natural que AWS Transform ha realizado como parte de la transformación.

Resumen de la transformación

  1. Navegue hasta el resumen de la transformación en el plan de trabajo

  2. Revise los resultados generales:

    • Conversión de esquemas: objetos convertidos, elementos de acción, advertencias

    • Migración de datos: tablas migradas, filas transferidas, estado de validación

    • Transformación de código: archivos cambiados, líneas modificadas, problemas resueltos

    • Puntuación de preparación: preparación general para la implementación

Genere un informe de transformación

AWS Transform genera un informe de transformación integral:

  1. Elija Generar informe

  2. Seleccione el tipo de informe:

    • Resumen ejecutivo: High-level descripción general para las partes interesadas

    • Detalles técnicos: documentación completa sobre la transformación

    • Elementos de acción: lista de tareas humanas necesarias

  3. Seleccione Descargar informe

El informe incluye:

  • Alcance y objetivos de la transformación

  • Objetos y código transformados

  • Problemas encontrados y soluciones

  • Resultados de la validación

  • Evaluación de la preparación para el despliegue

  • Recomendaciones para las pruebas

Paso 12: Validación y pruebas

Antes de implementarla en producción, compruebe que la aplicación transformada funciona correctamente con Aurora PostgreSQL.

Tipos de validación

Validación automatizada: AWS Transform realiza comprobaciones automatizadas:

  • Validación del esquema con la base de datos de origen

  • Verificación de la integridad de datos

  • Pruebas de equivalencia de consultas

  • Validación de cadenas de conexión

  • Validación de la configuración

Validación humana: debe realizar pruebas adicionales:

  • Pruebas funcionales de las funciones de la aplicación

  • Pruebas de integración con otros sistemas

  • Pruebas de rendimiento y evaluación comparativa

  • Pruebas de aceptación de usuarios

  • Pruebas de seguridad

Ejecute la validación automática

  1. Navegue hasta Validación en el plan de trabajo

  2. Elija Ejecutar validación

  3. AWS Transform ejecuta las pruebas de validación:

    • Conectividad de base de datos

    • Compatibilidad de esquemas

    • Integridad de datos

    • Compilación de aplicaciones

    • Funcionalidad básica

  4. Revise los resultados de la validación:

    • Superadas: pruebas que se realizaron correctamente

    • Falló: pruebas que requieren atención

    • Advertencias: posibles problemas que hay que revisar

Lista de verificación de pruebas

Funcionalidad de base de datos:

  • Se puede acceder a todas las tablas

  • Los procedimientos almacenados se ejecutan correctamente

  • Las funciones devuelven los resultados esperados

  • Activa el fuego de forma adecuada

  • Restricciones aplicadas adecuadamente

  • Los índices mejoran el rendimiento de las consultas

Funcionalidad de la aplicación:

  • La aplicación se inicia correctamente

  • Se han establecido conexiones a la base

  • Las operaciones CRUD funcionan correctamente

  • Las llamadas a los procedimientos almacenados se realizan correctamente

  • Transacciones commit/rollback correctamente

  • La gestión de errores funciona según lo esperado

Integridad de los datos:

  • Los recuentos de filas coinciden con la fuente

  • Las claves principales son únicas

  • Claves foráneas válidas

  • Las columnas calculadas son correctas

  • El manejo de nulos es apropiado

  • Tipos de datos compatibles

Rendimiento:

  • Tiempos de respuesta a las consultas aceptables

  • Se ha configurado la agrupación de conexiones

  • Índices optimizados

  • No hay problemas de consulta N+1

  • Operaciones por lotes eficientes

  • Utilización de recursos razonable

Paso 13: Despliegue

Tras una validación correcta, implemente la aplicación y la base de datos modernizadas en producción.

Opciones de implementación

  • Amazon ECS y Amazon EC2 Linux

Pre-deployment lista de verificación

Antes de la implementación en producción:

  • Se superaron todas las pruebas de validación

  • Se han completado las pruebas de rendimiento

  • Revisión de seguridad completada

  • Plan de backup y reversión documentado

  • Supervisión y alertas configuradas

  • Equipo formado en un nuevo entorno

  • Las partes interesadas están informadas del despliegue

  • Periodo de mantenimiento programado

Deploy to Amazon ECS

  1. Navegue hasta Despliegue en el plan de trabajo

  2. Elija Implementar en ECS

  3. Configure los ajustes de implementación:

    • Clúster: seleccione o cree un clúster de ECS

    • Servicio: configure el servicio ECS

    • Definición de tarea: revise la definición de tarea generada

    • Equilibrador de cargas: configurar ALB/NLB

    • Auto-scaling: Defina políticas de escalado

  4. Revise la infraestructura como código (plantilla o código CDK) CloudFormation AWS

  5. Elija Implementar.

Supervise el despliegue

AWS Transform implementa su aplicación:

  1. Crea un clúster de Aurora PostgreSQL

  2. Aplica el esquema de la base

  3. Carga datos (si corresponde)

  4. Despliega contenedores de aplicaciones

  5. Configura el balanceador de carga

  6. Configura el autoscaling

Supervise el progreso de la implementación y verifique:

  • Aprovisionamiento de la infraestructura

  • Inicialización de la base de datos

  • Implementación de aplicaciones

  • Health chequeos aprobados

  • Aplicación accesible

  • Las conexiones a bases de datos funcionan

  • Registros que muestran el funcionamiento normal

Post-deployment validación

Tras el despliegue:

Pruebas de humo:

  • Verifique la funcionalidad crítica

  • Pruebe los flujos de trabajo de los usuarios clave

  • Compruebe los puntos de integración

  • Supervise las tasas de error

Supervisión del rendimiento:

  • Rastrea los tiempos de respuesta

  • Supervisa las consultas a la base

  • Compruebe la utilización de los recursos

  • Revise los registros de las aplicaciones

Validación de usuario:

  • Realice pruebas de aceptación de los usuarios

  • Recopile comentarios

  • Aborda cualquier problema

  • Documente las lecciones aprendidas

Procedimientos de reversión

Si surgen problemas después de la implementación:

Reversión inmediata:

  • Volver a la versión anterior de la aplicación

  • Vuelva a SQL Server (si aún está disponible)

  • Restaure desde la copia de seguridad si es necesario

Reversión parcial:

  • Revertir componentes específicos

  • Mantenga los cambios en la base de

  • Revierta únicamente el código de la aplicación

Corrección hacia adelante:

  • Aplicar el hotfix a la versión Aurora PostgreSQL

  • Implemente el código de aplicación actualizado

  • Supervise para determinar su resolución

importante

Mantenga su base de datos de SQL Server disponible durante un período después de la transición para permitir la reversión si es necesario.

Post-deployment optimización

Tras una implementación exitosa:

Ajuste del rendimiento:

  • Optimice las consultas lentas

  • Ajuste la configuración del grupo de conexiones

  • Fine-tune Parámetros de Aurora PostgreSQL

  • Revise y optimice los índices

Optimización de costes:

  • Right-size Instancia Aurora

  • Configura el autoscaling de forma adecuada

  • Revise la configuración de almacenamiento

  • Optimice la retención de respaldos

Configuración de monitoreo:

  • Configurar CloudWatch paneles

  • Configure las alertas

  • Enable Enhanced Monitoring

  • Configurar Performance Insights

Documentación:

  • Actualice los runbooks

  • Documente los cambios en la arquitectura

  • Capacite al equipo de operaciones

  • Crea guías de solución de problemas