기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 CardDemo 메인프레임 애플리케이션 현대화 AWS Transform
Santosh Kumar Singh, Cheryl du Preez, Amazon Web Services
요약
AWS Transform
이 패턴은 샘플 오픈 소스 메인프레임 애플리케이션인 CardDemo
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정
AWS IAM Identity Centerenabled
관리자가 를 활성화할 수 있는 권한 AWS Transform
관리자가 AWS Transform 웹 애플리케이션에 대한 Amazon Simple Storage Service(Amazon S3) 연결 요청을 수락할 수 있도록 허용하는 권한
제한 사항
AWS Transform 는 일부에서만 사용할 수 있습니다 AWS 리전. 지원되는 리전의 전체 목록은 AWS Transform에 지원되는 리전
을 참조하세요. AWS Transform 는 COBOL(Common Business-Oriented Language)에서 Java로의 코드 분석, 문서 생성, 비즈니스 규칙 추출, 분해 및 리팩터링을 지원합니다. 자세한 내용은 기능 및 주요 기능, 메인프레임 애플리케이션 변환에 지원되는 파일 유형을 참조하세요.
AWS Transform에는 메인프레임 변환 기능에 대한 Service Quotas가 있습니다. 자세한 내용은 AWS Transform에 대한 할당량을 참조하세요.
공유 워크스페이스에서 협업하려면 모든 사용자가 AWS Transform 웹 애플리케이션의 인스턴스와 AWS IAM Identity Center 연결된의 동일한 인스턴스에 등록된 사용자여야 합니다.
Amazon S3 버킷 및는 동일한 AWS 계정 및 리전에 있어야 AWS Transform 합니다.
아키텍처
다음 다이어그램은 이 패턴에서 설정하는 아키텍처를 보여줍니다.

