View a markdown version of this page

Fluxo de trabalho de modernização do SQL Server - AWS Transformação

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á.

Fluxo de trabalho de modernização do SQL Server

Esta seção fornece uma explicação passo a passo do processo completo de modernização do SQL Server usando o Transform. AWS

Etapa 1: Criar um trabalho de modernização do SQL Server

Comece sua jornada de modernização criando um novo trabalho de transformação no console do AWS Transform.

  1. Faça login no console do AWS Transform

  2. Escolha Criar tarefa de modernização

  3. Selecione a tarefa de modernização do Windows e, em seguida, selecione a modernização do SQL Server

  4. Insira os detalhes do trabalho:

    • Nome do trabalho: nome descritivo do seu projeto

    • Descrição: Descrição opcional

    • Região de destino: AWS região para implantação

  5. Selecione Create job (Criar trabalho)

    Importante

    Não inclua informações de identificação pessoal (PII) no nome do seu trabalho.

Etapa 2: Conectar-se ao banco de dados do SQL Server

Conecte o AWS Transform ao seu banco de dados do SQL Server para permitir a análise e a conversão de esquemas.

Crie um conector de banco de dados

  1. Em seu trabalho de modernização do SQL Server, navegue até Connect to resources

  2. Escolha Conectar ao banco de dados do SQL Server

  3. Escolha Criar novo conector

  4. Insira as informações do conector:

    • Nome do conector C: nome descritivo

    • AWS ID da conta: conta em que o SQL Server está hospedado

  5. Depois de confirmado, você receberá um link para aprovação. Copie o link de aprovação para obter a aprovação do AWS administrador da conta. Depois de aprovados, você pode prosseguir para a próxima etapa.

  6. Depois que seu administrador aprovar a solicitação do conector, clique em Enviar para prosseguir com a configuração da conexão do código-fonte.

Etapa 3: Conectar o repositório de código-fonte

AWS O Transform precisa acessar o código-fonte do aplicativo.NET para analisar e transformar o código que interage com o banco de dados do SQL Server. AWS O Transform oferece suporte a três métodos para fornecer código-fonte.

Escolha seu método de autenticação

Conector de token de acesso pessoal (PAT) (recomendado)

Ideal para equipes que precisam de escopos de permissão personalizados, suporte de provedor auto-hospedado ou acesso a APIs específicas do provedor, como segredos. GitHub Você cria um PAT em seu provedor de código-fonte com permissões personalizadas, o armazena e o AWS Transform o recupera quando necessário. AWS Secrets Manager Você é responsável por gerenciar a rotação e a expiração do token.

AWS CodeConnections

Ideal para equipes que desejam gerenciamento automatizado de credenciais. AWS CodeConnections usa uma integração de provedor gerenciado que gerencia a autenticação por meio de um fluxo de autorização do OAuth 2.0. AWS gerencia todo o ciclo de vida da credencial, incluindo atualização e rotação automáticas de tokens. Não é necessário gerenciamento manual de credenciais.

Amazon S3

Faça o upload do seu código-fonte diretamente em um bucket do Amazon S3. AWS O Transform acessa o código do bucket durante o trabalho de transformação.

Recurso Conector PAT (recomendado) AWS CodeConnections
Gerenciamento de credenciais Manual (gerenciado pelo cliente) Automático (AWS gerenciado)
Ciclo de vida do token Rotação manual necessária Atualização automática
Flexibilidade de permissão Escopos totalmente personalizáveis Permissões fixas
Self-hosted suporte do provedor Compatível Indisponível
Complexidade da configuração Moderado (criação e armazenamento manuais de tokens) Baixo (autorização única)
Armazenamento de tokens Do cliente AWS Secrets Manager Gerenciado pela AWS

Configurar um conector PAT (recomendado)

Com um conector PAT, você cria um token de acesso pessoal em seu provedor de código-fonte com permissões personalizadas, o armazena com segurança e o AWS Transform o recupera quando necessário. AWS Secrets Manager Você é responsável por gerenciar o ciclo de vida do token, incluindo rotação e expiração. AWS O Transform cria automaticamente a função IAM necessária com permissões para acessar seu segredo.

O conector PAT é compatível com os seguintes provedores, incluindo versões personalizadas DNS/URL e auto-hospedadas:

  • GitHub e GitHub Enterprise Server

  • GitLab.com and GitLab Self-Managed

  • Nuvem Bitbucket e data center Bitbucket

  • Azure DevOps e Azure DevOps Server

Crie um token de acesso pessoal

Crie um PAT no seu provedor de código-fonte. As permissões necessárias variam de acordo com o provedor. Escolha a guia do seu provedor.

Importante

Copie o token imediatamente após a criação. Você não pode vê-lo novamente. Defina a expiração para a duração do trabalho de transformação. Não defina a expiração para nunca expirar.

Atenção

