기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS 지속적인 현대화 혁신
지속적인 현대화 AWS 혁신이란 무엇입니까?
AWS 지속적인 현대화를 혁신하면 소스 코드 리포지토리에 대한 분석 및 수정이 가능합니다. GitHub 조직, GitLab 그룹, Bitbucket 워크스페이스 및 로컬 리포지토리를 연결한 다음 자동화된 분석을 실행하여 전체 코드베이스에서 기술적 부채, 보안 취약성, 현대화 기회 및 에이전트 준비를 식별할 수 있습니다.
모든 분석 및 수정은 자격 증명을 AWS 계정 사용하여에서 실행됩니다. 소스 코드는 사용자가 제어할 수 있습니다.
참고
Kiro Power 또는 에이전트 플러그인으로 시작하는 것이 좋습니다. 에이전트 스킬은 인프라 프로비저닝, 소스 구성, 분석 실행, 결과 분류 및 문제 해결을 포함한 지속적인 현대화의 설정, 온보딩 및 지속적인 사용을 오케스트레이션합니다. 설치 지침은 개발자 도구을 확인하세요.
주요 기능
AWS 지속적인 현대화 혁신은 다음과 같은 기능을 제공합니다.
-
기술 부채 분석 - 오래된 종속성, 보안 취약성, 코드 품질 문제 및 현대화 기회가 있는지 리포지토리를 스캔합니다. 패키지 매니페스트 또는 포괄적인 코드 수준 분석에서 빠른 메타데이터 스캔을 실행합니다. 환경에 맞는 변환 정의를 사용하여 사용자 지정 분석 기준을 정의합니다.
-
자율 문제 해결 - 대규모로 검증된 풀 요청을 생성합니다. 연결된 변환 정의를 사용하여 각 결과를 자동으로 수정할 수 있습니다. 문제 해결은 GitHub, GitLab 및 Bitbucket에서 브랜치를 생성하고 PRs/MRs 자동으로 엽니다.
-
보고 - 심각도, 리포지토리 및 분석 유형별로 조사 결과를 보여주는 HTML 보고서를 생성합니다. 시간 경과에 따른 문제 해결 진행 상황 및 결과 해결을 추적합니다.
-
지속적 모니터링 - Amazon EventBridge 스케줄러를 사용하여 반복 분석을 예약합니다. 포트폴리오에 새로운 문제가 있는지 지속적으로 모니터링하도록 일별, 주별 또는 사용자 지정 cron 일정을 구성합니다.
분석 유형
AWS 지속적인 현대화 혁신은 현대화 요구 사항을 해결하기 위해 다음과 같은 분석 유형을 지원합니다.
| 유형 | 설명 |
|---|---|
rapid-techdebt-analysis |
오래된 버전과 오래된 종속성을 식별하기 위한 패키지 매니페스트(pom.xml, package.json, requirements.txt)의 빠른 메타데이터 전용 스캔. 소스 코드를 분석하지 않습니다. |
tech-debt-comprehensive |
AWS 변환 에이전트를 사용한 심층 코드 수준 기술 부채 분석. 소스 코드를 검사하여 부채 패턴, 코드 품질 문제, 아키텍처 문제 및 개선 기회를 식별합니다. |
security |
Security Agent를 사용한 AWS 보안 취약성 및 CVE 탐지. 소스 코드 및 종속성에서 알려진 취약성, 안전하지 않은 코딩 패턴 및 악용 가능한 약점을 스캔합니다. 일회성 인프라 설정이 필요합니다. |
agentic-readiness |
AI 및 에이전트 통합 준비 상태 평가. 인프라 및 플랫폼, 애플리케이션 아키텍처, 데이터 기반, Identity/Security/Governance, 운영 및 관찰성의 5가지 범주에서 기준 56점을 획득합니다. |
modernization-readiness |
클라우드 현대화 기회 평가. 인프라, 애플리케이션, 데이터, 보안 및 운영 차원에서 준비 상태를 평가합니다. 컨테이너화, 서버리스 마이그레이션 및 플랫폼 업그레이드의 후보를 식별합니다. |
custom |
변환 정의(TD)를 분석으로 실행합니다. 이 유형을 사용하여 자체 분석 기준을 정의하거나 기본 제공 유형에서 다루지 않는 AWS 관리형 변환을 실행합니다. |
주요 개념 이해
소스
소스는 리포지토리의 위치를 지속적으로 현대화합니다. 지원되는 소스 유형:
GitHub - 개인 액세스 토큰이 있는 조직(클래식)
GitLab - 자체 호스팅 인스턴스를 포함한 그룹 또는 사용자
Bitbucket — Workspaces(클라우드) 또는 프로젝트(데이터 센터)
로컬 - git 리포지토리가 포함된 상위 디렉터리
리포지토리
리포지토리는 스캔 소스에서 검색됩니다. 검색 후 소스, 레이블 또는 기타 기준을 기준으로 필터링하고, 조직(팀, 우선순위, 마이그레이션 웨이브)에 레이블을 적용하고, 분석 또는 문제 해결을 위해 특정 리포지토리를 대상으로 지정할 수 있습니다.
분석
분석은 특정 분석 유형을 사용하여 하나 이상의 리포지토리를 스캔하는 것입니다. 각 분석은 코드의 문제를 식별하는 결과를 생성합니다. 필요에 따라 분석을 실행하거나 자동으로 실행되도록 예약할 수 있습니다. 분석 유형에는 rapid-techdebt-analysis, tech-debt-comprehensive, security, agentic-readiness, modernization-readiness 및 custom이 포함됩니다. 각 분석은 상태(보류 중, 실행 중, 완료, 취소 또는 실패)와 스캔한 리포지토리를 추적합니다.
조사 결과
결과는 분석 결과입니다. 각 결과에는 심각도(높음, 중간 또는 낮음), 상태(열림, 무시됨 또는 더 이상 사용되지 않음), 이를 해결할 수 있는 수정 변환(자동 수정 가능한 경우)이 포함됩니다. 새 조사 결과는 열린 상태로 시작됩니다. 사용자는 이유와 함께 조사 결과를 무시할 수 있습니다. 재분석은 해결된 결과를 자동으로 더 이상 사용되지 않는 것으로 표시합니다.
문제 해결
문제 해결은 변환 정의를 적용하여 결과를 수정합니다. 조사 결과 기반(각 조사 결과는 자체 수정 변환 사용), TD 재정의(지정된 조사 결과에 대한 변환 정의 재정의), 직접 TD(조사 결과 없이 리포지토리에 대한 변환 실행)의 세 가지 모드입니다. 출력은 소스 공급자(GitHub PR, GitLab MR, Bitbucket PR 또는 로컬 브랜치)에 따라 달라집니다.
변환 정의
변환 정의에는 특정 코드 변환을 수행하는 데 필요한 지침과 지식이 포함되어 있습니다. 지속적인 현대화는 사용자 지정 분석(--type custom --transformation-name ) 및 문제 해결()에 변환 정의를 사용합니다name--transformation-name . 를 사용하여 사용 가능한 변환 정의를 나열합니다nameatx custom def list.
지속적 현대화 AWS 의 작동 방식
AWS 변환 지속적 현대화는 일반적으로 여러 코드베이스에 지속적인 분석 및 수정이 필요한 대규모 프로젝트에서 사용됩니다. 팀은 일반적으로 다음 워크플로를 따릅니다.
-
소스 연결 - GitHub 조직, GitLab 그룹, Bitbucket 워크스페이스 또는 로컬 디렉터리를 소스로 추가합니다. 인증 토큰에 적절한 범위를 제공합니다.
-
리포지토리 검색 - 검색 스캔을 실행하여 소스의 모든 리포지토리를 열거합니다. 레이블을 사용하여 팀, 우선순위 또는 마이그레이션 웨이브별로 리포지토리를 구성합니다.
-
분석 실행 - 포트폴리오에서 분석을 실행합니다. 빠른 결과를 얻으려면 빠른 스캔을 선택하고 자세한 결과를 얻으려면 포괄적인 분석을 선택합니다. 보안 분석에는 일회성 인프라 설정이 필요합니다.
-
결과 분류 - 심각도, 리포지토리 또는 분석 유형별로 결과를 검토합니다. 문서화된 이유와 함께 거짓 긍정을 무시합니다. 분석을 다시 실행하여 해결된 문제를 더 이상 사용되지 않음으로 표시합니다.
-
문제 해결 - 문제 해결을 생성하여 조사 결과를 수정합니다. 지속적 현대화는 브랜치를 자동으로 생성하고 수정 사항을 사용하여 풀/병합 요청을 엽니다. 문제 해결 상태를 추적하고 실패를 다시 시도합니다.
-
연속 분석 설정 - Amazon EventBridge 스케줄러를 사용하여 반복 분석을 예약합니다. 분석 주기(일별, 주별 또는 사용자 지정 cron)를 구성하여 포트폴리오에 새로운 문제가 있는지 지속적으로 모니터링합니다. 자동 문제 해결과 결합하여 시간이 지남에 따라 코드 상태를 유지합니다.
컴퓨팅 옵션
지속적 현대화는 분석 및 문제 해결을 실행하기 위한 세 가지 컴퓨팅 옵션을 지원합니다. Kiro Power 및 에이전트 플러그인의 에이전트 스킬은 각 옵션에 대한 인프라를 설정하는 데 도움이 됩니다.
참고
컴퓨팅 옵션과 관계없이 모든 분석 및 수정은 자격 증명을 사용하여 AWS 계정 에서 수행됩니다. 소스 코드는 사용자가 제어할 수 있습니다.
로컬(기본값)
기본적으로 분석은 로컬 시스템에서 실행됩니다. 이 옵션에는 추가 인프라가 필요하지 않습니다. 서버는 로컬에서 실행되고 로컬 컴퓨팅 리소스를 사용하여 분석을 실행합니다. 도구, 작은 리포지토리 또는 개별 사용을 시도하는 데 적합합니다.
Amazon EC2
의 영구 Amazon EC2 인스턴스에서 분석을 실행합니다 AWS 계정. 이 옵션은 로컬 시스템에서 컴퓨팅을 오프로드하고, 대규모 분석을 지원하고, 예약된 반복 분석을 활성화합니다. 인스턴스는 제출 사이에 계속 실행됩니다.
에이전트 스킬은 다음을 포함하는 AWS CloudFormation 스택을 프로비저닝합니다.
Docker 및 지속적 현대화 컨테이너가 있는 Amazon EC2 인스턴스(Amazon Linux 2023)
AWS 변환, Amazon S3, AWS KMS, Secrets Manager 및 보안 에이전트에 대한 권한이 있는 IAM 역할
AmazonSSMManagedInstanceCoreSSM을 통한 쉘 액세스용(SSH 키 페어 또는 인바운드 포트 필요 없음)인바운드 규칙이 없는 보안 그룹
IAM 사용자 또는 역할에는 Amazon EC2 수명 주기 관리, AWS CloudFormation 스택 작업, IAM 역할 생성, Amazon S3 버킷 작업, Secrets Manager 보안 암호 관리 및 SSM 명령에 대한 권한이 필요합니다.
EC2 실행을 설정하려면 Kiro Power 또는 에이전트 플러그인을 설치한 다음( 참조개발자 도구) 에이전트에게 “지속적인 현대화 분석을 위해 EC2 인스턴스 설정”을 요청합니다. 에이전트는 인프라를 프로비저닝하고, 컨테이너가 정상인지 확인하고, SSH 없이 SSM을 통해 분석을 제출합니다.
AWS 배치(Fargate)
서버리스 컴퓨팅을 위해 Fargate를 사용한 AWS 배치에서 격리된 작업으로 분석을 실행합니다. 각 분석은 영구 인프라를 관리하지 않고 자체 컨테이너에서 실행됩니다. 여러 소스 또는 분석 유형의 병렬 분석에 적합합니다.
이 옵션은 AWS 변환 CDK 인프라 스택을 재사용합니다. 에이전트 스킬은 다음을 포함하여 필요한 인프라를 배포합니다.
AWS 배치 작업 대기열 및 컴퓨팅 환경
지속적 현대화 컨테이너 이미지를 사용한 작업 정의
배치 작업 실행을 위한 IAM 역할
작업 제출을 위한 Lambda 함수
배치 실행을 설정하려면 Kiro Power 또는 에이전트 플러그인을 설치한 다음( 참조개발자 도구) 에이전트에게 "Fargate에서 내 분석 실행" 또는 "지속적인 현대화를 위한 배치 실행 설정"을 요청합니다. 에이전트는 CDK 스택을 배포하고, 소스 자격 증명을 Secrets Manager에 저장하고, 분석 작업을 AWS Batch에 제출합니다.
보안 에이전트 설정
security 분석 유형은 취약성 및 CVE 탐지를 위해 AWS Security Agent 서비스를 사용합니다. 다른 분석 유형과 달리에서 일회성 인프라 설정이 필요합니다 AWS 계정.
설정 명령은 다음을 포함하는 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
설정이 완료되면 다른 분석 유형과 동일한 방식으로 보안 분석을 실행할 수 있습니다.