View a markdown version of this page

Trabajando con una modernización continua - AWS Transformar

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.

Trabajando con una modernización continua

Administración de fuentes

Usa atx ct source comandos para conectar los repositorios. Proveedores compatibles: GitHub, Bitbucket GitLab, local.

GitHub organizaciones

Token: token de acceso personal (clásico) con repo alcance. Read-only para su análisis, repositorio completo para su corrección.

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

GitLab grupos y usuarios

Token: token de acceso personal con api alcance.

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

Espacios de trabajo y proyectos de Bitbucket

Bitbucket Cloud: ámbitos:read:repository:bitbucket,,,. write:repository:bitbucket read:pullrequest:bitbucket write:pullrequest:bitbucket También necesita --email y. --username

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

Centro de datos de Bitbucket:

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

Repositorios locales

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

--pathdebe apuntar a un directorio principal que contenga repositorios de git como subdirectorios, no a un único repositorio.

Administrar las fuentes

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

Descubrimiento y administración de repositorios

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

Tras el descubrimiento:

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álisis en ejecución

La --type marca especifica el tipo de análisis que se va a ejecutar:

  • rapid-techdebt-analysis— Dependencias anticuadas y ganancias fáciles.

  • tech-debt-comprehensive— AI-powered Un análisis más profundo que abarca las conclusiones sobre la dependencia, la seguridad, los patrones, el rendimiento, la capacidad de mantenimiento, la arquitectura, la calidad del código y la infraestructura.

  • security— Vulnerabilidades y exposiciones de seguridad.

  • agentic-readiness— Preparación de sus repositorios para los agentes de IA (marcos, API, documentación).

  • modernization-readiness— Oportunidades de modernización en todas las dimensiones de su infraestructura, aplicaciones, datos, seguridad y operaciones.

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álisis personalizado

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

Configuración con -g indicador: clave-valor, JSON o ruta de archivo.

Lista de TDs: atx custom def list

Administración de resultados

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

Búsqueda de estados

  • open— Activo

  • dismissed— Descartado manualmente (requiere un motivo)

  • obsolete— System-set cuando el nuevo análisis ya no arroja el resultado

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

¿Descubriendo la obsolescencia

Re-analysis marca los hallazgos resueltos como obsoletos. No se puede volver a abrir. Conservado para su auditoría.

Creación de soluciones

Tres modos: basado en hallazgos, anulación de TD, TD directo.

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

Salida por proveedor: GitHub PR, GitLab MR, Bitbucket PR, sucursal local.

nota

El token debe tener acceso de escritura para poder PR/MR crearlo.

Ejecución local con --local bandera.

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

Ejecución remota

De forma predeterminada, los análisis y las soluciones se ejecutan en su máquina local. Para carteras más grandes, puede transferir el trabajo a una infraestructura remota. Puede trabajar en una AWS Transform-managed infraestructura que no tenga nada que aprovisionar (solo para análisis) o en Cuenta de AWS una infraestructura que aprovisione y administre en sus trabajos de instancia o AWS lotes persistentes de Amazon EC2 (Fargate). Los atx ct remote comandos aprovisionan, ejecutan, supervisan y destruyen la infraestructura gestionada por el cliente. Independientemente de dónde se ejecute, usted crea todos sus recursos Cuenta de AWS y el código fuente permanece bajo su control.

nota

El aprovisionamiento, la actualización y el desmantelamiento de la infraestructura crean y modifican las AWS CloudFormation pilas y las funciones de IAM, y requieren permisos de administrador. Pase --ack para confirmarlo y omita el mensaje interactivo. La ejecución de análisis y correcciones en una infraestructura ya aprovisionada utiliza políticas ejecutoras con los privilegios mínimos. Consulte las opciones de procesamiento para las políticas Etiquetado y control de acceso administradas involucradas. Cómo AWS Transforme las obras de modernización continua

¿Se está ejecutando AWS Transform-managed infraestructura (sin aprovisionamiento)

Para ejecutar un análisis de forma remota sin aprovisionar nada, utilice. --mode aws-managed El envío va a AWS Transform, que ejecuta el análisis en la AWS Transform-managed infraestructura. No hay ninguna pila que aprovisionar, ninguna red que configurar ni credenciales que almacenar en AWS Secrets Manager. El envío es la ejecución. Elija la AWS región en la que se ejecuta la carga de trabajo--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

Este modo solo ejecuta análisis. No admite la corrección, el tipo de custom análisis ni las fuentes locales. Como no hay ninguna pila, las --batch-name opciones --stack-name--tags,--existing-instance, y no se aplican. Una sola presentación cubre hasta 100 repositorios. Para cubrir ámbitos más amplios, divídalos en varias presentaciones con. --repos A diferencia de Amazon EC2 y las ejecuciones por lotes, usted monitoriza el progreso con atx ct analysis get en lugar de hacerlo. atx ct remote status

