View a markdown version of this page

AWS Transformez la modernisation continue - AWS Transformation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS Transformez la modernisation continue

Qu'est-ce que AWS Transformer la modernisation continue ?

AWS Transform La modernisation continue permet d'analyser et de corriger vos référentiels de code source. Vous pouvez connecter GitHub des organisations, des GitLab groupes, des espaces de travail Bitbucket et des référentiels locaux, puis exécuter des analyses automatisées pour identifier les dettes techniques, les failles de sécurité, les opportunités de modernisation et le niveau de préparation des agents dans l'ensemble de votre base de code.

Toutes les analyses et corrections sont effectuées dans votre ordinateur à Compte AWS l'aide de vos informations d'identification. Votre code source reste sous votre contrôle.

Note

Nous vous recommandons de commencer par le plugin Kiro Power ou agent. La compétence de l'agent orchestre la configuration, l'intégration et l'utilisation continue de la modernisation continue, notamment le provisionnement de l'infrastructure, la configuration des sources, l'exécution des analyses, le triage des résultats et la correction. Pour obtenir des instructions d’installation, consultez Outils pour développeurs.

Capacités clés

AWS La modernisation continue de Transform fournit les fonctionnalités suivantes :

  • Analyse de la dette technologique : analysez les référentiels pour détecter les dépendances obsolètes, les vulnérabilités de sécurité, les problèmes de qualité du code et les opportunités de modernisation. Exécutez des scans rapides pilotés par des agents sur les manifestes de colis ou effectuez une analyse complète au niveau du code. Définissez des critères d'analyse personnalisés à l'aide de définitions de transformation adaptées à votre environnement.

  • Remédiation autonome : générez des pull requests validées à grande échelle. Chaque résultat peut être corrigé automatiquement à l'aide de la définition de transformation associée. La correction crée des branches et s'ouvre PRs/MRs automatiquement entre GitHub GitLab, et Bitbucket.

  • Rapports : générez des rapports HTML présentant les résultats par gravité, par référentiel et par type d'analyse. Suivez les progrès des mesures correctives et trouvez des solutions au fil du temps.

  • Surveillance continue : planifiez des analyses récurrentes pour surveiller en permanence votre portefeuille afin de détecter de nouveaux problèmes. Exécutez-les sur une AWS Transform-managed infrastructure sans configuration, ou sur une pile Amazon EC2 ou Batch provisionnée à l'aide d'Amazon EventBridge Scheduler. Configurez des cadences quotidiennes, hebdomadaires ou mensuelles.

Types d'analyses

AWS Transform Continuous Modernization prend en charge les types d'analyse suivants pour répondre à vos besoins de modernisation.

Type Description
rapid-techdebt-analysis Analyse rapide des manifestes de packages (pom.xml,package.json,requirements.txt) à l'aide de l'agent AWS Transform pour identifier les versions périmées et les dépendances obsolètes. N'analyse pas le code source.
tech-debt-comprehensive Analyse approfondie de la dette technique au niveau du code à l'aide de l'agent AWS Transform. Examine le code source pour identifier les modèles d'endettement, les problèmes de qualité du code, les problèmes d'architecture et les opportunités d'amélioration.
security Tests statiques de sécurité des applications (SAST) à l'aide de l'agent AWS de sécurité. Analyse le code source pour détecter les modèles de codage non sécurisés tels que l'injection SQL, les secrets codés en dur et la désérialisation non sécurisée. Nécessite une configuration d'infrastructure unique.
agentic-readiness Évaluation du niveau de préparation à l'intégration de l'IA et des agents. Note 56 critères répartis dans cinq catégories : infrastructure et plateforme, architecture des applications Identity/Security/Governance, fondements des données et opérations et observabilité.
modernization-readiness Évaluation des opportunités de modernisation du cloud. Évalue le niveau de préparation en termes d'infrastructure, d'application, de données, de sécurité et d'opérations. Identifie les candidats à la conteneurisation, à la migration sans serveur et aux mises à niveau de plate-forme.
custom Exécutez l'une de vos propres définitions de transformation sous forme d'analyse dans laquelle chaque problème décrit est signalé sous forme de résultat, qui peut être lié à une transformation AWS gérée qui le corrige.

Comprendre les concepts clés

Sources

