View a markdown version of this page

일반 사용 사례 - AWS 변환

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

일반 사용 사례

이 섹션에서는 AWS 변환 CLI를 사용하는 일반적인 변환 시나리오에 대한 step-by-step 지침을 제공합니다.

Lambda 런타임 업그레이드

Lambda는 오래된 언어 런타임을 주기적으로 중단하므로 팀에서 Lambda 함수를 지원되는 버전으로 업그레이드해야 합니다. AWS 변환 사용자 지정은 AWS관리형 언어 버전 업그레이드 변환을 사용하여 이러한 업그레이드를 자동화할 수 있습니다. 예를 들어 Python 3.9로 작성된 Lambda 함수를 Python 3.13으로 업그레이드하려면 AWS/python-version-upgrade 변환을 사용합니다. 가장 일반적인 Lambda 런타임 언어를 다루는 Java(AWS/java-version-upgrade) 및 Node.js(AWS/nodejs-version-upgrade)에서도 유사한 변환을 사용할 수 있습니다.

단일 Lambda 함수를 대화형으로 업그레이드하려면 함수의 소스 리포지토리 루트로 이동하여 로 AWS 변환 CLI를 시작합니다atx. 대화형 세션에서 "이 Python 3.9 Lambda 함수를 Python 3.13으로 업그레이드"와 같이 필요한 업그레이드를 설명합니다. 에이전트는 적절한 AWS관리형 변환을 선택하고, 코드를 분석하고, 언어 구문을 업데이트하고, 종속성을 조정하고, 더 이상 사용되지 않는 API 호출을 현대화합니다. 에이전트가 변환된 코드가 테스트를 컴파일하고 통과하는지 확인할 수 python -m py_compile *.py 있도록 pytest 또는와 같은 빌드 또는 검증 명령을 제공할 수 있습니다. 대화형 세션 전체에서 에이전트가 제안한 변경 사항을 검토하고, 피드백을 제공하고, 최종 결과를 수락하기 전에 조정을 요청할 수 있습니다.

여러 리포지토리에서 Lambda 런타임을 업그레이드해야 하는 경우 비대화형 모드를 사용하여 대규모로 변환을 실행합니다. 각 리포지토리에 대해 사용자 입력 없이 실행할 적절한 플래그를 사용하여 CLI를 호출합니다. 예를 들어 Node.js 16 Lambda 함수를 Node.js 22로 업그레이드하려면

atx custom def exec \ -n AWS/nodejs-version-upgrade \ -p ./my-lambda-repo \ -c "npm test" \ -g "additionalPlanContext='Upgrade from Node.js 16 to Node.js 22'" \ -x -t

-x 플래그는 변환을 비대화적으로 실행하고 모든 도구 실행을 -t 신뢰하므로 프롬프트가 필요하지 않습니다. 간단한 쉘 루프를 사용하여 수십 또는 수백 개의 리포지토리에이 명령을 스크립트로 작성할 수 있습니다. 각 변환이 완료되면 Git diff를 검토하여 변경 사항을 확인하고 테스트 제품군을 실행하여 업그레이드된 함수가 올바르게 작동하는지 확인합니다. 또한 사용자 지정 AWS 변환을 CI/CD 파이프라인에 통합하여 더 이상 사용되지 않는 Lambda 함수를 지속적으로 식별할 수 있습니다. 이 접근 방식은 더 이상 사용되지 않는 런타임의 즉각적인 문제를 해결할 뿐만 아니라 end-of-support 상태에 도달하기 전에 함수를 감지하고 업그레이드하는 지속적인 프로세스를 설정합니다.

중앙 플랫폼 팀은 AWS 변환 웹 애플리케이션을 통해 캠페인을 생성하여 변환을 정의하고, 대상 Lambda 리포지토리를 지정하고, 조직 전체의 진행 상황을 추적할 수 있습니다. AWS 배치를 사용하여 프로덕션급 확장 배포 솔루션을 구축하는 자세한 방법은 AWS Transform custom을 사용하여 확장 가능한 코드 현대화 솔루션 구축을 참조하세요.