View a markdown version of this page

Arbeiten mit kontinuierlicher Modernisierung - AWS Transformieren

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit kontinuierlicher Modernisierung

Quellenverwaltung

Verwenden Sie atx ct source Befehle, um Repositorys zu verbinden. Unterstützte Anbieter: GitHub GitLab, Bitbucket, local.

GitHub Organisationen

Token: persönliches Zugriffstoken (klassisch) mit repo Gültigkeitsbereich. Read-only zur Analyse, vollständiges Repo zur Problembehebung.

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

GitLab Gruppen und Benutzer

Token: persönliches Zugriffstoken mit api Gültigkeitsbereich.

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

Bitbucket-Arbeitsbereiche und -Projekte

Bitbucket Cloud — Bereiche:read:repository:bitbucket,,,. write:repository:bitbucket read:pullrequest:bitbucket write:pullrequest:bitbucket --emailBraucht auch und. --username

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

Bitbucket-Rechenzentrum:

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

Lokale Repositorys

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

--pathmuss auf ein übergeordnetes Verzeichnis verweisen, das Git-Repos als Unterverzeichnisse enthält, nicht auf ein einzelnes Repo.

Quellen verwalten

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

Erkennung und Verwaltung von Repositorys

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

Nach der Entdeckung:

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"

Analyse wird ausgeführt

Das --type Flag gibt an, welche Art von Analyse ausgeführt werden soll:

  • rapid-techdebt-analysis— Veraltete Abhängigkeiten und einfache Gewinne.

  • tech-debt-comprehensive— Eingehendere AI-powered Analysen zu Abhängigkeiten, Sicherheit, Mustern, Leistung, Wartbarkeit, Architektur, Codequalität und Infrastrukturergebnissen.

  • security— Sicherheitslücken und Sicherheitslücken.

  • agentic-readiness— Bereitschaft Ihrer Repositorys für KI-Agenten (Frameworks, APIs, Dokumentation).

  • modernization-readiness— Modernisierungsmöglichkeiten für Ihre Infrastruktur-, Anwendungs-, Daten-, Sicherheits- und Betriebsbereiche.

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]

Maßgeschneiderte Analyse

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

Konfiguration mit -g Flag: Schlüsselwert, JSON oder Dateipfad.

TDs auflisten: atx custom def list

Verwaltung der Erkenntnisse

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

Status finden

  • open— Aktiv

  • dismissed— Manuell entlassen (erfordert einen Grund)

  • obsolete— System-set wenn eine erneute Analyse das Ergebnis nicht mehr liefert

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

Feststellung der Obsoleszenz

Re-analysis markiert gelöste Ergebnisse als veraltet. Kann nicht erneut geöffnet werden. Zur Prüfung aufbewahrt.

Abhilfemaßnahmen erstellen

Drei Modi: befundbasiert, TD Override, Direct TD.

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

Ausgabe durch den Anbieter: GitHub PR, GitLab MR, Bitbucket PR, lokale Niederlassung.

Anmerkung

Das Token muss für die PR/MR Erstellung Schreibzugriff haben.

Lokale Ausführung mit --local Flag.

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

Ausführung aus der Ferne

Standardmäßig werden Analysen und Problembehebungen auf Ihrem lokalen Computer ausgeführt. Bei größeren Portfolios können Sie die Arbeit auf die Remote-Infrastruktur verlagern. Sie können auf einer AWS Transform-managed Infrastruktur arbeiten, für die nichts bereitgestellt werden muss (nur Analysen), oder auf einer Infrastruktur, die Sie in Ihren AWS-Konto— einer persistenten Amazon EC2-Instance oder AWS Batch-Jobs (Fargate) — bereitstellen und verwalten. Die atx ct remote Befehle stellen die vom Kunden verwaltete Infrastruktur bereit, führen, überwachen und zerstören sie. Unabhängig davon, wo die Ausführung erfolgt, erstellen Sie alle Ressourcen in Ihrem AWS-Konto und Ihr Quellcode bleibt unter Ihrer Kontrolle.

Anmerkung

Durch die Bereitstellung, Aktualisierung und Demontage der Infrastruktur werden AWS CloudFormation Stacks und IAM-Rollen erstellt und geändert. Dazu sind Administratorberechtigungen erforderlich. Geben Sie --ack die Taste zur Bestätigung durch, und überspringen Sie die interaktive Eingabeaufforderung. Bei der Durchführung von Analysen und Abhilfemaßnahmen auf einer bereits bereitgestellten Infrastruktur werden Executor-Richtlinien mit den geringsten Rechten verwendet. Die entsprechenden verwalteten Richtlinien finden Sie unter Tagging und Zugriffskontrolle und zu den Berechnungsoptionen. Wie AWS Transformieren Sie kontinuierliche Modernisierungsarbeiten