Une source indique où se trouvent vos référentiels lors de la modernisation continue. Types de sources pris en charge :

  • GitHub— Organisations dotées de jetons d'accès personnels (classique)

  • GitLab— Groupes ou utilisateurs, y compris les instances auto-hébergées

  • Bitbucket — Espaces de travail (cloud) ou projets (centre de données)

  • Local — Répertoires parents contenant des référentiels git

Référentiels

Les référentiels sont découverts en analysant les sources. Après la découverte, vous pouvez filtrer par source, étiquettes ou autres critères, appliquer des libellés par organisation (équipe, priorité, vague de migration) et cibler des référentiels spécifiques à des fins d'analyse ou de correction.

Analyses

Une analyse consiste à scanner un ou plusieurs référentiels à l'aide d'un type d'analyse spécifique. Chaque analyse produit des résultats qui identifient les problèmes dans votre code. Vous pouvez exécuter des analyses à la demande ou planifier leur exécution automatique. Les types d'analyse incluent l'analyse rapide de la dette technologique, l'analyse complète de la dette technologique, la sécurité, la préparation aux agences, la préparation à la modernisation et la personnalisation. Chaque analyse suit son statut (en attente, en cours, terminée, annulée ou ayant échoué) et les référentiels analysés.

Résultats

Les résultats sont les résultats de l'analyse. Chaque constatation inclut la gravité (élevée, moyenne ou faible), le statut (ouvert, rejeté ou obsolète) et la transformation corrective qui peut y remédier (si elle est réparable automatiquement). Les nouvelles découvertes commencent comme ouvertes, et les utilisateurs peuvent les ignorer pour une raison. Re-analysis marque automatiquement les résultats résolus comme obsolètes.

Assainissements

