本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS 转变持续现代化
什么是 AWS 实现持续现代化转型?
AWS Transform 持续现代化为您的源代码存储库提供分析和补救。您可以连接 GitHub 组织、 GitLab 群组、Bitbucket 工作空间和本地存储库,然后运行自动分析以识别整个代码库中的技术债务、安全漏洞、现代化机会和代理准备情况。
所有分析和补救都 AWS 账户 使用您的证书在您中运行。您的源代码由您控制。
注意
我们建议从 Kiro Power 或代理插件开始。代理技能可以协调持续现代化的设置、入职和持续使用,包括基础设施配置、源配置、分析执行、调查结果分类和补救。有关安装说明,请参阅开发人员工具。
关键功能
AWS Transform 持续现代化提供以下功能:
-
技术债务分析 — 扫描存储库中是否存在过时的依赖关系、安全漏洞、代码质量问题和现代化机会。对软件包清单进行快速元数据扫描或全面的代码级分析。使用针对您的环境量身定制的转换定义来定义自定义分析标准。
-
自主修复-大规模生成经过验证的拉取请求。每个发现都可以使用其关联的转换定义进行自动修正。修复会创建分支并在 GitHub GitLab、和 Bitbucket 上 PRs/MRs 自动打开。
-
报告-生成 HTML 报告,按严重性、存储库和分析类型显示调查结果。随着时间的推移,跟踪修复进度并找到解决方案。
-
持续监控 — 使用 Amazon EventBridge 计划程序安排定期分析。配置每日、每周或自定义 cron 时间表,持续监控您的投资组合中是否有新发行。
分析类型
AWS Transform 持续现代化支持以下分析类型,以满足您的现代化需求。
| Type | 说明 |
|---|---|
rapid-techdebt-analysis |
对软件包清单(pom.xml、、requirements.txt)进行仅限元数据的快速扫描package.json,以识别过时的版本和过时的依赖关系。不分析源代码。 |
tech-debt-comprehensive |
使用 AWS 转换代理进行深入的代码级技术债务分析。检查源代码以确定债务模式、代码质量问题、架构问题和改进机会。 |
security |
使用安全代理进行安全漏洞和 CVE 检测。 AWS 扫描源代码和依赖关系,以查找已知漏洞、不安全的编码模式和可利用的漏洞。需要一次性基础架构设置。 |
agentic-readiness |
AI 和代理集成准备情况评估。在五个类别中评分 56 个标准:基础设施和平台、应用程序架构、数据基础以及运营与可观测性。 Identity/Security/Governance |
modernization-readiness |
云现代化机会评估。评估基础架构、应用程序、数据、安全和运营方面的准备情况。确定容器化、无服务器迁移和平台升级的候选对象。 |
custom |
将任何变换定义 (TD) 作为分析运行。使用此类型来定义自己的分析标准或运行内置类型未涵盖的 AWS 托管变换。 |
了解关键概念
来源
消息来源告诉持续现代化您的存储库在哪里。支持的源类型:
GitHub— 拥有个人访问令牌的 Organizations(经典)
GitLab— 群组或用户,包括自托管实例
Bitbucket — 工作空间(云端)或项目(数据中心)
本地-包含 git 存储库的父目录
Repositories
存储库是通过扫描源发现的。发现后,您可以按来源、标签或其他标准进行筛选;为组织应用标签(团队、优先级、迁移浪潮);并针对特定的存储库进行分析或修复。
分析
分析是使用特定分析类型对一个或多个存储库进行扫描。每次分析都会生成发现结果,以识别代码中的问题。您可以按需运行分析,也可以安排分析自动运行。分析类型包括快速技术债务分析、技术债务综合分析、安全性、代理就绪性、现代化准备情况和自定义。每项分析都会跟踪其状态(待处理、正在运行、已完成、已取消或失败)及其扫描的存储库。
结果
结果是分析的结果。每项发现都包括严重性(高、中或低)、状态(打开、已解除或已过时)以及可以对其进行补救的修复转换(如果可自动修复)。新的发现一开始是开放的。用户可以驳回调查结果并说明理由。 Re-analysis 自动将已解决的结果标记为已过时。
补救措施
修正应用转换定义来修复发现。三种模式:基于结果(每个查找结果都使用自己的修复变换)、TD 覆盖(覆盖指定查找结果的转换定义)和直接 TD(对没有发现结果的存储库运行转换)。输出取决于源提供商(GitHub PR、 GitLab MR、Bitbucket PR 或本地分支机构)。
转换定义
转换定义包含执行特定代码转换所需的指令和知识。持续现代化使用转换定义进行自定义分析 (--type custom --transformation-name ) 和修复 (name--transformation-name )。使用列出可用的转换定义nameatx custom def list。
操作方法 AWS 转变持续的现代化工作
AWS Transform 持续现代化通常用于需要持续分析和修复多个代码库的大型项目。团队通常遵循以下工作流程:
-
Connect Sources — 添加 GitHub 组织、 GitLab群组、Bitbucket 工作空间或本地目录作为源。提供具有适当范围的身份验证令牌。
-
发现存储库-运行发现扫描以枚举源中的所有存储库。使用标签按团队、优先级或迁移浪潮来组织仓库。
-
运行分析-对您的投资组合执行分析。选择快速扫描以获得快速结果,或选择全面分析以获得详细结果。安全分析需要一次性基础架构设置。
-
分类结果-按严重性、存储库或分析类型查看结果。驳回带有记录原因的误报。 Re-run分析以将已解决的问题标记为已过时。
-
修复-创建修正以修复发现的问题。持续现代化会自动创建分支并打开包含修复的 pull/merge 请求。跟踪补救状态和重试失败。
-
设置持续分析-使用 Amazon EventBridge 计划程序安排重复分析。配置分析节奏(每日、每周或自定义 cron),持续监控您的投资组合中是否有新问题。与自动修复相结合,随着时间的推移保持代码的运行状况。
计算选项
持续现代化支持三种计算选项,用于运行分析和修复。Kiro Power 和代理插件中的代理技能可帮助您为每个选项设置基础架构。
注意
无论使用哪种计算选项,所有分析和补救都是在您 AWS 账户 使用凭据时进行的。您的源代码仍处于您的控制之下。
本地(默认)
默认情况下,分析在您的本地计算机上运行。此选项不需要额外的基础架构。服务器在本地运行,并使用本地计算资源执行分析。适合试用该工具、小型存储库或个人使用。
Amazon EC2
在您的永久性 Amazon EC2 实例上运行分析 AWS 账户。此选项可将计算从本地计算机上卸载,支持更大规模的分析,并允许定期进行分析。实例在两次提交之间保持运行。
代理技能提供的堆 AWS CloudFormation 栈包括:
带有 Docker 和持续现代化容器的亚马逊 EC2 实例(亚马逊 Linux 2023)
一个具有 Trans AWS form、Amazon S3、 AWS KMS、Secrets Manager 和安全代理权限的 IAM 角色
AmazonSSMManagedInstanceCore用于通过 SSM 进行外壳访问(不需要 SSH 密钥对或入站端口)没有入站规则的安全组
您的 IAM 用户或角色需要获得 Amazon EC2 生命周期管理、 AWS CloudFormation 堆栈操作、IAM 角色创建、Amazon S3 存储桶操作、Secrets Manager 机密管理和 SSM 命令的权限。
要设置 EC2 执行,请安装 Kiro Power 或代理插件(参见开发人员工具),然后询问代理:“设置 EC2 实例以进行持续的现代化分析”。代理配置基础架构,验证容器是否运行正常,并通过 SSM 提交您的分析,无需使用 SSH。
AWS Batch (Fargate)
使用 Fargate 在 Bat AWS ch 上以孤立作业的形式运行分析,实现无服务器计算。每项分析都在自己的容器中运行,无需管理永久基础架构。适用于对多个来源或分析类型进行并行分析。
此选项重复使用 AWS 转换 CDK 基础架构堆栈。代理技能部署所需的基础架构,包括:
AWS Batch 作业队列和计算环境
使用持续现代化容器镜像定义 Job
用于执行批处理作业的 IAM 角色
用于提交任务的 Lambda 函数
要设置批量执行,请安装 Kiro Power 或代理插件(参见开发人员工具),然后询问代理:“在 Fargate 上运行我的分析” 或 “设置批处理执行以实现持续现代化”。代理部署 CDK 堆栈,将您的源凭据存储在 Secrets Manager 中,并将分析作业提交到 Batch AWS 。
安全代理设置
security分析类型使用 AWS 安全代理服务进行漏洞和 CVE 检测。与其他分析类型不同,它需要在您的中进行一次性基础架构设置 AWS 账户。
setup 命令提供的 AWS CloudFormation 堆栈包括:
用于上传源代码的 Amazon S3 存储桶
由担任的 IAM 角色
securityagent.amazonaws.com安全代理角色的托管策略
您的 IAM 用户或角色必须具有以下额外权限才能运行安装程序:
cloudformation:CreateStack,cloudformation:UpdateStack,cloudformation:DescribeStacksiam:CreateRole,iam:PutRolePolicy,iam:AttachRolePolicy,iam:CreatePolicys3:CreateBucket,s3:PutBucketEncryption,s3:PutBucketPublicAccessBlock
使用以下命令管理安全代理基础架构:
# 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
设置完成后,您可以像其他分析类型一样运行安全分析。