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 do 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 de conversão de esquema DMS, 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 apenas 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 AWS Secrets Manager. Pule esta etapa se você já tiver um segredo criado para o DMS.
Navegue até o 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: o nome do seu banco de dados
Porta: 1433 (ou sua porta personalizada)
Escolha Próximo.
Digite o nome secreto: atx-db-modernization-sqlserver
Adicione as tags obrigató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 agendados para exclusão podem causar falhas de transformação.
Etapa 3: criar as funções de DMS necessárias
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 do esquema 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 A transformação 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 aumentam
Configurar 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
Observe a ID do grupo de segurança (por exemplo, sg-0123456789abcdef0)
Atualize suas regras de entrada do SQL Server Security Group:
Tipo: TCP personalizado
Porta: 1433 (ou sua porta personalizada do SQL Server)
Fonte: ID do grupo de segurança de conversão de esquema DMS
Descrição: “Permitir acesso à conversão do esquema DMS”
Para o destino Aurora PostgreSQL (após a criação):
Tipo: PostgreSQL
Porta: 5432 (ou sua porta PostgreSQL personalizada)
Fonte: ID do grupo de segurança de conversão de esquema DMS
Descrição: “Permitir acesso à conversão do esquema DMS”
Importante
Importante para modelos de segurança com menos privilégios: 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 do 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 pontos finais
Endpoints do Aurora PostgreSQL
Endpoints S3 para armazenamento de artefatos
AWS Secrets Manager pontos finais
AWS CodeConnections pontos finais
VPC Endpoints: para redes privadas, configure os endpoints VPC para os AWS serviços necessários para evitar dependências de gateway da Internet.
Requisitos para bancos de dados hospedados externamente
Se o banco de dados do SQL Server estiver hospedado fora do AWS, verifique se os seguintes pré-requisitos foram atendidos e conclua as etapas de configuração antes de começar 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 para o banco de dados externo. Para obter mais informações, consulte Etapa 2: armazenar credenciais em AWS Secrets Manager .
-
Quando solicitado, forneça a ID da VPC e a 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.