As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configuração do SQL Server
Execute essas etapas em seu ambiente SQL Server para permitir a modernização do AWS Transform.
Instalação e configuração do banco de dados
Etapa 1: Criar usuário de banco de dados com as permissões necessárias
Crie um usuário de banco de dados dedicado para o AWS Transform com as permissões necessárias. Se você já tiver um usuário do DMS Schema Conversion, poderá reutilizá-lo.
Conecte-se à sua instância do SQL Server e execute os seguintes 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 os comandos específicos do banco de dados (USE, CREATE USER, GRANT) para cada banco de dados que você deseja modernizar.
A função db_datareader só é necessária para a migração de dados, não somente para a conversão de esquemas.
A função db_datareader concede acesso de leitura a todas as tabelas no banco de dados
Essa função é necessária SOMENTE ao realizar a migração de dados.
Somente para conversão de esquema (sem migração de dados), a função db_datareader NÃO é necessária
As outras permissões (VIEW DEFINITION, VIEW DATABASE STATE etc.) são suficientes para a conversão do esquema
Etapa 2: armazenar credenciais em AWS Secrets Manager
Armazene suas credenciais de banco de dados com segurança no Secrets Manager AWS . Ignore esta etapa se você já tiver um segredo criado para o DMS.
Navegue até AWS Secrets Manager no console
Escolha Armazenar um novo segredo
Configure o segredo:
Tipo secreto: Credenciais para outro banco de dados
Banco de dados: Microsoft SQL Server
Nome de usuário: atx_user (ou seu nome de usuário escolhido)
Senha: A senha que você criou
Nome do servidor: Seu endpoint do SQL Server
Nome do banco de dados: nome do seu banco de dados
Porta: 1433 (ou sua porta personalizada)
Escolha Próximo.
Insira o nome secreto: atx-db-modernization-sqlserver
Adicione as tags necessárias (essas tags são obrigatórias):
Chave: Projeto, Valor: atx-db-modernization
Chave: proprietário, valor: conector de banco de dados
Escolha Avançar nas telas restantes
Escolha a loja
Anote o ARN secreto para uso na próxima etapa
Importante
As senhas do banco de dados devem usar somente caracteres ASCII imprimíveis, excluindo '/', '@', '"' e espaços. Segredos programados para exclusão podem causar falhas na transformação.
Etapa 3: criar as funções necessárias do DMS
AWS A transformação exige funções específicas do IAM para operações do DMS. Implante essas funções usando o CloudFormation modelo abaixo.
nota
Se sua AWS conta já tiver DMS-related funções existentes, modifique esse modelo para reutilizar esses recursos em vez de criar duplicatas.
Crie um arquivo chamado dms-roles.yaml com o seguinte conteúdo:
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
Implante a CloudFormation pilha usando a AWS CLI:
aws cloudformation create-stack \ --stack-name dms-roles \ --template-body file://dms-roles.yaml \ --capabilities CAPABILITY_NAMED_IAM \ --region us-east-1
Ou implante usando o AWS console:
Navegue até CloudFormation no AWS console
Escolha Criar pilha
Selecione Carregar um arquivo de modelo
Faça upload do arquivo dms-roles.yaml
Insira o nome da pilha: dms-roles
Reconheça os recursos do IAM
Escolha Criar pilha
Etapa 4: Configurar a segurança da rede
Garanta a conectividade de rede adequada entre o AWS Transform, seu banco de dados do SQL Server e outros AWS serviços.
Configuração do grupo de segurança (abordagem recomendada)
Abordagem recomendada: use controle de acesso baseado em grupos de segurança em vez IP-based de regras. Isso fornece melhor segurança, gerenciamento mais fácil e funciona perfeitamente com a arquitetura do AWS Transform.
Por que controle de Group-Based acesso de segurança?
A conversão de esquema do DMS cria interfaces de rede elásticas (ENIs) em sua VPC
Seus bancos de dados não precisam estar acessíveis ao público
AWS O Transform não expõe endereços IP privados, tornando IP-based as regras complexas
As referências de grupos de segurança fornecem atualizações dinâmicas e automáticas à medida que os recursos se expandem
Configure seu grupo de segurança do SQL Server
Ao configurar o Perfil da Instância de Conversão do Esquema DMS no AWS Transform, você especifica um Grupo de Segurança para a instância do DMS SC. Seu grupo de segurança de banco de dados deve permitir tráfego de entrada desse grupo de segurança do DMS SC.
Step-by-step configuração:
Identifique o grupo de segurança de conversão do esquema DMS:
Isso é especificado ao criar o Perfil de Instância no AWS Transform
Anote o ID do grupo de segurança (por exemplo, sg-0123456789abcdef0)
Atualize suas regras de entrada do Grupo de Segurança do SQL Server:
Tipo: TCP personalizado
Porta: 1433 (ou sua porta personalizada do SQL Server)
Fonte: O ID do grupo de segurança de conversão do esquema DMS
Descrição: “Permitir acesso à conversão do esquema DMS”
Para o destino do Aurora PostgreSQL (após a criação):
Tipo: PostgreSQL
Porta: 5432 (ou sua porta personalizada do PostgreSQL)
Fonte: O ID do grupo de segurança de conversão do esquema DMS
Descrição: “Permitir acesso à conversão do esquema DMS”
Importante
Importante para modelos de segurança menos privilegiados: Se sua organização usa um modelo de segurança “menos privilegiado” que bloqueia todo o tráfego por padrão, você deve permitir explicitamente o tráfego de entrada do Grupo de Segurança de Conversão de Esquema DMS para a porta do seu banco de dados. Não abra a porta 1433 para todas as fontes ou intervalos de IP.
Obrigatório AWS conectividade de serviço
Garanta que sua VPC possa se comunicar com:
AWS Transforme os endpoints de serviço
AWS DMS endpoints
Endpoints Aurora PostgreSQL
Endpoints S3 para armazenamento de artefatos
AWS Secrets Manager endpoints
AWS CodeConnections endpoints
VPC Endpoints: para redes privadas, configure os VPC endpoints para os AWS serviços necessários para evitar dependências de gateway de internet.
Requisitos para bancos de dados hospedados externamente
Se o banco de dados do SQL Server estiver hospedado fora do AWS, verifique se os pré-requisitos a seguir foram atendidos e, em seguida, conclua as etapas de configuração antes de iniciar a modernização.
Pré-requisitos
-
Uma AWS conta com uma VPC
-
Conectividade de rede entre a VPC e o banco de dados externo. Para obter informações sobre como configurar a conectividade de rede, consulte Configurando a conectividade de rede no Guia do AWS DMS usuário.
Etapas de configuração
-
Crie um segredo AWS Secrets Manager com os detalhes da conexão do banco de dados externo. Para obter mais informações, consulte Etapa 2: armazenar credenciais em AWS Secrets Manager .
-
Quando solicitado, forneça o ID da VPC e o ID do grupo de segurança para se conectar ao banco de dados externo. AWS O Transform solicita essas informações porque o nome do host do banco de dados no segredo não pode ser resolvido na AWS conta.