Wird ausgeführt am AWS Transform-managed Infrastruktur (keine Bereitstellung)

Um eine Analyse remote durchzuführen, ohne etwas bereitzustellen, verwenden Sie. --mode aws-managed Die Einreichung geht an AWS Transform, das die Analyse auf der AWS Transform-managed Infrastruktur durchführt. Es gibt keinen Stack, der bereitgestellt werden muss, kein Netzwerk, das konfiguriert werden muss, und keine Anmeldeinformationen, die in AWS Secrets Manager gespeichert werden müssen. Die Einreichung ist der Lauf. Wählen Sie die AWS Region aus, in der der Workload ausgeführt wird--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

In diesem Modus werden nur Analysen ausgeführt. Er unterstützt keine Problembehebung, den custom Analysetyp oder lokale Quellen. Da es keinen Stack gibt, gelten die --stack-name --batch-name Optionen--existing-instance,, und nicht. --tags Eine einzelne Einreichung deckt bis zu 100 Repositorys ab. Um größere Bereiche abzudecken, teilen Sie sie auf mehrere Einreichungen mit auf. --repos Im Gegensatz zu Amazon EC2 und Batch Runs überwachen Sie den Fortschritt mit atx ct analysis get anstatt. atx ct remote status

Netzwerk

Remote-Computing muss in privaten Subnetzen ausgeführt werden. Ermitteln Sie vorhandene Netzwerke oder erstellen Sie eine neue VPC, bevor Sie Folgendes bereitstellen:

# 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

Bereitstellen der Infrastruktur

Stellen Sie den Amazon EC2- oder Batch-Stack bereit. Lassen Sie es aus--execute, um eine Vorschau der Vorlage oder des Changesets anzuzeigen, und fügen Sie es hinzu, um es anzuwenden. --execute

Provisioning erstellt den Compute-Stack für den von Ihnen ausgewählten Modus sowie einen Scheduler-Stack:

  • Batch — eine AWS Batch-Job-Warteschlange und eine Rechenumgebung, eine Jobdefinition mit dem Container-Image für die kontinuierliche Modernisierung, IAM-Rollen für die Auftragsausführung und eine Lambda-Funktion für die Auftragsübermittlung. Batch erfordert eine Sicherheitsgruppe.

  • Amazon EC2 — eine persistente Amazon EC2-Instance mit einem IAM-Instanzprofil und einer Sicherheitsgruppe. Wenn Sie dies weglassen--securityGroup, erstellt der Stack eine Sicherheitsgruppe ohne Regeln für eingehenden Datenverkehr. Der Zugriff erfolgt über SSM.

  • Scheduler — ein atx-scheduler Stack (eine Amazon EventBridge Scheduler-Zeitplangruppe und eine Aufrufrolle), der für wiederkehrende Analysen verwendet wird. Pass, --skip-scheduler um dich abzumelden.

# 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

Bild des Containers

Wenn Sie Remoteanalysen und -korrekturen ausführen, werden sie in einem Container-Image ausgeführt. Wenn Sie eine Remote-Umgebung bereitstellen, wird standardmäßig das öffentliche AWS Transform-Image verwendet. public.ecr.aws/d9h8z6l7/aws-transform:latest Batch legt es als Jobdefinitions-Image fest. Amazon EC2 verwendet es als Runner-Image.

Um ein anderes Image auszuführen — zum Beispiel ein privates Amazon ECR-Image, das zusätzliche Sprachen oder Tools bündelt — übergeben Sie Folgendes, wenn Sie es bereitstellen: --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

Speichern der Quell-Anmeldeinformationen

Remote-Container klonen Ihre Repositorys mithilfe von Tokens, die in AWS Secrets Manager gespeichert sind. Registrieren Sie ein Token für jede SCM-Quelle, bevor Sie eine Fernanalyse oder -behebung durchführen:

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

Wird remote ausgeführt

Bei der Remote-Analyse wird ein Container für jedes Repository ausgeführt; bei der Fernkorrektur wird ein Container für jedes Ergebnis ausgeführt. Verwenden Sie--sources, und--repos, --labels um den Fan-Out zu kontrollieren --stack-name und/oder --tags um auszuwählen, welcher bereitgestellte Stack verwendet werden soll.