Red

La computación remota debe ejecutarse en subredes privadas. Descubra las redes existentes o cree una VPC nueva antes de aprovisionar:

# 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

Aprovisionamiento de la infraestructura

Implemente Amazon EC2 o Batch Stack. Omita la vista previa --execute de la plantilla o el conjunto de cambios; --execute agréguelos para aplicarlos.

El aprovisionamiento crea la pila de procesamiento para el modo que elijas, además de una pila de planificadores:

  • Lote: un entorno de procesamiento y cola de trabajos AWS por lotes, una definición de trabajo con la imagen del contenedor de modernización continua, funciones de IAM para la ejecución de los trabajos y una función de Lambda para el envío de los trabajos. Batch requiere un grupo de seguridad.

  • Amazon EC2: una instancia Amazon EC2 persistente con un perfil de instancia de IAM y un grupo de seguridad. Si lo omites--securityGroup, la pila crea un grupo de seguridad sin reglas de entrada; el acceso se realiza mediante SSM.

  • Programador: una atx-scheduler pila (un grupo de programación y un rol de invocación de Amazon EventBridge Scheduler) que se utiliza en los análisis periódicos. Pase para --skip-scheduler excluirse.

# 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

Imagen de contenedor

Cuando se realizan análisis y correcciones remotos, se ejecutan dentro de una imagen de contenedor. De forma predeterminada, al aprovisionar un entorno remoto, este utiliza la imagen de AWS transformación pública. public.ecr.aws/d9h8z6l7/aws-transform:latest La establece por lotes como la imagen de definición del trabajo. Amazon EC2 la usa como imagen del ejecutor.

Para ejecutar una imagen diferente (por ejemplo, una imagen privada de Amazon ECR que incluya idiomas o herramientas adicionales), pase lo siguiente al aprovisionar: --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

Almacenamiento de las credenciales de origen

Los contenedores remotos clonan tus repositorios mediante los tokens almacenados en AWS Secrets Manager. Registra un token para cada fuente de SCM antes de ejecutar el análisis o la corrección remotos:

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

Se ejecuta de forma remota

El análisis remoto ejecuta un contenedor para cada repositorio; la remediación remota ejecuta un contenedor para cada hallazgo. --sources--reposUtilícelo y --labels para controlar la distribución en abanico --stack-name o --tags para seleccionar qué pila aprovisionada utilizar.

# 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

Supervisión y administración de las ejecuciones

# 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

Programación de análisis recurrentes

Se usa atx ct schedule para ejecutar análisis automáticamente con una cadencia recurrente. Puede programar los análisis, pero no las correcciones. Las opciones de trabajo se reflejan. atx ct remote analysis Los horarios se ejecutan de forma remota, de dos maneras:

  • AWS Transform-managed(--mode aws-managed): un cronograma del lado del servidor que activa los análisis de la AWS Transform-managed infraestructura. Amazon no tiene un EventBridge cronograma ni nada que aprovisionar. Requiere un rol de ejecución (--execution-role) que AWS Transform asume en cada ejecución (consulteRol de ejecución para AWS Transform-managed horarios).

  • Customer-managed(--mode ec2|batch): una programación de Amazon EventBridge Scheduler en su cuenta envía cada ejecución a una instancia o pila de AWS lotes persistente de Amazon EC2 que usted aprovisiona primero (consulte). Ejecución remota

El --recurrence valor acepta daily weekly:DAY (por ejemploweekly:MONDAY) o si N es un día monthly:N comprendido entre 1 y 28. Los horarios de AWS Transform-managed la infraestructura se ejecutan en 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 ver los análisis que ha realizado un cronograma, utiliceatx ct analysis list --schedule-id schedule-id, que devuelve las ejecuciones activadas por el cronograma, las más recientes primero.

Para eliminar la función de programador y el grupo de programación que utilizan las programaciones administradas por el cliente, ejecute. atx ct schedule teardown --execute

Rol de ejecución para AWS Transform-managed horarios

