View a markdown version of this page

Trabalhando com a modernização contínua - 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á.

Trabalhando com a modernização contínua

Gerenciamento de fontes

Use atx ct source comandos para conectar repositórios. Provedores suportados: GitHub, GitLab, Bitbucket, local.

GitHub organizações

Token: token de acesso pessoal (clássico) com repo escopo. Read-only para análise, repositório completo para remediação.

atx ct source add --name name --provider github --org org --token pat

GitLab grupos e usuários

Token: token de acesso pessoal com api escopo.

atx ct source add --name name --provider gitlab --org group-or-user --token pat # Self-hosted: atx ct source add --name name --provider gitlab --org group-or-user --token pat --url https://gitlab.example.com

Espaços de trabalho e projetos do Bitbucket

Bitbucket Cloud — escopos:read:repository:bitbucket,,write:repository:bitbucket,read:pullrequest:bitbucket. write:pullrequest:bitbucket Também precisa --email --username e.

atx ct source add --name name --provider bitbucket --org workspace --token api-token --email email --username username

Centro de dados Bitbucket:

atx ct source add --name name --provider bitbucket --org project-key --token http-access-token --url https://bitbucket.example.com

Repositórios locais

atx ct source add --name name --provider local --path parent-directory
Importante

--pathdeve apontar para um diretório pai contendo repositórios git como subdiretórios, não para um único repositório.

Gerenciando fontes

atx ct source list atx ct source remove --name name

Descoberta e gerenciamento de repositórios

atx ct discovery scan --source name atx ct discovery status --source name atx ct discovery scan --source name --path new-directory

Após a descoberta:

atx ct repository list atx ct repository list --source name atx ct repository list --labels "team:frontend,priority:high" atx ct repository update --source name --repo "source::repo" --labels "team:frontend,priority:high" atx ct repository update --source name --labels "migration:wave-1"

Análise em execução

O --type sinalizador especifica o tipo de análise a ser executada:

  • rapid-techdebt-analysis— Dependências desatualizadas e vitórias fáceis.

  • tech-debt-comprehensive— AI-powered Análise mais profunda abrangendo dependência, segurança, padrão, desempenho, capacidade de manutenção, arquitetura, qualidade de código e descobertas de infraestrutura.

  • security— Vulnerabilidades e exposições de segurança.

  • agentic-readiness— Preparação de seus repositórios para agentes de IA (estruturas, APIs, documentação).

  • modernization-readiness— oportunidades de modernização em suas dimensões de infraestrutura, aplicativos, dados, segurança e operações.

atx ct analysis run --type type --source name [--repo source::repo] [--wait] atx ct analysis get --id id --json atx ct analysis list --json atx ct analysis list --status pending|running|complete|cancelled|failed --json atx ct analysis list --type type --json atx ct analysis cancel --id id atx ct analysis delete --id id [--cascade-findings]

Análise personalizada

atx ct analysis run --type custom --transformation-name name --source source --repo source::repo --wait

Configuração com -g sinalizador: valor-chave, JSON ou caminho do arquivo.

Listar TDs: atx custom def list

Gerenciar descobertas

atx ct findings list --json atx ct findings list --repo source::repo --source name --severity high|medium|low --type analysis-type --status open|dismissed|obsolete --analysis-id id --fix-transform transform-name --json

Localizando status

  • open— Ativo

  • dismissed— Demitido manualmente (requer motivo)

  • obsolete— System-set quando a reanálise não produz mais a descoberta

atx ct findings update --id id --status dismissed --reason "reason" atx ct findings update --id id --status open atx ct findings batch-update --ids id1,id2 --status dismissed --reason "reason" atx ct findings get --id id atx ct findings delete --id id

Encontrando a obsolescência

Re-analysis marca as descobertas resolvidas como obsoletas. Não pode ser reaberto. Reservado para auditoria.

Criação de remediações

Três modos: baseado em descobertas, substituição de TD, TD direto.

atx ct remediation create --ids id1,id2 --name "name" atx ct remediation create --ids id1,id2 --transformation-name TD atx ct remediation create --transformation-name TD --repo source::repo

Saída por provedor: GitHub PR, GitLab MR, Bitbucket PR, filial local.

nota

O token deve ter acesso de gravação para ser PR/MR criado.

Execução local com --local bandeira.

atx ct remediation create --transformation-name TD --repo source::repo -g "additionalPlanContext=Upgrade to Node.js 22" atx ct remediation list atx ct remediation status --id id atx ct remediation retry --id id atx ct remediation cancel --id id atx ct remediation delete --id id

Execução remota