# 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

Überwachung und Verwaltung von Läufen

# 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

Planung wiederkehrender Analysen

Wird verwendetatx ct schedule, um Analysen automatisch in regelmäßigen Abständen durchzuführen. Sie können Analysen planen, aber keine Korrekturmaßnahmen. Die Joboptionen spiegeln atx ct remote analysis sich wider. Zeitpläne werden remote auf eine von zwei Arten ausgeführt:

  • AWS Transform-managed(--mode aws-managed) — ein serverseitiger Zeitplan, der Analysen der AWS Transform-managed Infrastruktur auslöst. Es gibt keinen EventBridge Amazon-Zeitplan und nichts, was bereitgestellt werden muss. Es erfordert eine Ausführungsrolle (--execution-role), die AWS Transform bei jedem Lauf übernimmt (sieheAusführungsrolle für AWS Transform-managed Fahrpläne).

  • Customer-managed(--mode ec2|batch) — Ein Amazon EventBridge Scheduler-Zeitplan in Ihrem Konto leitet jeden Lauf an eine persistente Amazon EC2-Instance oder einen AWS Batch-Stack weiter, den Sie zuerst bereitstellen (siehe). Ausführung aus der Ferne

Der --recurrence Wert akzeptiert daily weekly:DAY (z. B.weekly:MONDAY), oder monthly:N wobei ein Tag zwischen 1 und 28 N liegt. Die Zeitpläne für die AWS Transform-managed Infrastruktur werden in UTC ausgeführt.

# 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

Um die Analysen anzuzeigen, die ein Zeitplan ausgeführt hatatx ct analysis list --schedule-id schedule-id, verwenden Sie. Dabei werden die vom Zeitplan ausgelösten Läufe zurückgegeben, wobei die neuesten zuerst angezeigt werden.

Um die Scheduler-Rolle und die Zeitplangruppe zu entfernen, die von vom Kunden verwalteten Zeitplänen verwendet werden, führen Sie Folgendes aus. atx ct schedule teardown --execute

Ausführungsrolle für AWS Transform-managed Fahrpläne

