기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 CardDemo 메인프레임 애플리케이션 현대화 AWS Transform
작성자: Santosh Kumar Singh(AWS) 및 Cheryl du Preez(AWS)
요약
AWS Transform
이 패턴은 샘플 오픈 소스 메인프레임 애플리케이션인 CardDemo
사전 조건 및 제한 사항
사전 조건
활성 AWS 계정
AWS IAM Identity Center, 활성화됨
관리자가 를 활성화할 수 있는 권한 AWS Transform
관리자가 AWS Transform 웹 애플리케이션에 대한 Amazon Simple Storage Service(Amazon S3) 연결 요청을 수락할 수 있도록 허용하는 권한
제한 사항
AWS Transform 는 일부에서만 사용할 수 있습니다 AWS 리전. 지원되는 리전의 전체 목록은 지원되는 리전을 참조하세요 AWS Transform
. AWS Transform 는 공통 비즈니스 지향 언어(COBOL)에서 Java로의 코드 분석, 문서 생성, 비즈니스 규칙 추출, 분해 및 리팩터링을 지원합니다. 자세한 내용은 기능 및 주요 기능, 메인프레임 애플리케이션의 변환에 지원되는 파일 유형을 참조하세요.
에는 메인프레임 변환 기능에 대한 서비스 할당량이 있습니다 AWS Transform. 자세한 내용은 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는 변환 후 사용할 수 있는 선택적 단계입니다. 이 단계에서는 LLMs 사용하여 코드를 네이티브 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 Console 생성합니다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 변환이라고 했습니다.