Por padrão, as análises e correções são executadas em sua máquina local. Para portfólios maiores, você pode transferir o trabalho para a infraestrutura remota. Você pode executar em uma AWS Transform-managed infraestrutura sem nada para provisionar (somente análises) ou na infraestrutura que você provisiona e gerencia em suas tarefas Conta da AWS— uma instância persistente do Amazon EC2 ou AWS Batch (Fargate). Os atx ct remote comandos provisionam, executam, monitoram e destroem a infraestrutura gerenciada pelo cliente. Independentemente de onde a execução acontece, você cria todos os recursos Conta da AWS e seu código-fonte permanece sob seu controle.

nota

Provisionar, atualizar e desmontar a infraestrutura cria e modifica AWS CloudFormation pilhas e funções do IAM e exige permissões de administrador. Passe --ack para confirmar isso e pule o prompt interativo. A execução de análises e correções em uma infraestrutura já provisionada usa políticas de execução com menos privilégios — veja e veja Marcação e controle de acesso as opções de computação das políticas gerenciadas envolvidas. Como AWS Transforme os trabalhos de modernização contínua

Executando em AWS Transform-managed infraestrutura (sem provisionamento)

Para executar uma análise remotamente sem provisionar nada, use. --mode aws-managed O envio vai para a AWS Transform, que executa a análise da AWS Transform-managed infraestrutura. Não há pilha para provisionar, rede para configurar e credenciais para armazenar no AWS Secrets Manager. A submissão é a corrida. Escolha a AWS região com a qual a carga de trabalho é executada--region.

# Run an analysis on AWS Transform-managed infrastructure atx ct remote analysis --type type --mode aws-managed --sources name [--repos repo1,repo2] [--region region] # Poll the submission (there is no remote status command in this mode) atx ct analysis get --id id --json

Esse modo executa somente análises. Ele não oferece suporte à remediação, ao tipo de custom análise ou às fontes locais. Como não há pilha, as --batch-name opções --stack-name--tags,--existing-instance, e não se aplicam. Uma única submissão abrange até 100 repositórios. Para cobrir escopos maiores, divida-os em vários envios com. --repos Ao contrário das execuções do Amazon EC2 e do Batch, você monitora o progresso com, atx ct analysis get em vez deatx ct remote status.

Redes

A computação remota deve ser executada em sub-redes privadas. Descubra a rede existente ou crie uma nova VPC antes de provisionar:

# List VPCs, private subnets, and security groups in the current account and Region atx ct remote network discover atx ct remote network discover --vpc vpc-id --json # Create a new VPC with private subnets, a NAT gateway, and a security group atx ct remote network create --cidr 10.1.0.0/16 --ack

Provisionar infraestrutura

Implante a pilha Amazon EC2 ou Batch. Omita --execute para visualizar o modelo ou conjunto de alterações; adicione --execute para aplicar.

O provisionamento cria a pilha de computação para o modo que você escolher, além de uma pilha de agendador:

  • Batch — um ambiente computacional e de fila de tarefas em AWS lote, uma definição de tarefa com a imagem do contêiner de modernização contínua, funções do IAM para execução de tarefas e uma função Lambda para envio de tarefas. O lote requer um grupo de segurança.

  • Amazon EC2 — uma instância persistente do Amazon EC2 com um perfil de instância do IAM e um grupo de segurança. Se você omitir--securityGroup, a pilha cria um grupo de segurança sem regras de entrada; o acesso é via SSM.

  • Scheduler — uma atx-scheduler pilha (um grupo de EventBridge agendamento do Amazon Scheduler e uma função de invocação) usada por análises recorrentes. Passe --skip-scheduler para optar por não participar.

# Preview, then deploy an EC2 stack atx ct remote provision --mode ec2 --vpc vpc-id --subnets subnet-a,subnet-b atx ct remote provision --mode ec2 --vpc vpc-id --subnets subnet-a,subnet-b --execute --ack # Deploy a Batch stack atx ct remote provision --mode batch --vpc vpc-id --subnets subnet-a,subnet-b --securityGroup sg-id --execute --ack # Update an existing stack to the latest template, or tear it down atx ct remote update --mode ec2|batch --execute --ack atx ct remote teardown --mode ec2|batch --execute --ack

Imagem do contêiner

Quando você executa análises e correções remotas, elas são executadas dentro de uma imagem de contêiner. Por padrão, quando você provisiona um ambiente remoto, ele usa a imagem pública AWS Transform,public.ecr.aws/d9h8z6l7/aws-transform:latest. O lote a define como a imagem de definição do trabalho. O Amazon EC2 a usa como imagem do executor.

Para executar uma imagem diferente, por exemplo, uma imagem privada do Amazon ECR que agrupa linguagens ou ferramentas adicionais, passe ao provisionar: --image-uri