Les mesures correctives appliquent des définitions de transformation pour corriger les résultats. Trois modes : basé sur les résultats (chaque résultat utilise sa propre transformation de correction), TD override (remplacement de la définition de transformation pour les résultats spécifiés) et TD direct (exécution d'une transformation sur un référentiel sans résultats). La sortie dépend du fournisseur source (GitHub PR, GitLab MR, Bitbucket PR ou branche locale).

Définitions des transformations

Une définition de transformation contient les instructions et les connaissances nécessaires pour effectuer une transformation de code spécifique. Il en existe deux types :

  • AWS les définitions de transformation gérée sont prédéfinies et validées AWS, et sont prêtes à être utilisées sans aucune configuration. Leurs noms commencent parAWS/, par exempleAWS/java-version-upgrade. Les résultats sont liés à eux en tant que solution.

  • Les définitions de transformation personnalisées sont celles que vous créez et publiez dans le registre des transformations de votre Compte AWS. Utilisez-les pour rechercher vos propres problèmes grâce à une analyse personnalisée ou pour apporter vos propres modifications grâce à une correction.

La catégorie d'une définition de transformation détermine où elle peut être utilisée : l'analyse personnalisée exécute les définitions de transformation avec la analysis catégorie, et la correction exécute les définitions de transformation avec la remediation catégorie ou les transformations AWS gérées. Pour plus d’informations, consultez Catégories de définition de transformation.

Comment ? AWS Transformez les travaux de modernisation continue

AWS Transform La modernisation continue est généralement utilisée dans les projets de grande envergure où plusieurs bases de code nécessitent une analyse et une correction continues. Les équipes suivent généralement ce flux de travail :

  1. Connect Sources : ajoutez GitHub des organisations, des GitLab groupes, des espaces de travail Bitbucket ou des annuaires locaux en tant que sources. Fournissez des jetons d'authentification avec des étendues appropriées.

  2. Découverte des référentiels : exécutez des analyses de découverte pour énumérer tous les référentiels de vos sources. Utilisez des étiquettes pour organiser les référentiels par équipe, par priorité ou par vague de migration.

  3. Exécuter une analyse : exécutez des analyses sur l'ensemble de votre portefeuille. Choisissez des scans rapides pour des résultats rapides ou une analyse complète pour des résultats détaillés. L'analyse de sécurité nécessite une configuration unique de l'infrastructure.

  4. Résultats du triage : passez en revue les résultats par gravité, par référentiel ou par type d'analyse. Rejetez les faux positifs avec des raisons documentées. Re-runanalyse pour marquer les problèmes résolus comme obsolètes.

  5. Corriger : créez des corrections pour corriger les résultats. La modernisation continue crée automatiquement des succursales et ouvre pull/merge les demandes avec les correctifs. Suivez l'état des mesures correctives et recommencez les échecs.

  6. Configurer une analyse continue : planifiez des analyses récurrentes à l'aide atx ct schedule des commandes, qui utilisent Amazon EventBridge Scheduler. Configurez la cadence d'analyse (quotidienne, hebdomadaire ou mensuelle) pour surveiller en permanence votre portefeuille afin de détecter les nouveaux problèmes. Associez-le à la correction automatique pour maintenir l'intégrité du code au fil du temps.

Options de calcul

La modernisation continue prend en charge plusieurs options de calcul pour exécuter des analyses et des mesures correctives. Les analyses peuvent être exécutées localement, sur l'infrastructure que vous fournissez et gérez dans votre Compte AWS (Amazon EC2 ou AWS Batch), ou sur une AWS Transform-managed infrastructure qui ne nécessite aucune configuration. Les compétences d'agent de Kiro Power et le plugin agent vous aident à configurer chaque option.

Note

Quelle que soit l'option de calcul, vous créez et possédez toutes les ressources que vous Compte AWS utilisez à l'aide de vos informations d'identification, et votre code source reste sous votre contrôle. L'infrastructure qui exécute les analyses et les mesures correctives est soit gérée par le client (c'est-à-dire une pile que vous fournissez dans votre compte) AWS Transform-managed, soit par une infrastructure qui AWS gère le calcul pour vous et qu'il n'y a rien à provisionner.

Local (par défaut)

Par défaut, les analyses sont exécutées sur votre machine locale. Cette option ne nécessite aucune infrastructure supplémentaire. Le serveur s'exécute localement et exécute des analyses à l'aide de ressources informatiques locales. Idéal pour essayer l'outil, pour de petits référentiels ou pour une utilisation individuelle.

AWS Transform-managed (aucune infrastructure à fournir)

Exécutez des analyses sur AWS Transform-managed l'infrastructure sans provisionner ni gérer de stack. Vous soumettez ensuite l'analyse à AWS Transform, qui l'exécute sur une infrastructure AWS exploitée. --mode aws-managed Il n'existe aucune instance Amazon EC2, aucune pile AWS Batch, aucun VPC ou sous-réseau à configurer. Il n'y a rien à approvisionner ou à démolir : la soumission, c'est la fuite. C'est le moyen le plus rapide d'exécuter à distance lorsque vous ne souhaitez gérer aucune infrastructure.

Cette option nécessite une source hébergée sur un fournisseur SCM compatible (GitHub,GitLab, ouBitbucket). AWS Transform-managed l'infrastructure ne prend pas en charge les sources locales car elle ne peut pas accéder aux référentiels de votre machine. Vous pouvez choisir la AWS région dans laquelle la charge de travail s'exécute à l'aide de l'--regionoption.

AWS Transform-managed l'infrastructure exécute uniquement des analyses. Pour la correction ou pour exécuter une définition de transformation personnalisée (--type custom), utilisez AWS Batch ou Amazon EC2.

Pour exécuter sur une AWS Transform-managed infrastructure, utilisez la atx ct remote analysis --mode aws-managed commande (voirExécution à distance) ou installez le plug-in Kiro Power ou l'agent (voirOutils pour développeurs) et demandez à l'agent : « Exécutez mon analyse AWS sans infrastructure ». Une analyse récurrente de AWS Transform-managed l'infrastructure nécessite un rôle d'exécution (voirPlanification d'analyses récurrentes).

Vous pouvez également lancer une analyse de l' AWS Transform-managed infrastructure à partir de la page de modernisation continue de l'application Web AWS Transform (voirAWS Transformer une application Web).

AWS Batch (Fargate) (recommandé)

Pour la plupart des portefeuilles, vous pouvez exécuter des analyses sur AWS Batch avec Fargate, qui est l'option de calcul recommandée. Chaque analyse s'exécute en tant que tâche isolée dans son propre conteneur avec calcul sans serveur. Il n'y a donc pas d'infrastructure permanente à gérer, et les tâches évoluent pour permettre l'analyse parallèle de plusieurs sources ou types d'analyse.

Le provisionnement déploie l'infrastructure requise, notamment :

  • AWS File d'attente des tâches par lots et environnement de calcul

  • Définition du job à l'aide de l'image du conteneur de modernisation continue

  • Rôles IAM pour l'exécution de tâches par lots

  • Une fonction Lambda pour la soumission de tâches

L'infrastructure de provisionnement nécessite des autorisations d'administrateur. Pour exécuter des analyses et des corrections sur une pile Batch déjà provisionnée avec le moins de privilèges, associez AWS la politique gérée. AWSTransformInfrastructureExecutorAccessBatch

Pour configurer l'exécution par lots, utilisez directement les atx ct remote commandes (voirExécution à distance), ou installez le plug-in Kiro Power ou l'agent (voirOutils pour développeurs) et demandez à l'agent : « Exécuter mon analyse sur Fargate » ou « Configurer l'exécution par lots pour une modernisation continue ». L'agent déploie la pile, stocke vos informations d'identification source dans Secrets Manager et soumet les tâches d'analyse à AWS Batch.

Amazon Amazon EC2

Exécutez des analyses sur une instance Amazon EC2 persistante dans votre. Compte AWS Cette option décharge le calcul de votre machine locale, prend en charge des analyses de plus grande envergure et permet des analyses planifiées récurrentes. L'instance continue de fonctionner entre les soumissions.

Le provisionnement déploie une AWS CloudFormation pile qui inclut :

  • Une instance Amazon EC2 (Amazon Linux 2023) avec Docker et le conteneur de modernisation continue

  • Un rôle IAM avec des autorisations pour AWS Transform, Amazon S3, AWS KMS, Secrets Manager et l'agent de sécurité

  • AmazonSSMManagedInstanceCorepour l'accès au shell via SSM (aucune paire de clés SSH ni aucun port entrant requis)

  • Un groupe de sécurité sans règles de trafic entrant

L'infrastructure de provisionnement nécessite des autorisations d'administrateur pour la gestion du cycle de vie d'Amazon EC2 AWS CloudFormation , les opérations de stack, la création de rôles IAM, les opérations de compartiment Amazon S3, la gestion secrète de Secrets Manager et les commandes SSM. Pour exécuter des analyses et des corrections sur une pile Amazon EC2 déjà provisionnée avec le moins de privilèges, joignez la politique gérée. AWS AWSTransformInfrastructureExecutorAccessEC2

Pour configurer l'exécution d'Amazon EC2, utilisez directement les atx ct remote commandes (voirExécution à distance), ou installez le plug-in Kiro Power ou l'agent (voirOutils pour développeurs) et demandez à l'agent : « Configurer une instance EC2 pour une analyse de modernisation continue ». L'agent approvisionne l'infrastructure, vérifie que le conteneur est sain et soumet vos analyses via SSM, aucun SSH n'est requis.

Configuration de l'agent de sécurité

Le type d'securityanalyse utilise le service AWS Security Agent pour les tests statiques de sécurité des applications (SAST) de votre code source. Contrairement aux autres types d'analyse, il nécessite une configuration d'infrastructure unique dans votre Compte AWS.

Note

Le type d'securityanalyse n'est pas disponible dans les régions suivantes : Canada (Centreca-central-1) (), Europe (Londreseu-west-2) () et Asie-Pacifique (Séoul) (ap-northeast-2). Les autres types d'analyse ne sont pas affectés.

La commande de configuration fournit une AWS CloudFormation pile qui inclut :

  • Un compartiment Amazon S3 pour le téléchargement du code source

  • Un rôle IAM assumé par securityagent.amazonaws.com

  • Une politique gérée pour le rôle d'agent de sécurité

Pour exécuter des analyses de sécurité avec le moins de privilèges après l'installation, associez la politique AWS gérée AWSTransformSecurityAgentExecutorAccess à votre utilisateur ou à votre rôle IAM.

Votre utilisateur ou rôle IAM doit disposer des autorisations supplémentaires suivantes pour exécuter l'installation :

  • cloudformation:CreateStack, cloudformation:UpdateStack, cloudformation:DescribeStacks

  • iam:CreateRole, iam:PutRolePolicy, iam:AttachRolePolicy, iam:CreatePolicy

  • s3:CreateBucket, s3:PutBucketEncryption, s3:PutBucketPublicAccessBlock

Utilisez les commandes suivantes pour gérer l'infrastructure des agents de sécurité :

# Provision the security agent infrastructure atx ct setup security-agent # Check the status atx ct setup security-agent --status # Delete the infrastructure atx ct setup security-agent --delete

Une fois l'installation terminée, vous pouvez exécuter des analyses de sécurité de la même manière que les autres types d'analyse.