翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
継続的なモダナイゼーションの使用
ソース管理
atx ct source コマンドを使用してリポジトリを接続します。サポートされているプロバイダー: GitHub、GitLab、Bitbucket、local。
GitHub 組織
トークン: repoスコープを持つ個人用アクセストークン (クラシック)。分析には読み取り専用、修復には完全なリポジトリ。
atx ct source add --namename--provider github --orgorg--tokenpat
GitLab グループとユーザー
トークン: apiスコープを持つ個人用アクセストークン。
atx ct source add --namename--provider gitlab --orggroup-or-user--tokenpat# Self-hosted: atx ct source add --namename--provider gitlab --orggroup-or-user--tokenpat--url https://gitlab.example.com
Bitbucket ワークスペースとプロジェクト
Bitbucket Cloud — スコープ: read:repository:bitbucket、write:repository:bitbucket、read:pullrequest:bitbucket、write:pullrequest:bitbucket。また、 --emailと も必要です--username。
atx ct source add --namename--provider bitbucket --orgworkspace--tokenapi-token--emailusername
Bitbucket データセンター:
atx ct source add --namename--provider bitbucket --orgproject-key--tokenhttp-access-token--url https://bitbucket.example.com
ローカルリポジトリ
atx ct source add --namename--provider local --pathparent-directory
重要
--path は、単一のリポジトリではなく、git リポジトリをサブディレクトリとして含む親ディレクトリを指す必要があります。
ソースの管理
atx ct source list atx ct source remove --namename
リポジトリの検出と管理
atx ct discovery scan --sourcenameatx ct discovery status --sourcenameatx ct discovery scan --sourcename--pathnew-directory
検出後:
atx ct repository list atx ct repository list --sourcenameatx ct repository list --labels "team:frontend,priority:high" atx ct repository update --sourcename--repo "source::repo" --labels "team:frontend,priority:high" atx ct repository update --sourcename--labels "migration:wave-1"
分析の実行
--type フラグは、実行する分析の種類を指定します。
rapid-techdebt-analysis– 古い依存関係と簡単な成功。tech-debt-comprehensive– 依存関係、セキュリティ、パターン、パフォーマンス、保守性、アーキテクチャ、コード品質、インフラストラクチャの検出結果をカバーする、より詳細な AI を活用した分析。security– セキュリティの脆弱性と露出。agentic-readiness– AI エージェント用のリポジトリの準備状況 (フレームワーク、APIs、ドキュメント)。modernization-readiness– インフラストラクチャ、アプリケーション、データ、セキュリティ、運用の各側面にわたるモダナイゼーションの機会。
atx ct analysis run --typetype--sourcename[--reposource::repo] [--wait] atx ct analysis get --idid--json atx ct analysis list --json atx ct analysis list --statuspending|running|complete|cancelled|failed--json atx ct analysis list --typetype--json atx ct analysis cancel --ididatx ct analysis delete --idid[--cascade-findings]
カスタム分析
atx ct analysis run --type custom --transformation-namename--sourcesource--reposource::repo--wait
-g フラグ付き設定: key-value、JSON、またはファイルパス。
TDs一覧表示する: atx custom def list
検出結果の管理
atx ct findings list --json atx ct findings list --reposource::repo--sourcename--severityhigh|medium|low--typeanalysis-type--statusopen|dismissed|obsolete--analysis-idid--fix-transformtransform-name--json
検出結果のステータス
open— アクティブdismissed— 手動で却下 (理由が必要)obsolete— 再分析で結果が生成されなくなった場合のシステムセット
atx ct findings update --idid--status dismissed --reason "reason" atx ct findings update --idid--status open atx ct findings batch-update --idsid1,id2--status dismissed --reason "reason" atx ct findings get --ididatx ct findings delete --idid
廃止の検出
再分析では、解決された検出結果は古いものとしてマークされます。再度開くことはできません。監査のために保持されます。
修復の作成
3 つのモード: 検出結果ベース、TD オーバーライド、直接 TD。
atx ct remediation create --idsid1,id2--name "name" atx ct remediation create --idsid1,id2--transformation-nameTDatx ct remediation create --transformation-nameTD--reposource::repo
プロバイダー別の出力: GitHub PR、GitLab MR、Bitbucket PR、Local ブランチ。
注記
トークンには、PR/MR 作成用の書き込みアクセス権が必要です。
--local フラグ付きのローカル実行。
atx ct remediation create --transformation-nameTD--reposource::repo-g "additionalPlanContext=Upgrade to Node.js 22" atx ct remediation list atx ct remediation status --ididatx ct remediation retry --ididatx ct remediation cancel --ididatx ct remediation delete --idid
リモート実行
デフォルトでは、分析と修復はローカルマシンで実行されます。大規模なポートフォリオでは、リモートインフラストラクチャに作業をオフロードできます。Transform AWS が管理するインフラストラクチャで、プロビジョニングするものがない (分析のみ)、または でプロビジョニングして管理するインフラストラクチャ AWS アカウント、つまり永続的な Amazon EC2 インスタンスまたは AWS バッチ (Fargate) ジョブで を実行できます。atx ct remote コマンドは、カスタマー管理のインフラストラクチャをプロビジョニング、実行、モニタリング、および削除します。実行場所に関係なく、 内のすべてのリソースを作成し AWS アカウント 、ソースコードは制御下に置かれます。
注記
インフラストラクチャのプロビジョニング、更新、および削除は、スタックと IAM ロールを作成および変更 AWS CloudFormation し、管理者権限を必要とします。を渡--ackしてこれを確認し、インタラクティブプロンプトをスキップします。既にプロビジョニングされたインフラストラクチャで分析と修復を実行するには、最小特権のエグゼキュターポリシーを使用します。関連するマネージドポリシーAWS Transform の継続的なモダナイゼーションの仕組みについては、タグ付けとアクセスコントロール「」および「」のコンピューティングオプションを参照してください。
AWS Transform マネージドインフラストラクチャでの実行 (プロビジョニングなし)
何もプロビジョニングせずに分析をリモートで実行するには、 を使用します--mode aws-managed。送信は AWS Transform に送信され、 AWS Transform マネージドインフラストラクチャで分析を実行します。プロビジョニングするスタック、設定するネットワーク、 AWS Secrets Manager に保存する認証情報はありません。送信は実行です。でワークロードを実行する AWS リージョンを選択します--region。
# Run an analysis on AWS Transform-managed infrastructure atx ct remote analysis --typetype--mode aws-managed --sourcesname[--reposrepo1,repo2] [--regionregion] # Poll the submission (there is no remote status command in this mode) atx ct analysis get --idid--json
このモードは分析のみを実行します。修復、custom分析タイプ、またはローカルソースはサポートされていません。スタックがないため、--stack-name、、--existing-instance、および --tags--batch-nameオプションは適用されません。1 回の送信で最大 100 のリポジトリをカバーします。より大きなスコープをカバーするには、 を使用して複数の送信に分割します--repos。Amazon EC2 やバッチ実行とは異なり、 atx ct analysis getではなく で進行状況をモニタリングしますatx ct remote status。
ネットワーク
リモートコンピューティングはプライベートサブネットで実行する必要があります。プロビジョニングする前に、既存のネットワークを検出するか、新しい VPC を作成します。
# List VPCs, private subnets, and security groups in the current account and Region atx ct remote network discover atx ct remote network discover --vpcvpc-id--json # Create a new VPC with private subnets, a NAT gateway, and a security group atx ct remote network create --cidr10.1.0.0/16--ack
インフラストラクチャーのプロビジョニングをします。
Amazon EC2 または Batch スタックをデプロイします。を省略--executeしてテンプレートまたは変更セットをプレビューし、 を追加して適用--executeします。
プロビジョニングでは、選択したモードのコンピューティングスタックとスケジューラスタックが作成されます。
バッチ — AWS バッチジョブキューとコンピューティング環境、継続的なモダナイゼーションコンテナイメージを含むジョブ定義、ジョブ実行用の IAM ロール、ジョブ送信用の Lambda 関数。バッチにはセキュリティグループが必要です。
Amazon EC2 — IAM インスタンスプロファイルとセキュリティグループを持つ永続的な Amazon EC2 インスタンス。を省略すると
--securityGroup、スタックはインバウンドルールのないセキュリティグループを作成します。アクセスは SSM 経由で行われます。スケジューラ — 定期的な分析で使用される
atx-schedulerスタック (Amazon EventBridge スケジューラのスケジュールグループと呼び出しロール)。オプトアウト--skip-schedulerするには を渡します。
# Preview, then deploy an EC2 stack atx ct remote provision --mode ec2 --vpcvpc-id--subnetssubnet-a,subnet-batx ct remote provision --mode ec2 --vpcvpc-id--subnetssubnet-a,subnet-b--execute --ack # Deploy a Batch stack atx ct remote provision --mode batch --vpcvpc-id--subnetssubnet-a,subnet-b--securityGroupsg-id--execute --ack # Update an existing stack to the latest template, or tear it down atx ct remote update --modeec2|batch--execute --ack atx ct remote teardown --modeec2|batch--execute --ack
コンテナイメージ
リモート分析と修復を実行すると、コンテナイメージ内で実行されます。デフォルトでは、リモート環境をプロビジョニングすると、パブリック AWS 変換イメージ が使用されますpublic.ecr.aws/d9h8z6l7/aws-transform:latest。Batch はこれをジョブ定義イメージとして設定します。Amazon EC2 はこれをランナーイメージとして使用します。
追加の言語やツールをバンドルするプライベート Amazon ECR イメージなど、別のイメージを実行するには、プロビジョニング--image-uri時に を渡します。
# Batch: provision with a custom image atx ct remote provision --mode batch --vpcvpc-id--subnetssubnet-a,subnet-b--securityGroupsg-id--image-uriaccount-id.dkr.ecr.region.amazonaws.com/repo:tag--execute --ack # EC2: provision with a custom image atx ct remote provision --mode ec2 --vpcvpc-id--subnetssubnet-a,subnet-b--image-uriaccount-id.dkr.ecr.region.amazonaws.com/repo:tag--execute --ack
ソース認証情報の保存
リモートコンテナは、 AWS Secrets Manager に保存されているトークンを使用してリポジトリのクローンを作成します。リモート分析または修復を実行する前に、SCM ソースごとにトークンを登録します。
atx ct remote credentials --sourcename--tokentokenatx ct remote credentials --sourcename--remove
リモートでの実行
リモート分析はリポジトリごとに 1 つのコンテナを実行し、リモート修復は検出結果ごとに 1 つのコンテナを実行します。--sources、--repos、および を使用してファンアウト--labelsを制御し、--stack-nameまたは --tags を使用して、使用するプロビジョニングされたスタックを選択します。
# Run analysis across a source on Batch atx ct remote analysis --typetype--mode batch --sourcesname[--reposrepo1,repo2] [--labels "team:frontend"] # Run remediation for specific findings on EC2 atx ct remote remediation --mode ec2 --idsid1,id2atx ct remote remediation --mode ec2 --sourcesname--min-severity high
実行のモニタリングと管理
# Check whether infrastructure is deployed atx ct remote detect --modeec2|batch# Track a submission (Batch by batch ID, EC2 by group ID) atx ct remote status --batchbatch-id--stack-namenameatx ct remote status --groupec2-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 --typetype--mode batch --sourcesname--resume-incomplete --batch-namebatch-id# Cancel a running submission atx ct remote cancel --mode batch --batchbatch-id--stack-namenameatx ct remote cancel --mode ec2 --groupec2-group-id
定期的な分析のスケジューリング
を使用してatx ct schedule、定期的な頻度で分析を自動的に実行します。分析はスケジュールできますが、修復はスケジュールできません。ジョブオプションは をミラーリングしますatx ct remote analysis。スケジュールは、次の 2 つの方法のいずれかでリモートで実行されます。
AWS Transform-managed (
--mode aws-managed) — AWS Transform-managed インフラストラクチャで分析を実行するサーバー側のスケジュール。Amazon EventBridge スケジュールはなく、プロビジョニングするものもありません。これには、実行ごとに AWS Transform が引き受ける実行ロール (--execution-role) が必要です (「」を参照AWS 変換マネージドスケジュールの実行ロール)。カスタマーマネージド (
--mode ec2|batch) — アカウントの Amazon EventBridge スケジューラスケジュールは、最初にプロビジョニングした永続的な Amazon EC2 インスタンスまたは AWS バッチスタックに各実行をディスパッチします (「」を参照リモート実行)。
--recurrence 値は daily、 weekly: (例: DAYweekly:MONDAY)、または を受け入れます。monthly:N は 1 ~ 28 の日です。 AWS Transform マネージドインフラストラクチャのスケジュールは UTC で実行されます。N
# AWS Transform-managed schedule (no infrastructure; requires an execution role) atx ct schedule create --namename--mode aws-managed --execution-rolerole-arn--recurrencedaily--typetype--sourcesname[--reposrepo1,repo2] # Customer-managed schedule (EventBridge Scheduler dispatching to your EC2 or Batch stack) atx ct schedule create --namename--modeec2|batch--recurrenceweekly:MONDAY--typetype--sourcesname[--reposrepo1,repo2] # Manage schedules of either type by their schedule ID (from schedule list) atx ct schedule list atx ct schedule getschedule-idatx ct schedule disableschedule-idatx ct schedule enableschedule-idatx ct schedule deleteschedule-id
スケジュールが実行された分析を表示するには、 を使用します。これはatx ct analysis list --schedule-id 、スケジュールの実行を最新のものから返します。schedule-id
カスタマー管理のスケジュールで使用されるスケジューラロールとスケジュールグループを削除するには、 を実行しますatx ct schedule teardown --execute。
AWS 変換マネージドスケジュールの実行ロール
で作成されたスケジュールには、スケジュールが実行されるたびに AWS Transform が引き受ける --execution-role ARN --mode aws-managedが必要です。ロールを次のように設定します。
スケジュールを作成する ID には、実行ロールに対する
iam:PassRoleアクセス許可が必要です。ロールの信頼ポリシーは、
transform-custom.amazonaws.comサービスプリンシパルがそれを引き受けることを許可する必要があります。少なくとも、スケジュールされた実行がソースクローン認証情報を取得できるように、ロールには AWS マネージドポリシーと
atx/*、 プレフィックスのシークレットに対するsecretsmanager:GetSecretValueおよび アクセスsecretsmanager:DescribeSecret許可がAWSTransformCustomFullAccessアタッチされている必要があります。
次のインラインポリシーは、スケジュールされた実行がソースクローン認証情報を取得する必要があるアクセスを AWS Secrets Manager に付与します。AWSTransformCustomFullAccess 管理ポリシーとともに実行ロールにアタッチし、region と account-id を、スケジュールが実行される AWS リージョンとアカウントに置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AtxSourceCredentials", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:atx/*" } ] }
タグ付けとアクセスコントロール
--tags オプションを使用して、タグ (カンマ区切りのkey=valueペア) をソース、分析、修復に適用できます。タグは、リモートインフラストラクチャ、保存された認証情報、ネットワークリソースでもサポートされています。タグを使用すると、リソースを整理できます。IAM タグ条件と組み合わせると、タグは属性ベースのアクセスコントロール (ABAC) を実装し、チームがタグを持つリソースにのみアクセスできるようにします。
atx ct source add --namename--provider github --orgorg--tokenpat--tagsteam=platform,env=prodatx ct analysis run --typetype--sourcename--tagsteam=platformatx ct remediation create --idsid1,id2--tagsteam=platform
デフォルトでは、リソースには で定義したタグが付けられます~/.aws/atx/settings.json。ですべてのリソースに適用するタグを追加するとapplyTags、デフォルトのタグになります。
{ "applyTags": [ { "team": "alpha" } ] }
注記
で渡されたタグ--tagsは、設定されたデフォルトタグにマージされ、両方の場所で設定されたすべてのキーに--tags当たります。
AWS ウェブアプリケーションの変換
AWS 変換ウェブアプリケーションを使用して、分析の作成と実行、結果の確認、修復の作成、コードソース全体で生成されたプルリクエストの追跡を行います。
ウェブアプリケーションを使用する前に、組織はユーザー ID が AWS Transform にアクセスできるようにする必要があります。 AWS 変換の設定の詳細については、AWS 「変換の設定」を参照してください。
サインイン
AWS 変換ウェブアプリケーションにアクセスするには、次の手順を実行します。
を開き
https://aws.amazon.com/transform/、 AWS IAM アイデンティティセンターの認証情報でサインインします。継続的なモダナイゼーションが表示されない場合は、代わりに IAM 認証情報を使用してサインインします。
AWS マネジメントコンソールで、 AWS 変換を開き、設定を選択します。
IAM 認証情報を使用してアクセス AWS 変換を有効にします。
ウェブアプリケーション URL (IAM を使用) をコピーし、コンソールが開いているのと同じブラウザウィンドウに貼り付けます。
左側のナビゲーションメニューを開き、継続的なモダナイゼーションを選択します。
インフラストラクチャモード
分析を作成するときは、次のいずれかのインフラストラクチャモードを選択します。
AWS managed – AWS Transform が管理するインフラストラクチャで を実行します。インフラストラクチャをプロビジョニングする必要はありません。
カスタマー所有 – 独自の のデプロイされたスタックで を実行します AWS アカウント。コンピューティング、ネットワーク、またはセキュリティ設定を制御する必要がある場合は、このモードを使用します。
注記
セキュリティ分析を実行するには、顧客所有のインフラストラクチャを使用します。セキュリティ分析は、アカウントにデプロイされたセキュリティエージェントで実行されます。
顧客所有のインフラストラクチャを使用するには、設定タブを開きます。 AWS CloudFormation クイック作成リンクを使用して、次のスタックを順番にデプロイします。
AtxDispatcherStack– メッセージディスパッチャー (常に必須)。コンピューティングスタック –
AtxInfrastructureStack(AWS バッチ) またはatx-runner(Amazon EC2)。atx-scheduler– 定期的なスケジュールされた分析に必要です。AtxSecurityAgentStack-<region>– セキュリティ分析にのみ必要です。
CLI ベースのプロビジョニングとネットワーク設定については、「」を参照してくださいリモート実行。
ワークフローの開始方法
ソースの接続 – ソースタブを開きGitHub、、GitLab、または からリポジトリを追加しますBitbucket。
分析を実行またはスケジュールする – 分析タブを開き、リポジトリを選択し、分析タイプを選択し、インフラストラクチャモードを選択し、実行を選択します。定期的な頻度 (毎日、毎週、または毎月) で を実行するには、代わりにスケジュールを選択します。
結果の確認 – 結果タブを開き、重要度別に結果を表示します。
修復の作成 – 検出結果を選択し、修復の作成を選択します。
プルリクエストの確認 – 修復タブを開き、リポジトリごとに生成された PR リンクを表示します。
とチャットする ウェブアプリケーションから直接 AWS 変換して、分析、検出結果、または修復について質問します。