# Batch: provision with a custom image atx ct remote provision --mode batch --vpc vpc-id --subnets subnet-a,subnet-b --securityGroup sg-id --image-uri account-id.dkr.ecr.region.amazonaws.com/repo:tag --execute --ack # EC2: provision with a custom image atx ct remote provision --mode ec2 --vpc vpc-id --subnets subnet-a,subnet-b --image-uri account-id.dkr.ecr.region.amazonaws.com/repo:tag --execute --ack

Armazenamento de credenciais de origem

Os contêineres remotos clonam seus repositórios usando tokens armazenados no AWS Secrets Manager. Registre um token para cada fonte de SCM antes de executar uma análise ou correção remota:

atx ct remote credentials --source name --token token atx ct remote credentials --source name --remove

Executando remotamente

A análise remota executa um contêiner para cada repositório; a remediação remota executa um contêiner para cada descoberta. Use--sources,--repos, e --labels para controlar a distribuição --stack-name e/ou --tags para selecionar qual pilha provisionada usar.

# Run analysis across a source on Batch atx ct remote analysis --type type --mode batch --sources name [--repos repo1,repo2] [--labels "team:frontend"] # Run remediation for specific findings on EC2 atx ct remote remediation --mode ec2 --ids id1,id2 atx ct remote remediation --mode ec2 --sources name --min-severity high

Monitoramento e gerenciamento de execuções

# Check whether infrastructure is deployed atx ct remote detect --mode ec2|batch # Track a submission (Batch by batch ID, EC2 by group ID) atx ct remote status --batch batch-id --stack-name name atx ct remote status --group ec2-group-id --wait # Resume a partially-failed Batch run (re-submits only incomplete repos). # On resume, --batch-name takes the existing batch ID reported by "remote status --batch". atx ct remote analysis --type type --mode batch --sources name --resume-incomplete --batch-name batch-id # Cancel a running submission atx ct remote cancel --mode batch --batch batch-id --stack-name name atx ct remote cancel --mode ec2 --group ec2-group-id

Agendamento de análises recorrentes

Use atx ct schedule para executar análises automaticamente em uma cadência recorrente. Você pode programar análises, mas não remediações. Espelho de opções de trabalhoatx ct remote analysis. Os agendamentos são executados remotamente, de duas maneiras:

  • AWS Transform-managed(--mode aws-managed) —um cronograma do lado do servidor que gera análises na infraestrutura. AWS Transform-managed Não há EventBridge cronograma da Amazon nem nada para provisionar. Ela exige uma função de execução (--execution-role) que o AWS Transform assume em cada execução (consulteFunção de execução para AWS Transform-managed horários).

  • Customer-managed(--mode ec2|batch) — um cronograma do Amazon EventBridge Scheduler em sua conta despacha cada execução para uma instância persistente do Amazon EC2 ou pilha de AWS lotes que você provisiona primeiro (consulte). Execução remota

O --recurrence valor aceitadaily, weekly:DAY (por exemplo,weekly:MONDAY), ou monthly:N onde N é um dia de 1 a 28. Os cronogramas de AWS Transform-managed infraestrutura são executados em UTC.

# AWS Transform-managed schedule (no infrastructure; requires an execution role) atx ct schedule create --name name --mode aws-managed --execution-role role-arn --recurrence daily --type type --sources name [--repos repo1,repo2] # Customer-managed schedule (EventBridge Scheduler dispatching to your EC2 or Batch stack) atx ct schedule create --name name --mode ec2|batch --recurrence weekly:MONDAY --type type --sources name [--repos repo1,repo2] # Manage schedules of either type by their schedule ID (from schedule list) atx ct schedule list atx ct schedule get schedule-id atx ct schedule disable schedule-id atx ct schedule enable schedule-id atx ct schedule delete schedule-id

Para visualizar as análises executadas por um cronograma, useatx ct analysis list --schedule-id schedule-id, que retorna as execuções acionadas do cronograma, primeiro as mais recentes.

Para remover a função de agendador e o grupo de agendamentos usados pelas agendas gerenciadas pelo cliente, execute. atx ct schedule teardown --execute

Função de execução para AWS Transform-managed horários