이 다이어그램은 다음 워크플로를 보여줍니다.
AWS Transform 는 커넥터를 사용하여 Amazon S3 버킷에 저장된 CardDemo 메인프레임 애플리케이션에 액세스합니다.
AWS Transform 는 AWS IAM Identity Center 를 사용하여 사용자 액세스 및 인증을 관리합니다. 시스템은 인증, 권한 부여, 암호화 및 액세스 관리를 위한 여러 계층의 보안 제어를 구현하여 처리 중에 코드와 아티팩트를 보호합니다. 사용자는 채팅 인터페이스를 통해 AWS Transform 에이전트와 상호 작용합니다. 특정 작업에 대한 지침을 영어로 AI 에이전트에 제공할 수 있습니다. 자세한 내용은 AWS Transform 설명서의 인적 루프(HITL)를 참조하세요.
AI 에이전트는 사용자의 지침을 해석하고, 작업 계획을 생성하고, 작업을 실행 가능한 작업으로 나누고, 자율적으로 작업합니다. 사용자는 변환을 검토하고 승인할 수 있습니다. 변환 작업에는 다음이 포함됩니다.
코드 분석 - 각 파일의 코드를 AWS Transform 분석하여 파일 이름, 파일 유형, 코드 줄 및 경로와 같은 세부 정보를 확인합니다. 에이전트는 소스 코드를 분석하고 분류를 실행하며 종속성 매핑을 생성하고 누락된 아티팩트를 식별합니다. 또한 중복 구성 요소를 식별합니다.
문서 생성 - 메인프레임 애플리케이션에 대한 설명서를 AWS Transform 생성합니다. 코드를 분석하면 레거시 시스템에 있는 비즈니스 로직, 흐름, 통합 및 종속성에 대한 설명을 포함하여 애플리케이션 프로그램에 대한 자세한 설명서를 자동으로 생성할 수 있습니다.
비즈니스 로직 추출 - COBOL 프로그램을 AWS Transform 분석하여 핵심 비즈니스 로직을 문서화함으로써 기본적인 비즈니스 로직을 이해하는 데 도움이 됩니다.
코드 분해 -는 프로그램 및 구성 요소 간의 종속성을 설명하는 도메인으로 코드를 AWS Transform 분해합니다. 동일한 도메인 내에서 관련 파일과 프로그램을 그룹화하면 조직을 개선하고 애플리케이션을 더 작은 구성 요소로 나눌 때 애플리케이션의 논리적 구조를 유지하는 데 도움이 됩니다.
마이그레이션 웨이브 계획 - 분해 단계에서 생성한 도메인을 기반으로 권장 현대화 순서에 따라 마이그레이션 웨이브 계획을 AWS Transform 생성합니다.
코드 리팩터링 - 모든 또는 선택한 도메인 파일의 코드를 Java 코드로 AWS Transform 리팩터링합니다. 이 단계의 목표는 애플리케이션의 중요한 비즈니스 로직을 유지하면서 현대화된 클라우드 최적화 Java 애플리케이션으로 리팩터링하는 것입니다.
AWS Transform 는 리팩터링된 코드, 생성된 문서, 관련 아티팩트 및 런타임 라이브러리를 Amazon S3 버킷에 저장합니다. 다음을 수행할 수 있습니다.
Amazon S3 버킷의 런타임 폴더에 액세스합니다.
AWS Transform 설명서의 현대화된 애플리케이션 빌드 및 배포 후 리팩터링에 따라 애플리케이션을 빌드하고 배포
합니다. 채팅 인터페이스를 통해 샘플 AWS CloudFormation AWS 클라우드 개발 키트 (AWS CDK)또는 Hashicorp Terraform 템플릿을 요청하고 다운로드합니다. 이러한 템플릿은 리팩터링된 애플리케이션을 지원하는 데 필요한 AWS 리소스를 배포하는 데 도움이 될 수 있습니다.
대규모 언어 모델(LLMs)을 사용하여 리팩터링된 코드의 품질을 개선하려면 Reforge를 사용합니다. 리팩터링 엔진은 COBOL의 기능적 동등성을 유지하면서 Java 코드로 변환합니다. Reforge는 변환 후 사용할 수 있는 선택적 단계입니다. 이 단계에서는 LLM을 사용하여 코드를 네이티브 Java와 매우 유사하게 재구성하여 가독성과 유지 관리를 개선할 수 있습니다. 또한 Reforge는 사람이 읽을 수 있는 설명을 추가하여 코드를 이해하는 데 도움이 되며 최신 코딩 패턴과 모범 사례를 구현합니다.
도구
AWS 서비스
AWS Transform는 에이전트 AI를 사용하여 .NET, 메인프레임, VMware 워크로드와 같은 레거시 워크로드의 현대화를 가속화하는 데 도움이 됩니다.
AWS IAM Identity Center를 사용하면 AWS 계정 및 클라우드 애플리케이션에 대한 Single Sign-On(SSO) 액세스를 중앙에서 관리할 수 있습니다.
Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
코드 리포지토리
오픈 소스 AWS CardDemo
모범 사례
소규모 시작 - 덜 복잡한 소규모 코드(15,000~20,000줄의 코드)로 시작하여가 메인프레임 애플리케이션을 AWS Transform 분석하고 변환하는 방법을 이해합니다.
인적 전문 지식과 결합 - 최적의 결과를 위해 인적 전문 지식을 적용하는 동시에를 액셀러레이터 AWS Transform 로 사용합니다.
철저한 검토 및 테스트 - 항상 변환된 코드를 주의 깊게 검토하고 포괄적인 테스트를 실행하여 변환 후 기능적 동등성을 검증합니다.
피드백 제공 - 개선을 위한 피드백과 제안을 제공하려면에서 피드백 보내기 버튼을 사용하거나 로 사례를 AWS Management 콘솔 생성합니다AWS Support
. 자세한 내용은 지원 케이스 생성을 참조하세요. 입력은 서비스 개선 및 향후 개발에 유용합니다.
에픽
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
버킷을 만듭니다. | 가 AWS Transform 활성화된 동일한 AWS 계정 및 리전에서 Amazon S3 버킷을 생성합니다. 이 버킷을 사용하여 메인프레임 애플리케이션 코드를 저장하고,이 버킷을 AWS Transform 사용하여 생성된 문서, 리팩터링된 코드 및 변환과 관련된 기타 파일을 저장합니다. 지침은 Amazon S3 설명서의 버킷 생성을 참조하세요. | 일반 AWS |
샘플 메인프레임 애플리케이션을 준비합니다. |
| 앱 개발자, DevOps 엔지니어 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
IAM Identity Center에 사용자를 추가합니다. | IAM Identity Center에 잠재 사용자를 추가합니다. AWS Transform 설명서의 IAM Identity Center에서 사용자 추가의 지침을 따릅니다. | 관리자 |
사용자를 활성화 AWS Transform 하고 추가합니다. |
| 관리자 |
AWS Transform 웹 애플리케이션에 대한 사용자 액세스를 구성합니다. | 각 사용자는 AWS Transform 웹 애플리케이션에 액세스하기 위한 초대를 수락해야 합니다. AWS Transform 설명서의 초대 수락에 있는 지침을 따릅니다. | 앱 개발자, 앱 소유자 |
AWS Transform 웹 애플리케이션에 로그인합니다. | 로그인 AWS Transform의 지침을 따릅니다. | 앱 개발자, 앱 소유자 |
워크스페이스를 설정합니다. | 사용자가 AWS Transform 웹 애플리케이션에서 협업할 수 있는 워크스페이스를 설정합니다. AWS Transform 설명서의 작업 영역 설정의 지침을 따릅니다. | 관리자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
변환 작업을 생성합니다.. | CardDemo 메인프레임 애플리케이션을 현대화하는 변환 작업을 생성합니다. 지침은 AWS Transform 설명서의 작업 생성 및 시작을 참조하세요. AWS Transform 채팅 인터페이스에서 목표를 설정하라는 메시지가 표시되면 메인프레임 현대화 수행(IBM z/OS를 로 AWS)을 선택한 다음 코드 분석, 기술 설명서 생성, 비즈니스 로직, 코드 분해, 마이그레이션 시퀀스 계획 및 코드를 Java로 변환을 선택합니다. | 앱 개발자, 앱 소유자 |
커넥터를 설정합니다. | CardDemo 메인프레임 애플리케이션이 포함된 Amazon S3 버킷에 대한 커넥터를 설정합니다. 이 커넥터를 사용하면 AWS Transform 가 버킷의 리소스에 액세스하고 연속 변환 함수를 수행할 수 있습니다. 지침은 AWS Transform 설명서의 커넥터 설정을 참조하세요. | 관리자 |
분석을 수행합니다. |
자세한 내용은 AWS Transform 설명서의 코드 분석을 참조하세요. | 앱 개발자, 앱 소유자 |
기술 설명서를 생성합니다. |
자세한 내용은 설명서의 기술 설명서 생성을 참조하세요. AWS Transform | 앱 개발자, 앱 소유자 |
비즈니스 로직을 추출합니다. |
자세한 내용은 AWS Transform 설명서의 비즈니스 로직 추출을 참조하세요. | 앱 개발자, 앱 소유자 |
코드를 분해합니다. |
분해 및 시드에 대한 자세한 내용은 AWS Transform 설명서의 분해를 참조하세요. | 앱 개발자, 앱 소유자 |
마이그레이션 웨이브를 계획합니다. | CardDemo 애플리케이션의 마이그레이션 웨이브를 계획합니다. AWS Transform 설명서의 마이그레이션 웨이브 계획의 지침에 따라 웨이브 계획을 검토하고 편집합니다. | 앱 개발자, 앱 소유자 |
코드를 리팩터링합니다. |
| 앱 개발자, 앱 소유자 |
(선택 사항) Reforge를 사용하여 Java 코드를 개선합니다. |
자세한 내용은 AWS Transform 설명서의 Reforge를 참조하세요. | 앱 개발자, 앱 소유자 |
배포를 간소화합니다. | AWS Transform 는 CloudFormation AWS CDK또는 Terraform에 코드형 인프라(IaC) 템플릿을 제공할 수 있습니다. 이러한 템플릿은 컴퓨팅, 데이터베이스, 스토리지 및 보안 리소스를 비롯한 핵심 구성 요소를 배포하는 데 도움이 됩니다.
자세한 내용은 AWS Transform 설명서의 배포 기능을 참조하세요. | 앱 개발자, 앱 소유자 |
문제 해결
| 문제 | Solution |
|---|---|
AWS Transform 웹 애플리케이션에서 소스 코드 또는 생성된 문서를 볼 수 없습니다. | Amazon S3 버킷에 대한 CORS 권한에 정책을 추가하여를 오리진 AWS Transform 으로 허용합니다. 자세한 내용은 AWS Transform 설명서의 S3 버킷 CORS 권한을 |
관련 리소스
AWS 설명서
메인프레임 애플리케이션의 변환(AWS Transform 문서화)
기타 AWS 리소스
자습서 및 동영상
참고
AWS Transform 는 이전에 메인프레임용 Amazon Q Developer 변환이라고 했습니다.