Ein mit erstellter Zeitplan --mode aws-managed erfordert einen --execution-role ARN, den AWS Transform bei jeder Ausführung des Zeitplans annimmt. Konfigurieren Sie die Rolle wie folgt:

  • Die Identität, die den Zeitplan erstellt, muss über die iam:PassRole Berechtigung für die Ausführungsrolle verfügen.

  • Die Vertrauensrichtlinie der Rolle muss es dem transform-custom.amazonaws.com Dienstprinzipal ermöglichen, sie zu übernehmen.

  • Der Rolle muss mindestens die AWS verwaltete Richtlinie secretsmanager:GetSecretValue sowie secretsmanager:DescribeSecret Berechtigungen für geheime Schlüssel unter dem atx/* Präfix AWSTransformCustomFullAccess zugeordnet sein, damit bei geplanten Ausführungen die Anmeldeinformationen für den Quell-Clone-Code abgerufen werden können.

Die folgende Inline-Richtlinie gewährt dem AWS Secrets Manager Zugriff, den geplante Läufe zum Abrufen der Quell-Clone-Anmeldeinformationen benötigen. Ordnen Sie sie zusammen mit der AWSTransformCustomFullAccess verwalteten Richtlinie der Ausführungsrolle zu region und account-id ersetzen Sie sie durch die AWS Region und das Konto, in denen der Zeitplan ausgeführt wird.

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

Tagging und Zugriffskontrolle

Mit der Option können Sie Quellen, Analysen und Problembehebungen mit Tags (durch Kommas getrennte key=value Paare) versehen. --tags Tags werden auch in der Remote-Infrastruktur, in gespeicherten Anmeldeinformationen und Netzwerkressourcen unterstützt. Mithilfe von Tags können Sie Ressourcen organisieren. In Kombination mit IAM-Tag-Bedingungen implementieren Tags eine attributbasierte Zugriffskontrolle (ABAC), sodass Teams nur auf die Ressourcen zugreifen, die ihre Tags tragen.

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

Standardmäßig werden Ressourcen mit den von Ihnen definierten Tags versehen. ~/.aws/atx/settings.json Fügen Sie die Tags hinzu, die auf jede Ressource angewendet werden sollenapplyTags, und sie werden zu Ihren Standard-Tags.

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

Die übergebenen Tags --tags werden mit allen konfigurierten Standard-Tags zusammengeführt und --tags gewinnen für jeden Schlüsselsatz an beiden Stellen.

AWS Webanwendung transformieren

Verwenden Sie die AWS Transform-Webanwendung, um Analysen zu erstellen und auszuführen, Ergebnisse zu überprüfen, Abhilfemaßnahmen zu ergreifen und generierte Pull-Requests in Ihren Codequellen zu verfolgen.

Bevor Sie die Webanwendung verwenden, muss Ihre Organisation Ihre Benutzeridentität für den Zugriff auf AWS Transform aktivieren. Weitere Informationen zum Einrichten von AWS Transform finden Sie unter AWS Transform einrichten.

Anmelden

Gehen Sie wie folgt vor, um auf die AWS Transform-Webanwendung zuzugreifen.

  1. Öffnen Sie https://aws.amazon.com/transform/ und melden Sie sich mit den AWS IAM Identity Center-Anmeldeinformationen an.

  2. Wenn keine kontinuierliche Modernisierung angezeigt wird, melden Sie sich stattdessen mit den IAM-Anmeldeinformationen an:

    1. Öffnen Sie in der AWS Management Console AWS Transform und wählen Sie Einstellungen.

    2. Schalten Sie Access AWS Transform mit IAM-Anmeldeinformationen ein.

    3. Kopieren Sie die URL der Webanwendung (mit IAM) und fügen Sie sie in dasselbe Browserfenster ein, in dem die Konsole geöffnet ist.

  3. Öffnen Sie das linke Navigationsmenü und wählen Sie Kontinuierliche Modernisierung.

Infrastrukturmodi

Wenn Sie eine Analyse erstellen, wählen Sie einen der folgenden Infrastrukturmodi:

  • AWS verwaltet — Wird auf einer von AWS Transform verwalteten Infrastruktur ausgeführt. Sie müssen keine Infrastruktur bereitstellen.

  • Eigentum des Kunden — Führen Sie den Betrieb auf einem bereitgestellten Stack in Ihrem eigenen System aus AWS-Konto. Verwenden Sie diesen Modus, wenn Sie die Kontrolle über die Rechen-, Netzwerk- oder Sicherheitskonfiguration benötigen.

Anmerkung

Verwenden Sie zur Durchführung von Sicherheitsanalysen eine kundeneigene Infrastruktur. Die Sicherheitsanalyse wird auf dem Security Agent ausgeführt, der in Ihrem Konto installiert ist.

Um die kundeneigene Infrastruktur zu verwenden, öffnen Sie die Registerkarte Einstellungen. Verwenden Sie die Links zur AWS CloudFormation Schnellerstellung, um die folgenden Stacks der Reihe nach bereitzustellen:

  1. AtxDispatcherStack— Nachrichten-Dispatcher (immer erforderlich).

  2. Stapel berechnen — AtxInfrastructureStack (AWS Batch) oder atx-runner (Amazon EC2).

  3. atx-scheduler— Erforderlich für wiederkehrende geplante Analysen.

  4. AtxSecurityAgentStack-<region>— Nur für Sicherheitsanalysen erforderlich.

Informationen zur CLI-based Bereitstellung und Netzwerkkonfiguration finden Sie unterAusführung aus der Ferne.

Arbeitsablauf „Erste Schritte“

  1. Quellen verbinden — Öffnen Sie den Tab Quellen und fügen Sie Repositorys von GitHubGitLab, oder Bitbucket hinzu.

  2. Analyse ausführen oder planen — Öffnen Sie die Registerkarte Analysen, wählen Sie Repositorys aus, wählen Sie einen Analysetyp, wählen Sie einen Infrastrukturmodus und wählen Sie Ausführen. Um die Ausführung in regelmäßigen Abständen (täglich, wöchentlich oder monatlich) durchzuführen, wählen Sie stattdessen „Planen“.

  3. Ergebnisse überprüfen — Öffnen Sie die Registerkarte Ergebnisse, um die Ergebnisse nach Schweregrad anzuzeigen.

  4. Problembehebung erstellen — Wählen Sie die Ergebnisse aus und klicken Sie auf Problembehebung erstellen.

  5. Pull Requests überprüfen — Öffne den Tab Remediations, um generierte PR-Links pro Repository anzuzeigen.

Chatten Sie direkt von der Webanwendung aus mit AWS Transform, um Fragen zu Ihren Analysen, Ergebnissen oder Abhilfemaßnahmen zu stellen.