Uma programação criada com --mode aws-managed exige um --execution-role ARN que o AWS Transform assume toda vez que a programação é executada. Configure a função da seguinte forma:

  • A identidade que cria o cronograma deve ter iam:PassRole permissão na função de execução.

  • A política de confiança da função deve permitir que o diretor do transform-custom.amazonaws.com serviço a assuma.

  • No mínimo, a função deve ter a política AWS AWSTransformCustomFullAccess gerenciada anexada, além secretsmanager:GetSecretValue de secretsmanager:DescribeSecret permissões sobre segredos sob o atx/* prefixo, para que as execuções agendadas possam recuperar as credenciais do clone de origem.

A política embutida a seguir concede ao AWS Secrets Manager o acesso que as execuções agendadas precisam para recuperar as credenciais do clone de origem. Anexe-o à função de execução junto com a política AWSTransformCustomFullAccess gerenciada, substituindo region e account-id com a AWS região e a conta em que o cronograma é executado.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AtxSourceCredentials", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:atx/*" } ] }

Marcação e controle de acesso

Você pode aplicar tags (key=valuepares separados por vírgula) a fontes, análises e remediações com a opção. --tags As tags também são suportadas em infraestrutura remota, credenciais armazenadas e recursos de rede. Com as tags, você pode organizar os recursos. Combinadas com as condições de tag do IAM, as tags implementam o controle de acesso baseado em atributos (ABAC) para que as equipes acessem somente os recursos que carregam suas tags.

atx ct source add --name name --provider github --org org --token pat --tags team=platform,env=prod atx ct analysis run --type type --source name --tags team=platform atx ct remediation create --ids id1,id2 --tags team=platform

Por padrão, os recursos são marcados com as tags que você define~/.aws/atx/settings.json. Adicione as tags que você deseja aplicar a cada recurso e applyTags elas se tornarão suas tags padrão.

{ "applyTags": [ { "team": "alpha" } ] }
nota

As tags passadas --tags são mescladas em qualquer tag padrão configurada e --tags ganham para qualquer conjunto de chaves em ambos os lugares.

AWS Transforme o aplicativo web

Use o aplicativo web AWS Transform para criar e executar análises, revisar descobertas, criar correções e rastrear solicitações pull geradas em suas fontes de código.

Antes de usar o aplicativo web, sua organização deve habilitar sua identidade de usuário para acessar o AWS Transform. Para obter mais informações sobre como configurar o AWS Transform, consulte Configurando o AWS Transform.

Faça login

Para acessar o aplicativo web AWS Transform, conclua as etapas a seguir.

  1. Abra https://aws.amazon.com/transform/ e faça login com as credenciais AWS do IAM Identity Center.

  2. Se a modernização contínua não aparecer, faça login com as credenciais do IAM:

    1. No AWS Management Console, abra AWS Transformar e escolha Configurações.

    2. Ative o Access AWS Transform com as credenciais do IAM.

    3. Copie o URL do aplicativo Web (com o IAM) e cole-o na mesma janela do navegador em que o console está aberto.

  3. Abra o menu de navegação à esquerda e escolha a modernização contínua.

Modos de infraestrutura

Ao criar uma análise, escolha um dos seguintes modos de infraestrutura:

  • AWS gerenciado — Execute em uma infraestrutura gerenciada pelo AWS Transform. Você não precisa provisionar nenhuma infraestrutura.

  • Propriedade do cliente — Execute em sua própria pilha implantada. Conta da AWS Use esse modo quando precisar controlar a configuração de computação, rede ou segurança.

nota

Para executar a análise de segurança, use a infraestrutura de propriedade do cliente. A análise de segurança é executada no Security Agent implantado em sua conta.

Para usar a infraestrutura de propriedade do cliente, abra a guia Configurações. Use os links de AWS CloudFormation criação rápida para implantar as seguintes pilhas em ordem:

  1. AtxDispatcherStack— Expedidor de mensagens (sempre obrigatório).

  2. Pilha de computação — AtxInfrastructureStack (AWS Lote) ou atx-runner (Amazon EC2).

  3. atx-scheduler— Necessário para análises programadas recorrentes.

  4. AtxSecurityAgentStack-<region>— Necessário somente para análise de segurança.

Para configuração de CLI-based provisionamento e rede, consulte. Execução remota

Fluxo de trabalho de introdução

  1. Conectar fontes — Abra a guia Fontes e adicione repositórios deGitHub,GitLab, ouBitbucket.

  2. Executar ou agendar uma análise — Abra a guia Análises, selecione repositórios, escolha um tipo de análise, selecione um modo de infraestrutura e escolha Executar. Para executar em uma cadência recorrente (diária, semanal ou mensal), escolha Agendar em vez disso.

  3. Revise as descobertas — Abra a guia Descobertas para visualizar os resultados por gravidade.

  4. Crie uma remediação — selecione as descobertas e escolha Criar remediação.

  5. Revise os pull requests — Abra a guia Remediações para visualizar os links de relações públicas gerados por repositório.

AWS Converse com o Transform diretamente do aplicativo da web para fazer perguntas sobre suas análises, descobertas ou remediações.