Nunca envie tokens PAT em repositórios de código nem os compartilhe por meio de canais inseguros. Sempre os guarde AWS Secrets Manager.

GitHub

Navegue até Configurações, Configurações do desenvolvedor, Tokens de acesso pessoal, Fine-grained tokens. Selecione os repositórios a serem transformados e conceda as seguintes permissões.

Permissões do repositório

Permissão Acesso Finalidade
Conteúdo Leia e escreva Lê o código-fonte e grava o código transformado de volta no repositório
Metadados Read-only Acessa informações básicas do repositório

Permissões da organização (necessárias para os repositórios da organização)

Permissão Acesso Finalidade
Membros Read-only Lista as organizações acessíveis ao token para descoberta do repositório
GitLab

Navegue até Editar perfil, Tokens de acesso. Selecione os seguintes escopos.

Escopo Finalidade
read_api Lê metadados do repositório, informações do projeto, detalhes do usuário e lista grupos e filiais
read_repository Lê arquivos de código-fonte e estrutura do repositório para análise
write_repository Grava o código transformado de volta no repositório
Bitbucket

Navegue até Configurações da conta, Segurança, Criar e gerenciar tokens de API. Os escopos necessários dependem do seu tipo de token.

Workspace/Repository Token (ATCT — autenticação do portador, sem necessidade de nome de usuário)

Permissão Acesso Finalidade
Repositórios Leia e escreva Lista repositórios, lê ramificações e grava código transformado via git push

Token da API da conta (ATAT — Autenticação básica com e-mail) ou Senha do aplicativo (ATBB — Autenticação básica com nome de usuário)

Escopo Finalidade
read:account Identifica o usuário autenticado para resolver a associação ao repositório
read:workspace:bitbucket Lista os espaços de trabalho que o token pode acessar para que o AWS Transform possa enumerar seus repositórios. Não é necessário se você especificar uma lista de espaços de trabalho no segredo.
read:repository:bitbucket Lista repositórios e lê metadados e informações de ramificações
write:repository:bitbucket Grava o código transformado de volta no repositório via git push
Azure DevOps

Navegue até Configurações do usuário, Tokens de acesso pessoal. Selecione Escopos personalizados definidos. Para o escopo da organização, escolha Todas as organizações acessíveis (recomendado) ou especifique uma única organização.

Escopo Acesso Finalidade
Código Leia e escreva Lê o código-fonte, lista repositórios e ramificações e grava o código transformado de volta
Perfil do usuário Ler Valida o acesso ao token e descobre a identidade do usuário para pesquisa da organização
Gerenciamento de direitos de membros Ler Lista as organizações acessíveis ao token para descoberta do repositório

