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.
Inicie sesión en la consola AWS Transform
Elija Crear trabajo de modernización
Seleccione 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 del proyecto
Descripción: descripción opcional
Región objetivo: AWS región de despliegue
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
En su trabajo de modernización de SQL Server, vaya a Connect to resources
Elija Conectar a la base de datos de SQL Server
Elija Crear nuevo conector
Introduzca la información del conector:
Nombre del conector C: nombre descriptivo
AWS ID de cuenta: cuenta donde está alojado SQL Server
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.
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
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ñada pares clave-valor en función del proveedor y el tipo de alojamiento:
Cloud-hosted proveedores: agrega una clave nombrada
tokenjunto con tu 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 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 (ATAT) de la cuenta de Bitbucket, 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, añada también una clave
organizationcon el nombre de su organización.En el caso de las contraseñas de 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 (ATAT) de la cuenta de Bitbucket, añade una claveemailcon 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" }Elija Siguiente.
Introduce un nombre secreto, por ejemplo
github-pat-myproject.(Opcional) Seleccione una clave 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 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:
Abra la consola AWS KMS en
https://console.aws.amazon.com/kms.En el panel de navegación, elija Claves administradas por el cliente.
Seleccione su clave 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 la AWS Transformar el trabajo
En su trabajo de AWS Transform, vaya a Conectarse a los recursos.
Elige el repositorio de código fuente de Connect.
Seleccione el conector PAT como método de autenticación.
Introduce el ARN secreto del paso 2.
(Opcional) Introduzca el ARN de la clave de KMS si ha utilizado una clave de KMS administrada por el cliente.
Seleccione el repositorio y la 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
Usted es responsable de rotar los tokens PAT antes de que caduquen. Para rotar un token:
Genera una nueva PAT en tu proveedor de código fuente con los mismos permisos.
Actualice el valor secreto en AWS Secrets Manager.
Compruebe que su trabajo de AWS Transform 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 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.
En su trabajo de modernización de SQL Server, vaya a Conectarse a los recursos.
Elige el repositorio de código fuente de Connect.
Si no tienes una conexión existente, selecciona Crear conexión.
Selecciona tu proveedor de repositorios:
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 Connect.
Seleccione su repositorio y sucursal
Selecciona tu repositorio de la lista.
Elige la rama que quieres transformar (normalmente la 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. 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:
AWS Transform muestra un enlace de verificación.
Comparta este enlace con el administrador del 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 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
Seleccione Sí si desea implementar sus aplicaciones. Si selecciona No, se omitirá este paso.
Añada su AWS cuenta al lugar donde desee implementar las aplicaciones transformadas.
Añada 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 despliegue.
AWS Transform muestra un enlace de verificación
Comparta este enlace con el administrador de su 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 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
Navegue hasta 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
✅ Compatible con la versión .NET
✅ Entity Framework o ADO.NET detectado
✅ Configuración de red válida
✅ Se concedieron los permisos necesarios
Si todos los elementos aparecen completos, selecciona Continuar
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
Navegue hasta la planificación de olas en el plan de trabajo
Revise las oleadas propuestas
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:
Elija Descargar todas las oleadas para obtener un archivo JSON con todas las oleadas
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
Vuelva a cargar el archivo JSON en la consola seleccionando Upload wave plan
AWS Transform valida los cambios y advierte si se infringen las dependencias
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
Tras revisarlo y personalizarlo (si es necesario), elige Aprobar el plan de oleaje
AWS Transform bloquea el plan de oleada y pasa a la transformación
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
Navegue hasta la conversión de esquemas en el plan de trabajo
Revise la configuración de conversión:
Versión de PostgreSQL de destino
Opciones de extensión (ltree, PostGIS, etc.)
Convenciones de nomenclatura
Elija Iniciar conversión
Supervise el progreso en el 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, 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
Seleccione Ver elementos de acción
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
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
Tras revisar todos los elementos de acción y realizar las modificaciones necesarias
Elija 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 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
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: el AWS DMS realiza la carga completa de todas las tablas
Replicación continua: (si está habilitada la CDC) 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 (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
Navegue hasta la transformación de aplicaciones en el plan de trabajo
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
Elija Iniciar transformación
Supervise el progreso en el 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: 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
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 integral:
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 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 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
Navegue hasta Validación en el plan de trabajo
Elija Ejecutar validación
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
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
Navegue hasta Despliegue en el plan de trabajo
Elija Implementar en ECS
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
Revise la infraestructura como código (plantilla o código CDK) CloudFormation AWS
Elija Implementar.
Supervise el despliegue
AWS Transform implementa su aplicación:
Crea un clúster de Aurora PostgreSQL
Aplica el esquema de la base
Carga datos (si corresponde)
Despliega contenedores de aplicaciones
Configura el balanceador de carga
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