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 describe paso a paso todo el proceso 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 de AWS Transform

  2. Elija Crear trabajo de modernización

  3. Seleccione el 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 de su proyecto

    • Descripción: descripción opcional

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

  5. Seleccione Create job (Crear trabajo).

    importante

    No incluyas información de identificación personal (PII) en el nombre de tu trabajo.

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

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

Crear un conector de base de datos

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

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

  3. Elija Crear nuevo conector

  4. Introduzca la información del conector:

    • Nombre del conector: nombre descriptivo

    • AWS ID de cuenta: cuenta en la que está hospedado 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 tu AWS administrador para la cuenta. Una vez que lo hayan aprobado, puedes continuar con el siguiente paso.

  6. Una vez que el administrador haya aprobado la solicitud del conector, haga clic en Enviar para continuar con la configuración de la conexión del 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 código fuente.

Elige tu método de autenticación

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

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

AWS CodeConnections

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

Amazon S3

Suba el 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 (administrado)AWS
Ciclo vital del token Se requiere una rotación manual Actualización automática
Flexibilidad de permisos Ámbitos totalmente personalizables Permisos fijos
Self-hosted soporte para proveedores compatible No disponible
Complejidad de la configuración Moderado (creación y almacenamiento manuales de tokens) Bajo (autorización única)
Almacenamiento de fichas Del cliente AWS Secrets Manager Administradas por AWS

Configurar un conector PAT (recomendado)

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

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

  • 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

Crea una PAT en tu proveedor de código fuente. Los permisos requeridos varían según el proveedor. Elige la pestaña de tu proveedor.

importante

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

aviso

Nunca transfieras los tokens PAT a repositorios de código ni los compartas a través de canales inseguros. Guárdalos siempre ahí. AWS Secrets Manager

GitHub

Navega hasta Configuración, Configuración de desarrollador, Tokens de acceso personal y 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 Enumera las organizaciones a las que puede acceder el token para la detección de repositorios
GitLab

Navegue para editar el perfil y acceder a los tokens. Seleccione los siguientes ámbitos.

Alcance Finalidad
read_api Lee los metadatos del repositorio, la información del proyecto, los detalles de los usuarios y enumera los grupos y las sucursales
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

Navega hasta Configuración de la cuenta, Seguridad, Creación y administración de tokens de API. Los alcances requeridos dependen del tipo de token.

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

Permiso Acceso Finalidad
Repositorios Leer y escribir Enumera repositorios, lee ramas y escribe código transformado mediante git push

El token de API de la cuenta (ATAT: autenticación básica con correo electrónico) o la contraseña de la 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 Enumera 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, elige Todas las organizaciones accesibles (recomendado) o especifica una sola organización.