Armazene o PAT em AWS Secrets Manager

  1. Abra o AWS Secrets Manager console.

  2. Selecione Armazenar um novo segredo.

  3. Em Tipo de segredo, escolha Outro tipo de segredo.

  4. Adicione pares de valores-chave com base em seu provedor e tipo de hospedagem:

    • Cloud-hosted provedores — Adicione uma chave nomeada token com seu PAT como valor.

      • Para o Azure DevOps com uma organização específica, adicione também uma chave chamada organization com o nome da sua organização.

      • Para senhas do aplicativo Bitbucket (ATBB), adicione também uma chave chamada username com seu nome de usuário do Bitbucket. Para tokens de API da conta Bitbucket (ATAT), adicione uma chave chamada email com seu endereço de e-mail do Bitbucket.

    • Self-hosted e DNS/URL provedores personalizados — adicione as seguintes chaves: host (o URL do seu servidor, por exemplohttps://github.mycompany.com), provider_type (githubgitlab,bitbucket,, ouado) e token (seu PAT).

      • Para o Azure DevOps com uma organização específica, adicione também uma chave chamada organization com o nome da sua organização.

      • Para senhas do aplicativo Bitbucket (ATBB), adicione também uma chave chamada username com seu nome de usuário do Bitbucket. Para tokens de API da conta Bitbucket (ATAT), adicione uma chave chamada email com seu endereço de e-mail do Bitbucket.

    O exemplo a seguir mostra como um segredo é examinado AWS Secrets Manager por um provedor GitHub hospedado na nuvem:

    { "token": "your-github-personal-access-token" }

    O exemplo a seguir mostra uma senha do aplicativo Bitbucket (ATBB):

    { "token": "your-bitbucket-app-password", "username": "my-bitbucket-username" }

    O exemplo a seguir mostra uma GitLab instância auto-hospedada:

    { "host": "https://gitlab.mycompany.com", "provider_type": "gitlab", "token": "your-gitlab-personal-access-token" }
  5. Escolha Próximo.

  6. Insira um nome secreto, por exemplogithub-pat-myproject.

  7. (Opcional) Selecione uma chave KMS gerenciada pelo cliente para criptografia.

  8. Conclua o assistente e escolha Armazenar.

  9. Copie o ARN secreto. Você precisa desse valor ao configurar a tarefa AWS Transform.

Se você usar uma chave KMS gerenciada pelo cliente para criptografar seu segredo (em vez da chave AWS gerenciada padrão), deverá atualizar a política de chaves do KMS para permitir que AWS o Transform decifre o segredo. Adicione a seguinte declaração à sua política de chaves do KMS gerenciada pelo 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" } } }

REGIONSubstitua pela sua AWS região (por exemplo,us-east-1) e YOUR-SECRET-ARN pelo ARN do seu segredo. A kms:ViaService condição garante que a chave KMS só possa ser usada por meio do AWS Secrets Manager serviço. A kms:EncryptionContext:SecretARN condição restringe a decodificação ao seu segredo específico.

Para atualizar sua política de chaves do KMS:

  1. Abra o console AWS KMS em. https://console.aws.amazon.com/kms

  2. No painel de navegação, escolha Chaves gerenciadas pelo cliente.

  3. Selecione sua chave KMS.

  4. Na guia Política de chave, escolha Editar.

  5. Adicione a declaração de política à política existente.

  6. Escolha Salvar alterações.

nota

Se você usar a chave AWS gerenciada padrão (aws/secretsmanager), não precisará modificar nenhuma política de chave do KMS.

Configurar o AWS Transforme o trabalho

  1. Em sua tarefa do AWS Transform, navegue até Connect to resources.

  2. Escolha Connect source code repository.

  3. Selecione o conector PAT como método de autenticação.

  4. Insira o ARN secreto da etapa 2.

  5. (Opcional) Insira o ARN da chave KMS se você usou uma chave KMS gerenciada pelo cliente.

  6. Selecione seu repositório e ramificação.

  7. Escolha Continuar.

AWS O Transform cria automaticamente uma função do IAM com as permissões necessárias para acessar seu segredo.

Rotação e manutenção de tokens

Você é responsável pela rotação dos tokens PAT antes que eles expirem. Para girar um token:

  1. Gere um novo PAT em seu provedor de código-fonte com as mesmas permissões.

  2. Atualize o valor secreto em AWS Secrets Manager.

  3. Verifique se sua tarefa de AWS transformação pode acessar o repositório com o novo token.

  4. Revogue o PAT antigo em seu provedor de código-fonte.

Solucionar problemas do conector PAT

Acesso negado — PAT inválido

Verifique se o PAT não expirou. Confirme se o PAT tem os escopos necessários para seu provedor. Verifique se o PAT está armazenado corretamente em AWS Secrets Manager.

Não é possível recuperar o segredo

Verifique se o ARN secreto está correto. Verifique os registros do trabalho para confirmar se o AWS Transform criou a função do IAM. Se você estiver usando uma chave KMS gerenciada pelo cliente, verifique a política de chaves.

Permissões insuficientes

O PAT pode não ter os escopos necessários para a operação. Regenere o PAT com os escopos necessários e atualize o valor secreto em. AWS Secrets Manager

Configurar AWS CodeConnections

AWS CodeConnections usa uma integração de provedor gerenciado que recupera automaticamente as credenciais temporárias do OAuth por meio de um fluxo de autorização do OAuth 2.0. As permissões são configuradas no aplicativo do provedor e gerenciadas inteiramente pelo AWS. Você autoriza o aplicativo uma vez e AWS gerencia todo o gerenciamento de credenciais.

  1. Em seu trabalho de modernização do SQL Server, navegue até Connect to resources.

  2. Escolha Connect source code repository.

  3. Se você não tiver uma conexão existente, escolha Criar conexão.

  4. Selecione seu provedor de repositório:

    • GitHub / GitHub Empresa

    • GitLab.com

    • Bitbucket Cloud

    • Repositórios do Azure

  5. Siga o fluxo de autorização do seu provedor.

  6. Após a autorização, escolha Connect.

Selecione seu repositório e ramificação

  1. Selecione seu repositório na lista.

  2. Escolha a ramificação que você deseja transformar (normalmente principal, principal ou desenvolver).

  3. (Opcional) Especifique um subdiretório se seu aplicativo.NET não estiver na raiz do repositório.

  4. Escolha Continuar.

nota

AWS A transformação cria uma nova ramificação para o código transformado. Você pode revisar e mesclar as alterações por meio do processo normal de revisão de código.

Aprovação do acesso ao repositório

Para GitHub algumas outras plataformas, o administrador do repositório deve aprovar a solicitação de conexão:

  1. AWS O Transform exibe um link de verificação.

  2. Compartilhe esse link com o administrador do repositório.

  3. O administrador analisa e aprova a solicitação nas configurações do repositório.

  4. Depois que o administrador aprova a solicitação, o status da conexão muda para Aprovado.

Importante

O processo de aprovação pode levar algum tempo, dependendo das políticas da sua organização. Planeje adequadamente.

Etapa 4: Criar conector de implantação (opcional)

Se você quiser implantar os aplicativos transformados em sua AWS conta, você tem a opção de selecionar um conector de implantação.

Configurar o conector de implantação

  1. Selecione Sim se quiser implantar seus aplicativos. Selecionar Não ignorará essa etapa.

  2. Adicione sua AWS conta onde você deseja implantar os aplicativos transformados.

  3. Adicione um nome que ajude você a se lembrar facilmente do conector

  4. Envie a solicitação do conector para aprovação.

Aprovação do conector de

O administrador AWS da sua conta deve aprovar a solicitação de conexão para o conector de implantação.

  1. AWS O Transform exibe um link de verificação

  2. Compartilhe este link com o administrador AWS da sua conta

  3. O administrador revisa e aprova a solicitação nas configurações do repositório

  4. Depois de aprovado, o status da conexão muda para Aprovado

Importante

O processo de aprovação pode levar algum tempo, dependendo das políticas da sua organização. Planeje adequadamente.

Etapa 5: confirme seus recursos

Depois de se conectar ao seu banco de dados e repositório, o AWS Transform verifica se todos os recursos necessários estão acessíveis e prontos para a transformação.

O que AWS A transformação verifica

  • Conectividade do banco de dados: a conexão está ativa, o usuário tem as permissões necessárias, os bancos de dados estão acessíveis, a versão é suportada

  • Acesso ao repositório: o repositório está acessível, a ramificação existe, os arquivos do projeto.NET foram detectados, as conexões do banco de dados podem ser descobertas

  • Preparação do ambiente: a configuração da VPC suporta DMS, existem funções de serviço AWS necessárias, conectividade de rede estabelecida, compatibilidade regional confirmada

Revise a lista de verificação antes do voo

  1. Navegue até Confirmar seus recursos no plano de trabalho

  2. Analise os itens da lista de verificação:

    • ✅ Conexão com o banco de dados

    • ✅ Acesso ao repositório confirmado

    • ✅ Versão do.NET suportada

    • ✅ Entity Framework ou ADO.NET detectado

    • ✅ Configuração de rede válida

    • ✅ Permissões necessárias concedidas

  3. Se todos os itens aparecerem como concluídos, escolha Continuar

  4. Se algum item mostrar avisos ou erros, resolva-os antes de continuar

Etapa 6: descoberta e avaliação

AWS O Transform analisa seu banco de dados SQL Server e o aplicativo.NET para entender o escopo e a complexidade da modernização.

O que é descoberto

  • Objetos de banco de dados: tabelas, visualizações, índices, procedimentos armazenados, funções, acionadores, restrições, tipos de dados, colunas computadas, colunas de identidade, relacionamentos de chave estrangeira

  • Código do aplicativo: estrutura do projeto.NET, modelos e configurações do Entity Framework, código de acesso a ADO.NET dados, cadeias de conexão de banco de dados, chamadas de procedimentos armazenados, consultas SQL em código

  • Dependências: quais aplicativos usam quais bancos de dados, dependências entre bancos de dados, procedimentos armazenados compartilhados, padrões comuns de acesso a dados

Processo de descoberta

  • AWS A transformação começa a ser descoberta automaticamente após a confirmação do recurso

  • A descoberta normalmente leva de 5 a 15 minutos, dependendo do tamanho do banco de dados e da complexidade do aplicativo

  • Monitore o progresso no registro de trabalho

  • AWS O Transform exibe atualizações em tempo real à medida que os objetos são descobertos

Analise os resultados da descoberta

Após a conclusão da descoberta, navegue até Descoberta e avaliação para analisar:

Análise de banco de dados:

  • Contagem de objetos: número de tabelas, visualizações, procedimentos armazenados, funções, gatilhos

  • Pontuação de complexidade: avaliação da complexidade da transformação (baixa, média, alta)

  • Itens de ação: objetos que podem exigir atenção humana

  • Recursos suportados: recursos de banco de dados que serão convertidos automaticamente

  • Recursos não suportados: recursos que exigem soluções alternativas

Análise de aplicativos:

  • Tipo de projeto: ASP.NET Core, aplicativo de console, biblioteca de classes, etc.

  • Versão.NET: versão detectada do.NET Core

  • Estrutura de acesso a dados: versão do Entity Framework ou ADO.NET

  • Conexões de banco de dados: Número de cadeias de conexão encontradas

  • Complexidade do código: avaliação da complexidade da transformação

Mapa de dependências:

  • Representação visual das relações entre aplicativos e bancos de dados

  • Cross-database dependências

  • Componentes compartilhados

Entendendo a avaliação da complexidade

AWS O Transform classifica sua modernização em três categorias:

Complexidade Características Resultado esperado
Baixo (Classe A) Padrões SQL padrão (ANSI SQL), procedimentos simples armazenados, tipos de dados básicos, Entity Framework com configurações padrão Mínima intervenção humana esperada, alta taxa de sucesso de automação
Médio (Classe B) T-SQL Padrões avançados, procedimentos armazenados complexos com lógica de negócios, funções definidas pelo usuário, colunas computadas Alguma intervenção humana é necessária, revisão de especialistas recomendada
Alto (Classe C) Assemblies CLR, servidores vinculados, Service Broker, pesquisa complexa de texto completo É necessária uma refatoração humana significativa, considere a abordagem em fases

Relatório de avaliação da

AWS O Transform gera um relatório de avaliação detalhado que inclui:

  • Resumo executivo com visão geral de alto nível

  • Inventário completo do banco de

  • Inventário de aplicativos

  • Porcentagem de prontidão para transformação

  • Estimativa de esforço

  • Estratégias de avaliação e mitigação de riscos

  • (Abordagem recomendada)

Você pode baixar o relatório de avaliação para análise off-line e compartilhamento com as partes interessadas.

Etapa 7: gerar e revisar o plano de ondas

Para grandes propriedades com vários bancos de dados e aplicativos, o AWS Transform gera um plano de ondas que sequencia a modernização em grupos lógicos.

O que é um plano de ondas?

Um plano de ondas organiza sua modernização em fases (ondas) com base em:

  • Dependências entre bancos de dados e aplicativos

  • Prioridades de negócios

  • tolerância ao risco

  • Disponibilidade de recursos

  • Complexidade técnica

Cada onda contém um grupo de bancos de dados e aplicativos que podem ser modernizados juntos sem quebrar dependências.

Revise o plano de ondas

  1. Navegue até Planejamento do Wave no plano de trabalho

  2. Revise as ondas propostas

  3. Para cada onda, analise:

    • Bancos de dados incluídos

    • Aplicativos incluídos

    • Dependências de outras ondas

    • Tempo estimado de transformação

    • Nível de complexidade

    • Aplicativos implantáveis

Personalize o plano de ondas

Você pode personalizar o plano wave para atender às necessidades da sua empresa de duas maneiras:

Usando JSON:

  1. Escolha Baixar todas as ondas para obter um arquivo JSON com todas as ondas

  2. Modifique as ondas no JSON da seguinte forma:

    • Movendo bancos de dados entre ondas

    • Dividindo ondas em grupos menores

    • Mesclando ondas

    • Alterando a sequência de ondas

    • Adicionar ou remover bancos de dados do escopo

  3. Faça o upload do arquivo JSON de volta para o console escolhendo Carregar plano de onda

  4. AWS O Transform valida suas alterações e avisa se as dependências forem violadas

  5. Escolha Confirmar ondas para atualizar o plano de ondas

Usando o Chat:

Você pode modificar os planos de ondas conversando com o agente e solicitando que ele mova os repositórios e bancos de dados para ondas específicas. Essa abordagem funciona bem se você precisar fazer pequenas edições nas ondas.

Importante

Certifique-se de que as dependências sejam respeitadas ao personalizar ondas. Transformar um aplicativo dependente antes de seu banco de dados pode causar problemas.

Modernização de banco de dados único

Se você estiver modernizando um único banco de dados e aplicativo, o AWS Transform cria um plano simples com uma única onda. Você pode prosseguir diretamente para a transformação sem planejar ondas.

Aprovar o plano de ondas

  1. Depois de revisar e personalizar (se necessário), escolha Aprovar plano de ondas

  2. AWS O Transform bloqueia o plano de ondas e prossegue com a transformação

  3. Você ainda pode modificar o plano posteriormente escolhendo Editar plano de onda

Etapa 8: conversão do esquema

AWS O Transform converte seu esquema de banco de dados SQL Server em Aurora PostgreSQL, incluindo tabelas, visualizações, procedimentos armazenados, funções e gatilhos.

Como funciona a conversão de esquemas

AWS O Transform usa a conversão de esquema AWS DMS aprimorada com IA generativa para:

  • Analise esquemas e relacionamentos do SQL Server

  • Mapeie tipos de dados do SQL Server para equivalentes do PostgreSQL

  • Transformar T-SQL em PL/pgSQL

  • Lidar com colunas de identidade, colunas computadas e restrições

  • Valide a conversão e a integridade referencial

  • Gere itens de ação para objetos que exigem revisão humana

Conversões suportadas

Convertido automaticamente:

  • Tabelas, visualizações e índices

  • Chaves primárias e chaves estrangeiras

  • Verifique as restrições e os valores padrão

  • Tipos de dados mais comuns

  • Procedimentos simples de armazenamento

  • Funções básicas e gatilhos

  • Colunas de identidade (convertidas em SERIAL ou GERADAS)

  • Colunas mais computadas

Pode exigir revisão humana:

  • Procedimentos armazenados complexos com recursos avançados T-SQL

  • Server-specific Funções SQL (GETUTCDATE, SUSER_SNAME etc.)

  • Colunas computadas com expressões complexas

  • Full-text índices de pesquisa

  • Operações de tipo de dados XML

  • Tipo de dados HIERARCHYID (requer extensão ltree)

Não convertido automaticamente:

  • Conjuntos CLR

  • Servidores vinculados

  • Service Broker

  • Trabalhos do SQL Server Agent

Iniciar conversão do esquema

  1. Navegue até Conversão de esquema no plano de trabalho

  2. Revise as configurações de conversão:

    • Versão de destino do PostgreSQL

    • Opções de extensão (ltree, PostGIS, etc.)

    • Convenções de nomenclatura

  3. Escolha Iniciar conversão

  4. Monitore o progresso no registro de trabalho

  5. A conversão normalmente leva de 10 a 30 minutos, dependendo do número de objetos do banco de dados

Analise os resultados da conversão

Depois que a conversão for concluída, navegue até Revisar conversão do esquema:

Resumo da conversão:

  • Objetos convertidos: contagem de objetos convertidos com sucesso

  • Itens de ação: objetos que requerem atenção humana

  • Advertências: possíveis problemas a serem analisados

  • Erros: objetos que não puderam ser convertidos

Análise por tipo de objeto:

  • Tabelas: mapeamentos de tipos de dados, restrições, índices

  • Procedimentos armazenados: T-SQL para PL/pgSQL conversão

  • Funções: assinatura da função e alterações lógicas

  • Acionadores: mudanças na sintaxe e temporização do gatilho

Revise os itens de ação

  1. Escolha Exibir itens de ação

  2. Para cada item de ação, revise:

    • Nome do objeto: O objeto do banco de dados

    • Tipo de problema: O que requer atenção

    • Gravidade: crítica, advertência ou informação

    • Recomendação: resolução sugerida

    • Código original: versão SQL Server

    • Código convertido: versão PostgreSQL

  3. Para cada item de ação, você pode:

    • Aceitar: use o código convertido

    • Modificar: edite o código convertido

    • Sinalizar para mais tarde: Marque para revisão humana após a transformação

Exemplo: conversão de procedimento armazenado

Servidor SQL 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;

Alterações feitas:

  • Procedimento convertido em função retornando TABLE

  • Nomes de parâmetros prefixados com p_

  • TOP convertido em LIMIT

  • DATEDIFF convertido em EXTRACT

  • GETUTCDATE () convertido em NOW ()

  • Nomes de colunas convertidos em minúsculas (convenção PostgreSQL)

Aprovar a conversão do esquema

  1. Depois de revisar todos os itens de ação e fazer as modificações necessárias

  2. Escolha Aprovar conversão de esquema

  3. AWS O Transform prepara o esquema convertido para implantação no Aurora PostgreSQL

nota

Você pode baixar o esquema convertido como scripts SQL para análise offline ou controle de versão.

Etapa 9: migração de dados (opcional)

AWS O Transform fornece opções para migrar dados do SQL Server para o Aurora PostgreSQL. A migração de dados é opcional e pode ser ignorada se você precisar apenas da transformação do esquema e do código.

Opções de migração de dados

Opção 1: migração de dados de produção

Migre seus dados reais de produção usando o AWS DMS:

  • Carga inicial completa de todos os dados

  • Replicação contínua durante o teste (CDC)

  • Redução mínima do tempo de inatividade

  • Validação de dados e verificações de integridade

Opção 2: ignorar a migração de dados

Transforme somente o esquema e o código:

  • Útil para development/testing ambientes

  • Quando os dados serão migrados separadamente

  • Para projetos de prova de conceito

Configurar a migração de dados

  1. Navegue até Migração de dados no plano de trabalho

  2. Escolha sua opção de migração:

    • Migre dados de produção

    • Ignorar a migração de dados

  3. Se estiver migrando dados de produção, configure:

    • Tipo de migração: carga total ou carga total + CDC

    • Validação: habilitar a validação de dados

    • Desempenho: tamanho da instância do DMS

    • Escolha >Iniciar a migração

Processo de migração de dados de produção

Se você optar por migrar os dados de produção:

  1. Sincronização inicial: o AWS DMS executa a carga total de todas as tabelas

  2. Replicação contínua: (se o CDC estiver ativado) Mantém os dados sincronizados

  3. Validação: verifica a contagem de linhas e a integridade dos dados

  4. Preparação da transição: se prepara para a sincronização final

Cronograma de migração:

  • Bancos de dados pequenos (< 10 GB): 30 minutos - 2 horas

  • Bancos de dados médios (10 a 100 GB): 2 a 8 horas

  • Bancos de dados grandes (> 100 GB): mais de 8 horas

Validação de dados

AWS O Transform valida os dados migrados com as seguintes verificações:

  • Comparação da contagem de linhas (origem versus destino)

  • Integridade da chave primária

  • Relacionamentos de chave estrangeira

  • Compatibilidade do tipo de dados

  • Resultados da coluna computada

  • Manipulação de valores nulos

Etapa 10: transformação do código do aplicativo

AWS O Transform transforma o código do aplicativo.NET para funcionar com o Aurora PostgreSQL em vez do SQL Server. Ele solicita um nome de ramificação de destino em seus repositórios para confirmar o código-fonte transformado. Depois de inserir o nome da ramificação, o AWS Transform criará uma nova ramificação e iniciará a transformação para corresponder ao banco de dados PostgreSQL.

O que é transformado

Alterações na estrutura da entidade:

  • Provedor de banco de dados: UseSqlServer () → UseNpgsql ()

  • Cadeias de conexão: formato SQL Server → formato PostgreSQL

  • Mapeamentos de tipos de dados: tipos do SQL Server → Tipos do PostgreSQL

  • DbContext configurações: SQL → Server-specific PostgreSQL-specific

  • Arquivos de migração: atualizados para compatibilidade com o PostgreSQL

ADO.NET Mudanças:

  • Classes de conexão: SqlConnection → NpgsqlConnection

  • Classes de comando: SqlCommand → NpgsqlCommand

  • Leitor de dados: SqlDataReader → NpgsqlDataReader

  • Parâmetros: SqlParameter → NpgsqlParameter

  • Sintaxe S SQL: T-SQL → PostgreSQL → SQL

Alterações na configuração:

  • Cadeias de conexão em appsettings.json

  • NuGet Pacotes de provedores de banco

  • Configurações de injeção de dependência

  • Startup/Program.cs configurações

Inicie a transformação do código

  1. Navegue até Transformação de aplicativos no plano de trabalho

  2. Revise as configurações de transformação:

    • Versão.NET de destino (se estiver atualizando)

    • Versão do provedor PostgreSQL

    • Preferências de estilo de código

  3. Escolha Iniciar transformação

  4. Monitore o progresso no registro de trabalho

  5. A transformação normalmente leva de 15 a 45 minutos, dependendo do tamanho da base de código

Etapa 11: Analisar os resultados da transformação

Antes de prosseguir com a implantação, analise os resultados completos da transformação para garantir que tudo esteja pronto para o teste.

Você pode baixar o código transformado da ramificação do repositório para:

  • Teste e validação locais

  • Revisão de código em seu IDE

  • Integração com seu CI/CD funil

  • Confirmação de controle de versão

Você também pode baixar o resumo da transformação para revisar as alterações na linguagem natural feitas pelo AWS Transform como parte da transformação.

Resumo da transformação

  1. Navegue até o resumo da transformação no plano de trabalho

  2. Analise os resultados gerais:

    • Conversão de esquema: objetos convertidos, itens de ação, avisos

    • Migração de dados: tabelas migradas, linhas transferidas, status de validação

    • Transformação de código: arquivos alterados, linhas modificadas, problemas resolvidos

    • Pontuação de prontidão: prontidão geral para implantação

Gerar relatório de transformação

AWS O Transform gera um relatório de transformação abrangente:

  1. Escolha Gerar relatório

  2. Selecione o tipo de relatório:

    • Resumo executivo: High-level visão geral para as partes interessadas

    • Detalhes técnicos: documentação completa de transformação

    • Itens de ação: Lista de tarefas humanas necessárias

  3. Escolha Baixar relatório

O relatório inclui:

  • Escopo e objetivos da transformação

  • Objetos e código transformados

  • Problemas encontrados e soluções

  • Resultados da validação

  • Avaliação da prontidão para implantação

  • Recomendações para testes

Etapa 12: Validação e teste

Antes de implantar na produção, verifique se o aplicativo transformado funciona corretamente com o Aurora PostgreSQL.

Tipos de validação

Validação automatizada: o AWS Transform realiza verificações automatizadas:

  • Validação do esquema em relação ao banco de dados de origem

  • Verificação de integridade dos dados

  • Teste de equivalência de consultas

  • Validação da cadeia de conexão

  • Validação de configuração

Validação humana: você deve realizar testes adicionais:

  • Teste funcional dos recursos do aplicativo

  • Teste de integração com outros sistemas

  • Teste de desempenho e benchmarking

  • Teste de aceitação do usuário

  • Teste de segurança

Execute a validação automatizada

  1. Navegue até Validação no plano de trabalho

  2. Escolha Executar validação

  3. AWS O Transform executa testes de validação:

    • Conectividade com o banco de dados

    • Compatibilidade de esquemas

    • Integridade dos dados

    • Construção de aplicativos

    • Funcionalidade básica

  4. Analise os resultados da validação:

    • Aprovado: testes bem-sucedidos

    • Falhou: testes que precisam de atenção

    • Avisos: possíveis problemas a serem analisados

Lista de verificação de testes

Funcionalidade do banco de dados:

  • Todas as mesas acessíveis

  • Os procedimentos armazenados são executados corretamente

  • As funções retornam os resultados esperados

  • Aciona o fogo de forma adequada

  • Restrições aplicadas adequadamente

  • Os índices melhoram o desempenho da consulta

Funcionalidade do aplicativo:

  • O aplicativo é iniciado com sucesso

  • Conexões de banco de dados

  • As operações do CRUD funcionam corretamente

  • As chamadas de procedimento armazenadas foram bem-sucedidas

  • Transações commit/rollback adequadas

  • O tratamento de erros funciona conforme o esperado

Integridade dos dados:

  • A contagem de linhas corresponde à fonte

  • Chaves primárias exclusivas

  • Chaves estrangeiras válidas

  • Colunas computadas corretas

  • Tratamento nulo apropriado

  • Tipos de dados compatíveis

Desempenho:

  • Tempos de resposta da consulta aceitáveis

  • Pool de conexões configurado

  • Índices otimizados

  • Sem problemas de consulta N+1

  • Operações em lote eficientes

  • Utilização de recursos razoável

Etapa 13: Implantação

Após a validação bem-sucedida, implante seu aplicativo e banco de dados modernizados para produção.

Opções de implantação

  • Amazon ECS e Amazon EC2 Linux

Pre-deployment lista de verificação

Antes da implantação na produção:

  • Todos os testes de validação foram aprovados

  • Teste de desempenho concluído

  • Análise de segurança concluída

  • Plano de backup e reversão documentado

  • Monitoramento e alertas configurados

  • Equipe treinada em novo ambiente

  • Partes interessadas informadas sobre a implantação

  • Janela de manutenção programada

Implantar no Amazon ECS

  1. Navegue até Implantação no plano de trabalho

  2. Escolha Implantar no ECS

  3. Defina as configurações de implantação:

    • Cluster: selecione ou crie um cluster ECS

    • Serviço: Configurar o serviço ECS

    • Definição da tarefa: Revise a definição da tarefa gerada

    • Balanceador de carga: Configurar ALB/NLB

    • Auto-scaling: Defina políticas de escalabilidade

  4. Revise a infraestrutura como código (modelo ou código CDK) CloudFormation AWS

  5. Escolha Implantar

Monitore a implantação

AWS O Transform implanta seu aplicativo:

  1. Cria o cluster Aurora PostgreSQL

  2. Aplica o esquema do banco de dados

  3. Carrega dados (se aplicável)

  4. Implanta contêineres de aplicativos

  5. Configura o balanceador de carga

  6. Configura o auto-scaling

Monitore o progresso da implantação e verifique:

  • Provisionamento de infraestrutura

  • Inicialização do banco de dados

  • Implantação de aplicações

  • Verificações de saúde aprovadas

  • Aplicativo acessível

  • As conexões de banco de dados funcionam

  • Registros mostrando a operação normal

Post-deployment validação

Após a implantação:

Teste de fumaça:

  • Verifique a funcionalidade crítica

  • Teste os principais fluxos de trabalho do usuário

  • Verifique os pontos de integração

  • Monitore as taxas de erro

Monitoramento de desempenho:

  • Monitore os tempos de resposta

  • Monitore consultas ao banco de dados

  • Verifique a utilização dos recursos

  • Revise os registros do aplicativo

Validação do usuário:

  • Realizar testes de aceitação do usuário

  • Colete feedback

  • Resolva quaisquer problemas

  • Documente as lições aprendidas

Procedimentos de reversão

Se surgirem problemas após a implantação:

Reversão imediata:

  • Reverter para a versão anterior do aplicativo

  • Volte para o SQL Server (se ainda estiver disponível)

  • Restaure a partir do backup, se necessário

Reversão parcial:

  • Reverta componentes específicos

  • Mantenha as alterações no banco de dados

  • Reverter somente o código do aplicativo

Correção direta:

  • Aplique o hotfix à versão do Aurora PostgreSQL

  • Implantar código de aplicativo atualizado

  • Monitor para resolução

Importante

Mantenha seu banco de dados SQL Server disponível por um período após a transferência para permitir a reversão, se necessário.

Post-deployment otimização

Após a implantação bem-sucedida:

Ajuste de desempenho:

  • Otimize consultas lentas

  • Ajustar as configurações do pool de conexões

  • Fine-tune Parâmetros do Aurora PostgreSQL

  • Revise e otimize índices

Otimização de custos:

  • Right-size Instância do Aurora

  • Configure o auto-scaling de forma adequada

  • Revise as configurações de armazenamento

  • Otimize a retenção de backup

Configuração de monitoramento:

  • Configurar CloudWatch painéis

  • Configurar alertas

  • Habilitar monitoramento avançado

  • Configurar Performance Insights

Documentação:

  • Atualizar runbooks

  • Mudanças na arquitetura do documento

  • Equipe de operações de treinamento

  • Crie guias de solução de problemas