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.
Inicie sesión en la consola de AWS Transform
Elija Crear trabajo de modernización
Seleccione el trabajo de modernización de Windows y, a continuación, seleccione Modernización de SQL Server
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
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
En su trabajo de modernización de SQL Server, vaya a Conectarse a los recursos
Elija Conectarse a la base de datos de SQL Server
Elija Crear nuevo conector
Introduzca la información del conector:
Nombre del conector: nombre descriptivo
AWS ID de cuenta: cuenta en la que está hospedado SQL Server
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.
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
Abra la AWS Secrets Manager consola.
Elija Almacenar un secreto nuevo.
En Secret type (Tipo de secreto), elija Other type of secret (Otro tipo de secreto).
Añade pares clave-valor en función de tu proveedor y tipo de alojamiento:
Cloud-hosted proveedores: agregue una clave nombrada
tokencon su PAT como valor.En el caso de Azure DevOps con una organización específica, añada también una clave
organizationcon 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
usernamecon el nombre de usuario de Bitbucket. En el caso de los tokens de API de cuentas de Bitbucket (ATAT), añade una claveemailcon 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) ytoken(tu PAT).En el caso de Azure DevOps con una organización específica, agregue también una clave
organizationcon 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
usernamecon el nombre de usuario de Bitbucket. En el caso de los tokens de API de cuentas de Bitbucket (ATAT), añade una claveemailcon 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" }Elija Siguiente.
Introduce un nombre secreto, por ejemplo
github-pat-myproject.(Opcional) Seleccione una clave de KMS administrada por el cliente para el cifrado.
Complete el asistente y elija Almacenar.
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:
Abra la consola de AWS KMS en
https://console.aws.amazon.com/kms.En el panel de navegación, elija Claves administradas por el cliente.
Seleccione su clave de KMS.
En la pestaña Política de claves, elija Editar.
Agregue la declaración de política a la política existente.
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
En su trabajo de AWS Transform, navegue hasta Conectarse a los recursos.
Elige el repositorio de código fuente de Connect.
Seleccione PAT Connector como método de autenticación.
Introduzca el ARN secreto del paso 2.
(Opcional) Introduzca el ARN de la clave de KMS si utilizó una clave de KMS administrada por el cliente.
Selecciona tu repositorio y sucursal.
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:
Genere una nueva PAT en su proveedor de código fuente con los mismos permisos.
Actualice el valor secreto en AWS Secrets Manager.
Comprueba que tu trabajo de AWS transformación pueda acceder al repositorio con el nuevo token.
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.
En su trabajo de modernización de SQL Server, vaya a Conectarse a los recursos.
Elija el repositorio de código fuente de Connect.
Si no tienes una conexión existente, elige Crear conexión.
Selecciona el proveedor de tu repositorio:
GitHub / GitHub Empresa
GitLab.com
Bitbucket Cloud
Repositorios de Azure
Siga el flujo de autorización de su proveedor.
Después de la autorización, elija Conectar.
Selecciona tu repositorio y sucursal
Selecciona tu repositorio de la lista.
Elige la rama que deseas transformar (normalmente, la rama principal, la principal o la de desarrollo).
(Opcional) Especifique un subdirectorio si la aplicación.NET no está en la raíz del repositorio.
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:
AWS Transform muestra un enlace de verificación.
Comparte este enlace con el administrador de tu repositorio.
El administrador revisa y aprueba la solicitud en la configuración de su repositorio.
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
Seleccione Sí si desea implementar sus aplicaciones. Si selecciona No, se omitirá este paso.
Añada la AWS cuenta en la que desee implementar las aplicaciones transformadas.
Agregue un nombre que le ayude a recordar el conector con facilidad
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.
AWS Transform muestra un enlace de verificación
Comparte este enlace con el administrador de tu AWS cuenta
El administrador revisa y aprueba la solicitud en la configuración de su repositorio
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
Navegue para confirmar sus recursos en el plan de trabajo
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
Si todos los elementos aparecen como completados, selecciona Continuar
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
Navegue hasta la planificación de olas en el plan de trabajo
Revisa las oleadas propuestas
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:
Seleccione Descargar todas las oleadas para obtener un archivo JSON con todas las oleadas
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
Vuelva a cargar el archivo JSON a la consola seleccionando Cargar plan de oleada
AWS Transform valida los cambios y avisa si se infringen las dependencias
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
Después de revisar y personalizar (si es necesario), elija Aprobar el plan de oleaje
AWS Transform bloquea el plan de oleaje y pasa a la transformación
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
Navegue hasta la conversión de esquemas en el plan de trabajo
Revise la configuración de conversión:
Versión de destino de PostgreSQL
Opciones de extensión (ltree, PostGIS, etc.)
Convenciones de nomenclatura
Elige Iniciar la conversión
Supervise el progreso del registro de trabajo
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
Elige Ver elementos de acción
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
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
Tras revisar todos los elementos de acción y realizar las modificaciones necesarias
Seleccione Aprobar la conversión del esquema
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
Navegue hasta Migración de datos en el plan de trabajo
Elige tu opción de migración:
Migre los datos de producción
Omita la migración de datos
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:
Sincronización inicial: AWS DMS realiza la carga completa de todas las tablas
Replicación continua: (si los CDC están habilitados) Mantiene los datos sincronizados
Validación: verifica el recuento de filas y la integridad de los datos
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
Navegue hasta la transformación de las aplicaciones en el plan de trabajo
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
Seleccione Iniciar la transformación
Supervise el progreso del registro de trabajo
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
Navegue hasta el resumen de la transformación en el plan de trabajo
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:
Elija Generar informe
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
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
Diríjase a la validación en el plan de trabajo
Seleccione Ejecutar la validación
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
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
Diríjase a la implementación en el plan de trabajo
Elija Deploy to ECS
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
Revise la infraestructura como código (plantilla o código CDK) CloudFormation AWS
Elija Implementar.
Supervise la implementación
AWS Transform implementa su aplicación:
Crea un clúster Aurora PostgreSQL
Aplica el esquema de la base
Carga datos (si corresponde)
Implementa contenedores de aplicaciones
Configura el balanceador de carga
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