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.
Configuración de SQL Server
Realice estos pasos en su entorno de SQL Server para permitir la modernización de AWS Transform.
Instalación y configuración de bases de datos
Paso 1: Crear un usuario de base de datos con los permisos necesarios
Cree un usuario de base de datos dedicado para AWS Transform con los permisos necesarios. Si ya tiene un usuario de conversión de esquemas de DMS, puede reutilizarlo.
Conéctese a su instancia de SQL Server y ejecute los siguientes comandos:
-- Create the login in master database USE master; CREATE LOGIN [atx_user] WITH PASSWORD = 'YourStrongPassword123!'; -- Switch to your application database USE [YourDatabaseName]; CREATE USER [atx_user] FOR LOGIN [atx_user]; -- Grant required permissions GRANT VIEW DEFINITION TO [atx_user]; GRANT VIEW DATABASE STATE TO [atx_user]; ALTER ROLE [db_datareader] ADD MEMBER [atx_user]; -- Grant master database permissions USE master; GRANT VIEW SERVER STATE TO [atx_user]; GRANT VIEW ANY DEFINITION TO [atx_user];
nota
Repita los comandos específicos de la base de datos (USE, CREATE USER, GRANT) para cada base de datos que desee modernizar.
La función db_datareader solo es necesaria para la migración de datos, no solo para la conversión de esquemas.
La función db_datareader otorga acceso de lectura a todas las tablas de la base de datos
Esta función es necesaria ÚNICAMENTE cuando se realiza la migración de datos.
Solo para la conversión de esquemas (sin migración de datos), NO se requiere la función db_datareader
Los demás permisos (VIEW DEFINITION, VIEW DATABASE STATE, etc.) son suficientes para la conversión de esquemas
Paso 2: Almacene las credenciales en AWS Secrets Manager
Guarde las credenciales de su base de datos de forma segura en AWS Secrets Manager. Omita este paso si ya ha creado un secreto para DMS.
Navegue hasta AWS Secrets Manager en la consola
Selecciona Almacenar un secreto nuevo
Configura el secreto:
Tipo de secreto: credenciales para otra base de datos
Base de datos: Microsoft SQL Server
Nombre de usuario: atx_user (o el nombre de usuario elegido)
Contraseña: la contraseña que ha creado
Nombre del servidor: Su punto final de SQL Server
Nombre de base de datos: nombre de su base de datos
Puerto: 1433 (o su puerto personalizado)
Elija Siguiente.
Introduzca el nombre secreto: atx-db-modernization-sqlserver
Añada las etiquetas obligatorias (estas etiquetas son obligatorias):
Clave: proyecto, valor: atx-db-modernization
Clave: propietario, valor: conector de base de datos
Seleccione Siguiente en las pantallas restantes
Elige Tienda
Anota el ARN secreto para usarlo en el siguiente paso
importante
Las contraseñas de las bases de datos deben utilizar únicamente caracteres ASCII imprimibles, excluyendo '/', '@', '"' y los espacios. Los secretos programados para su eliminación pueden provocar errores de transformación.
Paso 3: Cree los roles de DMS necesarios
AWS La transformación requiere funciones de IAM específicas para las operaciones de DMS. Implemente estas funciones mediante la CloudFormation plantilla que aparece a continuación.
nota
Si tu AWS cuenta ya tiene DMS-related funciones, modifica esta plantilla para reutilizar esos recursos en lugar de crear duplicados.
Crea un archivo llamado dms-roles.yaml con el siguiente contenido:
AWSTemplateFormatVersion: '2010-09-09' Description: 'DMS Service Roles for AWS Transform SQL Server Modernization' Resources: DMSCloudWatchLogsRole: Type: AWS::IAM::Role Properties: RoleName: dms-cloudwatch-logs-role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - dms.amazonaws.com - schema-conversion.dms.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole DMSS3AccessRole: Type: AWS::IAM::Role Properties: RoleName: dms-s3-access-role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - dms.amazonaws.com - schema-conversion.dms.amazonaws.com Action: sts:AssumeRole Policies: - PolicyName: S3TaggedAccess PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetBucketLocation - s3:GetBucketVersioning - s3:PutObject - s3:PutBucketVersioning - s3:GetObject - s3:GetObjectVersion - s3:ListBucket - s3:DeleteObject Resource: arn:aws:s3:::atx-db-modernization-* Condition: StringEquals: aws:ResourceAccount: !Ref AWS::AccountId DMSSecretsManagerRole: Type: AWS::IAM::Role Properties: RoleName: dms-secrets-manager-role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - dms.amazonaws.com - schema-conversion.dms.amazonaws.com Action: sts:AssumeRole Policies: - PolicyName: SecretsManagerTaggedAccess PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - secretsmanager:GetSecretValue - secretsmanager:DescribeSecret Resource: '*' Condition: StringEquals: secretsmanager:ResourceTag/Project: atx-db-modernization secretsmanager:ResourceTag/Owner: database-connector DMSVPCRole: Type: AWS::IAM::Role Properties: RoleName: dms-vpc-role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - dms.amazonaws.com - schema-conversion.dms.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole DMSServerlessRole: Type: AWS::IAM::ServiceLinkedRole Properties: AWSServiceName: dms.amazonaws.com Description: 'Service Linked Role for AWS DMS Serverless' Outputs: DMSCloudWatchLogsRoleArn: Description: ARN of the DMS CloudWatch Logs Role Value: !GetAtt DMSCloudWatchLogsRole.Arn DMSS3AccessRoleArn: Description: ARN of the DMS S3 Access Role Value: !GetAtt DMSS3AccessRole.Arn DMSSecretsManagerRoleArn: Description: ARN of the DMS Secrets Manager Role Value: !GetAtt DMSSecretsManagerRole.Arn DMSVPCRoleArn: Description: ARN of the DMS VPC Role Value: !GetAtt DMSVPCRole.Arn Export: Name: !Sub ${AWS::StackName}-VPCRole DMSServerlessRoleArn: Description: ARN of the DMS Serverless Role Value: !Sub 'arn:aws:iam::${AWS::AccountId}:role/aws-service-role/dms.amazonaws.com/AWSServiceRoleForDMSServerless' Export: Name: !Sub ${AWS::StackName}-ServerlessRole
Implemente la pila mediante la CLI: CloudFormation AWS
aws cloudformation create-stack \ --stack-name dms-roles \ --template-body file://dms-roles.yaml \ --capabilities CAPABILITY_NAMED_IAM \ --region us-east-1
O impleméntelo mediante la AWS consola:
Navegue hasta CloudFormation la AWS consola
Elige Crear pila
Selecciona Cargar un archivo de plantilla
Sube el archivo dms-roles.yaml
Introduzca el nombre de la pila: dms-roles
Reconozca las capacidades de IAM
Elija Create stack
Paso 4: Configurar la seguridad de la red
Garantice una conectividad de red adecuada entre AWS Transform, su base de datos de SQL Server y otros AWS servicios.
Configuración del grupo de seguridad (enfoque recomendado)
Enfoque recomendado: utilice un control de acceso basado en grupos de seguridad en lugar de IP-based reglas. Esto proporciona una mayor seguridad, una administración más sencilla y funciona a la perfección con la arquitectura de AWS Transform.
¿Por qué elegir un control de Group-Based acceso seguro?
La conversión de esquemas de DMS crea interfaces de red elásticas (ENI) dentro de su VPC
No es necesario que tus bases de datos sean de acceso público
AWS Transform no expone las direcciones IP privadas, lo que hace que IP-based las reglas sean complejas
Las referencias a los grupos de seguridad proporcionan actualizaciones dinámicas y automáticas a medida que aumentan los recursos
Configure su grupo de seguridad de SQL Server
Al configurar el perfil de instancia de conversión del esquema DMS en AWS Transform, se especifica un grupo de seguridad para la instancia SC de DMS. El grupo de seguridad de su base de datos debe permitir el tráfico entrante desde este grupo de seguridad de DMS SC.
Step-by-step configuración:
Identifique el grupo de seguridad de conversión de esquemas de DMS:
Esto se especifica al crear el perfil de instancia en Transform AWS
Anote el ID del grupo de seguridad (por ejemplo, sg-0123456789abcdef0)
Actualice las reglas de entrada del grupo de seguridad de SQL Server:
Tipo: TCP personalizado
Puerto: 1433 (o su puerto de SQL Server personalizado)
Fuente: el ID del grupo de seguridad de conversión del esquema DMS
Descripción: «Permitir el acceso a la conversión de esquemas de DMS»
Para el objetivo de Aurora PostgreSQL (después de la creación):
Tipo: PostgreSQL
Puerto: 5432 (o su puerto PostgreSQL personalizado)
Fuente: el ID del grupo de seguridad de conversión del esquema DMS
Descripción: «Permitir el acceso a la conversión de esquemas de DMS»
importante
Importante para los modelos de seguridad con menos privilegios: si su organización utiliza un modelo de seguridad «menos privilegiado» que bloquea todo el tráfico de forma predeterminada, debe permitir explícitamente el tráfico entrante desde el grupo de seguridad de conversión de esquemas del DMS al puerto de su base de datos. No abra el puerto 1433 a todas las fuentes o rangos de IP.
Obligatorio AWS conectividad del servicio
Asegúrese de que su VPC pueda comunicarse con:
AWS Transforme los puntos finales de servicio
AWS DMS puntos finales
puntos finales de Aurora PostgreSQL
Terminales S3 para almacenamiento de artefactos
AWS Secrets Manager puntos finales
AWS CodeConnections puntos finales
Puntos finales de la VPC: en el caso de las redes privadas, configure los puntos de enlace de la VPC para los AWS servicios necesarios a fin de evitar las dependencias de las pasarelas de Internet.
Requisitos para las bases de datos alojadas externamente
Si la base de datos de SQL Server está alojada fuera de AWS ella, asegúrese de que se cumplen los siguientes requisitos previos y, a continuación, complete los pasos de configuración antes de comenzar la modernización.
Requisitos previos
-
Una AWS cuenta con una VPC
-
Conectividad de red entre la VPC y la base de datos externa. Para obtener información sobre la configuración de la conectividad de red, consulte Configurar la conectividad de red en la Guía del AWS DMS usuario.
Pasos de configuración
-
Cree una entrada secreta AWS Secrets Manager con los detalles de conexión de la base de datos externa. Para obtener más información, consulte Paso 2: Almacene las credenciales en AWS Secrets Manager .
-
Cuando se le solicite, introduzca el ID de VPC y el ID del grupo de seguridad para conectarse a la base de datos externa. AWS Transform le solicita esta información porque el nombre de host de la base de datos que figura en secreto no se puede resolver en la cuenta. AWS