Alcance Acceso Finalidad
Código Lee y escribe Lee el código fuente, enumera los repositorios y las sucursales y vuelve a escribir el código transformado
Perfil de usuario Lectura Valida el acceso mediante token y descubre la identidad del usuario para la búsqueda de la organización
Gestión de los derechos de los miembros Lectura Enumera las organizaciones a las que el token puede acceder 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ñade pares clave-valor en función de tu proveedor y tipo de alojamiento:

    • Cloud-hosted proveedores: agregue una clave nombrada token con su 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 las 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 de cuentas de Bitbucket (ATAT), 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, agregue también una clave organization con el nombre de su organización.

      • En el caso de las contraseñas de las 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 de cuentas de Bitbucket (ATAT), 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 se detecta un secreto en un GitHub proveedor hospedado en AWS Secrets Manager la nube:

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

    El siguiente ejemplo muestra la contraseña de una aplicación de Bitbucket (ATBB):

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

    El siguiente ejemplo muestra una GitLab instancia autohospedada:

    { "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 de 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 usa 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 que AWS Transform pueda descifrar el secreto. Agregue 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 de 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 tu política de claves de KMS:

  1. Abra la consola de 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 de 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 el AWS Transformar el trabajo

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

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

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

  4. Introduzca el ARN secreto del paso 2.

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

  6. Selecciona tu repositorio y 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

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

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

  2. Actualice el valor secreto en AWS Secrets Manager.

  3. Comprueba que tu trabajo de AWS transformación 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 por su proveedor. Compruebe que la PAT esté guardada correctamente. 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, verifique 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 ámbitos requeridos y actualice el valor secreto en. AWS Secrets Manager

Configuración AWS CodeConnections

AWS CodeConnections utiliza una integración de proveedores gestionados que recupera automáticamente las credenciales temporales de OAuth 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. Elija el repositorio de código fuente de Connect.

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

  4. Selecciona el proveedor de tu repositorio:

    • 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 Conectar.

Selecciona tu repositorio y sucursal

  1. Selecciona tu repositorio de la lista.

  2. Elige la rama que deseas transformar (normalmente, la rama 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. Puedes revisar y combinar los cambios mediante tu proceso normal de revisión de código.

Aprobación del acceso al repositorio

Para GitHub algunas otras plataformas, el administrador del repositorio debe aprobar la solicitud de conexión:

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

  2. Comparte este enlace con el administrador de tu 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, según las políticas de su 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 implementación

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

  2. Añada la AWS cuenta en la que desee implementar las aplicaciones transformadas.

  3. Agregue 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 implementación.

  1. AWS Transform muestra un enlace de verificación

  2. Comparte este enlace con el administrador de tu 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 Aprobada

importante

El proceso de aprobación puede llevar tiempo, según las políticas de su organización. Planifíquelo en consecuencia.

Paso 5: Confirme sus recursos

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

Qué AWS Transform verifica

  • Conectividad a las bases 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 los archivos de proyecto.NET y se pueden detectar las conexiones a la base de datos

  • Preparación del entorno: la configuración de la VPC es compatible con el 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 para 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

    • ✅ Versión .NET compatible

    • ✅ Entity Framework o ADO.NET detectado

    • ✅ Configuración de red válida

    • ✅ Se concedieron los permisos necesarios

  3. Si todos los elementos aparecen como completados, selecciona Continuar

  4. Si algún artículo muestra advertencias o errores, acércate a ellos 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 claves externas

  • Código de aplicación: estructura de proyectos de.NET, modelos y configuraciones de Entity Framework, código de acceso a ADO.NET 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 La transformación inicia el descubrimiento automáticamente después de la confirmación de los recursos

  • La detección 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 las actualizaciones en tiempo real a medida que se descubren objetos

Revise los resultados del descubrimiento

Una vez finalizada la detección, diríjase a Descubrimiento y evaluación para revisar:

Análisis de bases de datos:

  • Recuento de objetos: número de tablas, vistas, procedimientos almacenados, funciones y 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 la atención humana

  • Funciones compatibles: funciones de 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 núcleo, aplicación de consola, biblioteca de clases, etc.

  • Versión de.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, se recomienda la revisión de un experto
Alto (clase C) Ensamblajes CLR, servidores enlazados, Service Broker, búsqueda compleja de texto completo Se requiere una refactorización humana significativa; considere un enfoque por fases

Informes de evaluación

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

  • Resumen ejecutivo con una descripció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 a Internet y compartirlo con las partes interesadas.

Paso 7: Generar y revisar el plan de olas

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

¿Qué es un plan de oleaje?

Un plan de oleadas 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. Revisa las oleadas propuestas

  3. Para cada ola, revisa:

    • Bases de datos incluidas

    • Aplicaciones incluidas

    • Dependencias de otras olas

    • Tiempo de transformación estimado

    • Nivel de complejidad

    • Aplicaciones desplegables

Personalice el plan de olas

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

Uso de JSON:

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

  2. Modifica las oleadas en el JSON de la siguiente manera:

    • Mover bases de datos entre oleadas

    • Dividir oleadas en grupos más pequeños

    • Fusionando olas

    • Cambiando la secuencia de ondas

    • Agregar o eliminar bases de datos del ámbito

  3. Vuelva a cargar el archivo JSON a la consola seleccionando Cargar plan de oleada

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

  5. Seleccione Confirmar oleadas para actualizar el plan de oleadas

Uso del chat:

Puede modificar los planes de oleadas chateando 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 respetar las dependencias al personalizar las oleadas. Transformar una aplicación dependiente antes que su base de datos puede provocar problemas.

Modernización de una sola base

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

Aprueba el plan de oleaje

  1. Después de revisar y personalizar (si es necesario), elija Aprobar el plan de oleaje

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

  3. Puedes seguir modificando el plan más adelante si eliges Editar plan de oleaje

Paso 8: Conversión de esquemas

AWS Transform convierte el esquema de su base de datos de SQL Server en Aurora PostgreSQL, incluidas las tablas, las vistas, los procedimientos almacenados, las funciones y los 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

  • T-SQL Transfórmese en 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 objetos que requieran una revisión humana

Conversiones compatibles

Convertido automáticamente:

  • Tablas, vistas e índices

  • Claves principales y claves foráneas

  • Compruebe las restricciones y los valores predeterminados

  • Los tipos de datos más comunes

  • Procedimientos almacenados sencillos

  • Funciones y activadores básicos

  • Columnas de identidad (convertidas a SERIAL o GENERATED)

  • Columnas más calculadas

Puede requerir una revisión humana:

  • Procedimientos almacenados complejos con procedimientos 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 una extensión de árbol)

No se convierte automáticamente:

  • Ensamblajes CLR

  • Servidores vinculados

  • Service Broker

  • Trabajos de agente SQL Server

Inicie la conversión de esquemas

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

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

    • Versión de destino de PostgreSQL

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

    • Convenciones de nomenclatura

  3. Elige Iniciar la conversión

  4. Supervise el progreso del 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, navegue hasta Revisar la conversión del esquema:

Resumen de la conversión:

  • Objetos convertidos: número de objetos convertidos correctamente

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

  • Advertencias: Posibles problemas que revisar

  • Errores: objetos que no se pudieron convertir

Revisar por tipo de objeto:

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

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

  • Funciones: firma de funciones y cambios en la lógica

  • Activadores: activan cambios de sintaxis y temporización

Revise los elementos de acción

  1. Elige Ver elementos de acción

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

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

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

    • Gravedad: crítica, advertencia o información

    • 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

    • Indicador para más adelante: marca para revisión humana tras 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 la TABLA

  • Nombres de parámetros con el prefijo p_

  • TOP convertido a LIMIT

  • DATEDIFF convertido a EXTRACT

  • GETUTCDATE () se convirtió en NOW ()

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

Aprobar la conversión de esquemas

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

  2. Seleccione 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 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

  • Validación de datos y comprobaciones de integridad

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

Transforme únicamente 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: AWS DMS realiza la carga completa de todas las tablas

  2. Replicación continua: (si los CDC están habilitados) 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 (de 10 a 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 frente a destino)

  • Integridad de la clave principal

  • Relaciones de claves externas

  • Compatibilidad de tipos de datos

  • Resultados de columnas calculados

  • Gestión 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 confirmar el código fuente transformado. Una vez que introduzcas el nombre de la sucursal, 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 bases 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 comando: SqlCommand → NpgsqlCommand

  • Lector de datos: SqlDataReader → NpgsqlDataReader

  • Parámetros: SqlParameter → NpgsqlParameter

  • Sintaxis de 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

Iniciar la transformación del código

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

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

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

    • Versión del proveedor de PostgreSQL

    • Preferencias de estilo de código

  3. Seleccione Iniciar la transformación

  4. Supervise el progreso del 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: Revisa los resultados de la transformación

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

Puedes descargar el código transformado de la sucursal del repositorio para:

  • Pruebas y validaciones locales

  • Revisión del código en tu IDE

  • Integración con su CI/CD canalización

  • Confirmación de control de versiones

También puedes descargar el resumen de la transformación para revisar los cambios en lenguaje natural realizados por AWS Transform 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 completo:

  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 las 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 la implementación

  • Recomendaciones para las pruebas

Paso 12: Validación y pruebas

Antes de la implementación 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

  • Prueba de equivalencia de consultas

  • Validación de la cadena 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 automatizada

  1. Diríjase a la validación en el plan de trabajo

  2. Seleccione Ejecutar la validación

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

    • Conectividad de base de datos

    • Compatibilidad de esquemas

    • Integridad de datos

    • Creación de aplicaciones

    • Funcionalidad básica

  4. Revise los resultados de la validación:

    • Aprobadas: pruebas que tuvieron éxito

    • Fallido: pruebas que requieren atención

    • Advertencias: Posibles problemas que revisar

Lista de verificación de pruebas

Funcionalidad de base de datos:

  • Todas las tablas son accesibles

  • Los procedimientos almacenados se ejecutan correctamente

  • Las funciones devuelven los resultados esperados

  • Activa el fuego de forma adecuada

  • Las restricciones se aplican correctamente

  • Los índices mejoran el rendimiento de las consultas

Funcionalidad de la aplicación:

  • La aplicación se inicia correctamente

  • Se establecieron las conexiones a la base

  • Las operaciones CRUD funcionan correctamente

  • Las llamadas a procedimientos almacenados se realizan correctamente

  • Las transacciones se realizan commit/rollback correctamente

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

Integridad de los datos:

  • El recuento de filas coincide 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 configuró la agrupación de conexiones

  • Índices optimizados

  • Sin problemas de consulta de N+1

  • Operaciones por lotes eficientes

  • La utilización de los recursos es razonable

Paso 13: Implementación

Tras una validación satisfactoria, 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 han superado todas las pruebas de validación

  • Se han completado las pruebas de rendimiento

  • Revisión de seguridad completada

  • Plan de respaldo y reversión documentado

  • Monitoreo y alertas configurados

  • Equipo capacitado en un nuevo entorno

  • Las partes interesadas están informadas sobre la implementación

  • Periodo de mantenimiento programado

Deploy to Amazon ECS

  1. Diríjase a la implementación en el plan de trabajo

  2. Elija Deploy to ECS

  3. Configure los ajustes de implementación:

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

    • Servicio: configurar el servicio ECS

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

    • Equilibrador de carga: configurar ALB/NLB

    • Auto-scaling: Establezca políticas de escalado

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

  5. Elija Implementar.

Supervise la implementación

AWS Transform implementa su aplicación:

  1. Crea un clúster Aurora PostgreSQL

  2. Aplica el esquema de la base

  3. Carga datos (si corresponde)

  4. Implementa contenedores de aplicaciones

  5. Configura el balanceador de carga

  6. Configura el escalado automático

Supervise el progreso de la implementación y verifique:

  • Aprovisionamiento de la infraestructura

  • Inicialización de la base de datos

  • Implementación de aplicaciones

  • Comprobaciones de estado aprobadas

  • Aplicación accesible

  • Las conexiones a bases de datos funcionan

  • Registros que muestran el funcionamiento normal

Post-deployment validación

Tras el despliegue:

Prueba 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

  • Supervise las consultas de bases

  • Compruebe la utilización de los recursos

  • Revise los registros de las aplicaciones

Validación de usuario:

  • Realizar 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 una copia de seguridad si es necesario

Reversión parcial:

  • Revertir componentes específicos

  • Conserve los cambios en la base

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

Corrección posterior:

  • Aplique la revisión a la versión de Aurora PostgreSQL

  • Implemente el código de aplicación actualizado

  • Supervise la 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

  • Ajustar la configuración del grupo de conexiones

  • Fine-tune Parámetros de Aurora PostgreSQL

  • Revise y optimice los índices

Optimización de costos:

  • Right-size Instancia de Aurora

  • Configure el escalado automático de forma adecuada

  • Revisa la configuración de almacenamiento

  • Optimice la retención del backup

Configuración de monitoreo:

  • Configurar CloudWatch paneles

  • Configure las alertas

  • Enable Enhanced Monitoring

  • Configure Performance Insights

Documentación:

  • Actualice los runbooks

  • Cambios en la arquitectura del documento

  • Capacite al equipo de operaciones

  • Cree guías de solución de problemas