Una programación creada con --mode aws-managed requiere un --execution-role ARN que AWS Transform asume cada vez que se ejecuta la programación. Configure el rol de la siguiente manera:

  • La identidad que crea la programación debe tener iam:PassRole permiso para desempeñar la función de ejecución.

  • La política de confianza del rol debe permitir que el director del transform-custom.amazonaws.com servicio lo asuma.

  • Como mínimo, el rol debe tener AWSTransformCustomFullAccess adjunta la política AWS gestionada secretsmanager:GetSecretValue y secretsmanager:DescribeSecret los permisos sobre los secretos bajo el atx/* prefijo para que las ejecuciones programadas puedan recuperar las credenciales del clon de origen.

La siguiente política integrada otorga al administrador de AWS secretos el acceso que necesitan las ejecuciones programadas para recuperar las credenciales del clon de origen. Adjúntela a la función de ejecución junto con la política AWSTransformCustomFullAccess gestionada, region sustituyéndola account-id por la AWS región y la cuenta en las que se ejecuta la programación.

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

Etiquetado y control de acceso

Puede aplicar etiquetas (key=valuepares separados por comas) a las fuentes, los análisis y las soluciones con esta opción. --tags Las etiquetas también se admiten en la infraestructura remota, las credenciales almacenadas y los recursos de red. Con las etiquetas, puede organizar los recursos. En combinación con las condiciones de etiqueta de IAM, las etiquetas implementan el control de acceso basado en atributos (ABAC) para que los equipos accedan solo a los recursos que contienen sus etiquetas.

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

De forma predeterminada, los recursos se etiquetan con las etiquetas que usted defina. ~/.aws/atx/settings.json Agregue las etiquetas que desee aplicar a cada recurso y applyTags se convertirán en las etiquetas predeterminadas.

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

Las etiquetas con --tags las que se pasen se fusionarán con las etiquetas predeterminadas configuradas y --tags ganarán para cualquier conjunto de claves en ambos lugares.

AWS Transforma la aplicación web

Utilice la aplicación web AWS Transform para crear y ejecutar análisis, revisar los hallazgos, crear soluciones y realizar un seguimiento de las solicitudes de incorporación de cambios generadas en sus fuentes de código.

Antes de usar la aplicación web, su organización debe habilitar su identidad de usuario para acceder a AWS Transform. Para obtener más información sobre la configuración de AWS Transform, consulte Configurar AWS Transform.

Inicie sesión

Para acceder a la aplicación web AWS Transform, complete los pasos siguientes.

  1. Abra https://aws.amazon.com/transform/ e inicie sesión con las credenciales AWS del IAM Identity Center.

  2. Si no aparece la modernización continua, inicie sesión con las credenciales de IAM:

    1. En la consola AWS de administración, abra AWS Transform y seleccione Configuración.

    2. Active Access AWS Transform con las credenciales de IAM.

    3. Copie la URL de la aplicación web (con IAM) y péguela en la misma ventana del navegador en la que está abierta la consola.

  3. Abra el menú de navegación de la izquierda y seleccione Modernización continua.

Modos de infraestructura

Al crear un análisis, elija uno de los siguientes modos de infraestructura:

  • AWS administrado: se ejecuta en una infraestructura administrada por AWS Transform. No necesita aprovisionar ninguna infraestructura.

  • Propiedad del cliente: ejecútelo en una pila implementada por su cuenta Cuenta de AWS. Utilice este modo cuando necesite controlar la configuración informática, de red o de seguridad.

nota

Para ejecutar el análisis de seguridad, utilice la infraestructura propiedad del cliente. El análisis de seguridad se ejecuta en el Security Agent implementado en su cuenta.

Para usar la infraestructura propiedad del cliente, abra la pestaña Configuración. Utilice los enlaces de AWS CloudFormation creación rápida para implementar las siguientes pilas en orden:

  1. AtxDispatcherStack— Despachador de mensajes (siempre obligatorio).

  2. Pila de procesamiento: AtxInfrastructureStack (AWS por lotes) o atx-runner (Amazon EC2).

  3. atx-scheduler— Necesario para los análisis programados periódicos.

  4. AtxSecurityAgentStack-<region>— Solo se requiere para el análisis de seguridad.

Para obtener información CLI-based sobre el aprovisionamiento y la configuración de redes, consulteEjecución remota.

Flujo de trabajo de introducción

  1. Conectar fuentes: abra la pestaña Fuentes y agregue repositorios desde GitHubGitLab, o. Bitbucket

  2. Ejecute o programe un análisis: abra la pestaña Análisis, seleccione los repositorios, elija un tipo de análisis, seleccione un modo de infraestructura y elija Ejecutar. Para ejecutarlo con una cadencia recurrente (diaria, semanal o mensual), elija Programar en su lugar.

  3. Revisa los resultados: abre la pestaña Hallazgos para ver los resultados por gravedad.

  4. Crear una solución: seleccione los hallazgos y elija Crear solución.

  5. Revise las solicitudes de extracción: abra la pestaña Remediaciones para ver los enlaces de relaciones públicas generados por repositorio.

Hable con AWS Transform directamente desde la aplicación web para hacer preguntas sobre sus análisis, hallazgos o soluciones.