적용 대상: Azure Logic Apps(표준)
메모
이 미리 보기 기능은 Microsoft Azure 미리 보기에 대한 추가 사용 약관의 적용을 받습니다.
팀이 BizTalk Server 같은 레거시 플랫폼에서 클라우드로 워크로드를 마이그레이션해야 하는 경우 프로세스가 복잡하고 시간이 오래 걸리며 어려울 수 있습니다. 이 작업을 단순화하고 쉽게 하기 위해 Visual Studio Code Azure Logic Apps 마이그레이션 에이전트는 5단계를 통해 이 프로세스를 자동화합니다.
이 빠른 시작 가이드에서는 Visual Studio Code의 Azure Logic Apps 마이그레이션 에이전트를 사용하여 BizTalk Server에서 Azure Logic Apps의 표준 워크플로로 예제 통합 워크로드를 마이그레이션하는 방법을 보여줍니다. 확장을 설치하고, 원본 프로젝트를 열고, 에이전트를 따라 마이그레이션 단계인 검색, 계획, 변환, 유효성 검사 및 배포를 안내하는 방법을 알아봅니다.
메모
마이그레이션 에이전트는 거의 자율적으로 실행되지만 필요한 작업에 대해 특정 명령을 실행할 수 있도록 허용하라는 메시지가 표시될 수 있습니다. 에이전트를 계속하려면 허용을 선택합니다.
자세한 내용은 통합 플랫폼에서 Azure Logic Apps로의 자동화를 참조하세요.
사전 요구 사항
시작하기 전에 다음 요구 사항을 충족해야 합니다.
| 요구 사항 | Purpose |
|---|---|
| Azure 구독 - 체험 계정 가져오기 | Azure 배포(5단계) |
| Azure CLI | Azure 리소스 프로비저닝 및 배포 |
| Visual Studio Code 1.85.0 이상 | 로컬 개발 환경 |
| Azure Logic Apps 마이그레이션 에이전트 확장 | Visual Studio Code의 마이그레이션 에이전트에 필요한 확장 기능 |
| Azure Logic Apps(표준) 확장 | Azure Logic Apps 마이그레이션 에이전트 확장에 대한 필수 종속성 |
| Azure Functions 확장 | 로컬 함수 런타임 및 개발 작업 |
| Azure Functions 핵심 도구 | Azure Logic Apps 대한 로컬 런타임 호스트(표준) |
| GitHub Copilot 구독 | AI 기반 분석, 계획 및 변환 |
| Docker Desktop | 연결을 테스트하고 실행하기 위한 로컬 커넥터 리소스 배포 |
| BizTalk Server 프로젝트가 있는 폴더 | 원본 아티팩트 및 파일이 있는 통합 프로젝트 폴더가 포함된 폴더입니다. 예를 들어 BizTalk 프로젝트 폴더에는 다음 파일 이름 확장명을 가진 파일이 포함됩니다. .btproj.odx.btm.xsd.btp |
1: 마이그레이션 에이전트 확장 설치
Visual Studio 코드를 엽니다.
필요에 따라 통합 프로젝트가 있는 폴더 또는 디렉터리에서 Visual Studio Code 엽니다(예: C:\Migration\<project-folders>)
작업 표시줄에서 확장을 선택합니다. (키보드: Ctrl+Shift+X)
Extensions: Marketplace 검색 상자에서 Azure Logic Apps 마이그레이션 에이전트 확장을 찾은 후 Install 선택합니다.
설치가 완료되면 액티비티 바에 Azure Logic Apps 마이그레이션 에이전트의 아이콘(
)이 표시됩니다.
2: 원본 폴더 선택
Visual Studio Code 작업 표시줄에서 Azure Logic Apps 마이그레이션 에이전트 아이콘(Azure Logic Apps 마이그레이션 에이전트의 경우
)을 선택합니다.Azure Logic Apps 마이그레이션 에이전트 창의 검색 결과 섹션에서 원본 폴더 선택 선택합니다.
팁 (조언)
이 작업을 명령으로 실행하려면 명령 팔레트(키보드: Ctrl+Shift+P)를 엽니다. Azure Logic Apps 마이그레이션 에이전트를 입력하고 실행합니다. 원본 폴더 선택합니다.
BizTalk, MuleSoft 또는 기타 통합 프로젝트가 포함된 원본 폴더를 찾아 선택한 다음, Select Source Project Folder 또는 MSI 선택합니다.
확장은 자동으로 원본 플랫폼을 검색하고 검색 단계부터 마이그레이션 워크플로를 시작합니다.
에이전트의 안내에 따라 각 마이그레이션 단계를 진행하며, 발견 단계부터 시작합니다.
마이그레이션 단계 1: 검색
이 단계에서 마이그레이션 에이전트는 원본 프로젝트에서 통합 아티팩트 찾기 및 카탈로그를 작성합니다. 발견 단계에서는 마이그레이션 에이전트가 다음 순서로 작업을 수행하며, 일부 경우 사용자 입력이 필요합니다. 자세한 내용은 마이그레이션 에이전트: 검색 단계를 참조하세요.
1단계: 원본 플랫폼 검색
마이그레이션 에이전트는 BizTalk Server(.btproj) 파일과 같은 파일 패턴에 따라 원본 플랫폼을 결정합니다.
다음 스크린샷은 검색된 아티팩트 및 종속성 예제를 사용하여 식별된 플랫폼을 보여 줍니다.
Azure Logic Apps 마이그레이션 에이전트 확장과 검색 단계에서 발견된 아티팩트 및 종속성을 보여주는 스크린샷입니다.
2단계: 원본 파일 검사
마이그레이션 에이전트는 플랫폼에 대한 기본 제공 파서로 검색된 원본 파일을 검색합니다. 검사가 완료되면 @migration-analyser Copilot 에이전트가 검색된 아티팩트를 분석하고, 함께 작동하는 아티팩트 집합인 논리 흐름 그룹을 감지합니다.
다음 스크린샷은 각 예제 통합 프로젝트가 논리 흐름 그룹에 매핑되는 방법을 보여줍니다.
생성된 논리 흐름이 레거시 통합 애플리케이션과의 1:1 관계를 항상 반영하지는 않습니다. 마이그레이션 에이전트는 BizTalk 워크로드와 같은 레거시 시스템의 통합 아티팩트가 가장 잘 반영되는 흐름을 Azure Logic Apps 표준 워크플로로 유추합니다.
팁 (조언)
이러한 논리 흐름을 편집하여 1:1을 통합 워크로드에 매핑하려면 GitHub Copilot 사용하고 흐름이 BizTalk 애플리케이션에 매핑되도록 지정합니다. 그러나 BizTalk에 대한 최적이 Azure Logic Apps 표준 워크플로의 최적과 동일하지 않다는 점을 고려합니다. 이 개념은 현대화의 첫 번째 패러다임 변경 중 하나입니다.
3단계: 원본 디자인 분석
마이그레이션 에이전트가 검사를 완료하고 결과 논리 흐름 그룹을 표시한 후 다음 단계를 수행합니다.
홈 탭에서 원하는 논리 흐름 그룹에 대해 원본 디자인 분석을 선택합니다. 예를 들면 다음과 같습니다.
에이전트는 다음 작업을 수행합니다.
오케스트레이션, 스키마, 맵, 파이프라인 및 바인딩을 포함하는 아티팩트 인벤토리를 빌드합니다.
아티팩트 간의 관계를 보여 주는 종속성 그래프를 생성합니다.
종속성 그래프를 생성하기 위해 마이그레이션 에이전트는 다음 작업을 실행합니다.
- 메시지 흐름 및 구성 요소를 보여 주는 아키텍처(인어) 다이어그램을 생성합니다.
- 누락된 종속성을 식별합니다.
- 기능에 대한 간격 분석을 수행합니다.
- 게시-구독, 요청-회신 및 일괄 처리와 같은 통합 패턴을 검색합니다.
- Azure Logic Apps 또는 기타 서비스 대안에 대한 매핑을 제안합니다.
- 결과에 따라 검색 보고서를 생성합니다.
마이그레이션 에이전트가 종속성 그래프를 성공적으로 생성하면 흐름 시각화 도우미가 열리고 다음 대화형 탭이 표시됩니다.
- 아키텍처 다이어그램
- 메시지 흐름
- Components
- 누락된 종속성
- 간격 분석
- 패턴
- BizTalk 알아보기
다음 예제에서는 샘플 생성 흐름 시각화를 보여줍니다.
자세한 내용은 원본 디자인 분석 및 결과를 참조하세요.
분석 결과를 검토하려면 탭을 선택하여 관련 정보를 검토합니다.
4단계: 분석 업데이트 또는 내보내기
분석 결과를 검토한 후 흐름 시각화 도우미 제목 표시줄에서 다음 작업 중 하나를 선택합니다.
액션 Description 변경 제안 분석에 대한 직접 변경 내용을 요청합니다.
Tip: 흐름 그룹에 대한 잠재적 업데이트 또는 수정 사항을 논의하려면 흐름 시각화 도우미에서 Copilot 채팅 창을 사용합니다. 흐름 그룹을 선택하고 에이전트@migration-analyser에게 검색된 아키텍처에 대해 질문합니다. 누락된 간격에 대한 정보를 제공한 다음 분석을 다시 생성합니다.재생 분석 누락된 종속성, 아티팩트 또는 사양 추가와 같은 분석을 업데이트한 후 분석을 다시 실행합니다. 보고서 내보내기 검색 결과를 공유 가능한 형식으로 사용하여 보고서를 생성합니다. 또는 더 많은 흐름을 분석하려면 홈 탭 또는 홈 페이지 아이콘을 선택합니다.
완료되면 계획 단계의 다음 섹션으로 이동합니다.
마이그레이션 단계 2: 계획
분석을 완료한 후 수행할 마이그레이션 로드맵을 만들어 계획 단계를 시작합니다. 자세한 내용은 마이그레이션 에이전트 2단계: 계획을 참조하세요.
홈 탭에서 원하는 논리 흐름 그룹을 선택하고 계획 논리 앱 디자인을 선택합니다.
에이전트는
@migration-planner일반적으로 다음 섹션을 포함하는 마이그레이션 계획을 생성합니다.- 아키텍처
- 추가적인 Azure 구성 요소
- 작업 매핑
- 아티팩트 처리
- 마이그레이션 격차
- 통합 패턴
- 요약
- 노력 추정
- 작업 계획
다음 예제에서는 생성된 샘플 마이그레이션 계획을 보여줍니다.
자세한 내용은 단계 작업 계획을 참조하세요.
변환 단계를 계속하기 전에 각 계획을 주의 깊게 검토합니다. 필요에 따라 업데이트합니다.
계획의 정확도는 변환 출력의 품질에 큰 영향을 줍니다.
계획에 업데이트가 필요한지 여부를 확인하려면 Copilot 채팅을 사용하여
@migration-plannerGitHub Copilot 에이전트 상호 작용하여 다음 작업을 완료합니다.- 특정 매핑에 대해 질문합니다.
- 간격 해결을 위한 대체 방법을 요청합니다.
- 작업 예상을 조정합니다.
- 변환으로 이동하기 전에 계획 수정을 요청합니다.
준비가 되면 홈 페이지를 선택하거나 홈 탭으로 돌아가서 변환 단계로 계속 진행합니다.
마이그레이션 단계 3: 변환
마이그레이션 계획에 만족하는 경우 변환 단계를 시작하여 원본 아티팩트에서 Azure Logic Apps 대한 표준 워크플로, 연결 및 기타 지원 파일로 변환하는 변환 작업을 만들고 실행합니다.
3.1: 변환 작업 만들기
홈 탭에서 논리 흐름에 대해 변환 작업 만들기를 선택합니다.
에이전트는
@migration-converter특정 논리 흐름 그룹에 따라 달라지는 변환 작업을 만듭니다. 다음 목록에서는 이름이 지정된Method Call Processing논리 흐름 그룹에 대한 샘플 변환 태스크에 대해 설명합니다.Step 과업 Description 1 Scaffold Logic Apps Project 필요한 폴더 계층 구조 및 파일을 사용하여 표준 논리 앱 프로젝트 구조를 만듭니다. 2 입력 스키마 변환 BizTalk 주석이 있는 UTF-16인 BizTalk 형식에서 BizTalk 주석이 없는 UTF-8인 표준 XSD로 InputSchema.xsd 파일을 마이그레이션합니다. 3 출력 스키마 변환 BizTalk 주석이 있는 UTF-16인 BizTalk 형식에서 BizTalk 주석이 없는 UTF-8인 표준 XSD로 OutputSchema.xsd 파일을 마이그레이션합니다. 4 < 연결 생성 > 필요한 각 연결에 대한 구성이 포함된 connections.json 파일을 만들거나 업데이트합니다. 5 < 워크플로 생성 > 논리 흐름 그룹에 대한 Azure Logic Apps 표준 워크플로 정의를 포함하는 workflow.json 파일을 만듭니다. 6 로컬 함수 생성(<함수 이름>) 소스 코드에서 사용자 지정 논리에 대한 .NET 8개의 로컬 함수를 만듭니다. 7 런타임 유효성 검사(func start) 실행 func start하여 논리 앱 프로젝트의 유효성을 검사하여 모든 함수와 워크플로가 준비되어 있는지 확인합니다.8 E2E 테스트(행복 경로 및 오류 경로) 해피 경로, 오류 경로 및 필드 수준 유효성 검사에 대한 엔드 투 엔드 테스트를 실행합니다. 9 Black Box 테스트(선택 사항) 제공하는 외부 테스트 데이터를 사용하는 테스트를 실행합니다. 10 클라우드 배포 및 테스트(선택 사항) Azure 배포하고 클라우드 E2E 테스트를 실행합니다. 예제에서는
Method Call Processing논리 흐름 그룹에 대해 생성된 변환 작업의 샘플을 보여 줍니다.다음 섹션에서 홈 페이지를 선택하거나 홈 탭으로 돌아갑니다.
3.2: 변환 작업 실행
에이전트가
@migration-converter각 변환 작업을 실행하도록 하려면 실행을 선택하지만 클라우드 배포 및 테스트 전에 중지합니다. 또는 홈 탭에서 변환 작업 실행 선택과 동일하게 작동하는 모두 실행을 선택합니다.메모
변환 태스크를 실행하는 동안 에이전트에서 파일 편집 권한 또는 액세스 권한을 묻는 메시지를 표시할 수 있습니다. 사용 가능한 옵션을 검토하고 적절하게 응답합니다.
다음 섹션에서 홈 페이지를 선택하거나 홈 탭으로 돌아갑니다.
3.3 출력에서 완전성 및 품질 확인
에이전트는 @migration-converter 즉시 실행 가능한 표준 워크플로 정의 및 배포 가능한 프로젝트 아티팩트 생성합니다. 이 에이전트는 no-stubs-code-generation 이 기술을 사용하여 생성된 모든 코드가 완전하고 완벽하게 작동하고 스텁 구현, 자리 표시자 코드 또는 TODO 주석이 없는지 확인합니다.
테스트를 위해 워크플로를 로컬로 실행하는 유효성 검사 단계에 대해 생성된 출력을 준비하려면 워크플로 정의, 연결 및 생성된 .NET 로컬 함수에서 부정확성을 수동으로 검사해야 합니다.
Important
AI 생성 출력을 사용하기 전에 항상 검토하는 것이 가장 좋습니다. 이러한 출력에는 잘못된 정보가 포함될 수 있습니다.
생성된 출력을 검토하려면 다음 단계를 수행합니다.
Home 탭에서 논리 흐름을 위해Visual Studio Code에서 열기 을 선택합니다.마이그레이션 폴더에서 out 디렉터리로 이동하여 생성된 솔루션 폴더를 선택합니다. 예를 들면 다음과 같습니다.
각
workflow.json파일을 검사하여 트리거 및 작업이 원본 동작과 일치하는지 확인합니다.팁 (조언)
생성된 출력에 대해 질문하거나, 수정을 요청하거나, 특정 워크플로를 다시 생성하려면 Copilot 채팅을 사용하여
@migration-converter에이전트와 상호 작용합니다.connections.json파일에 올바른 커넥터 구성이 있는지 확인합니다.생성된 .NET 로컬 함수를 검토하여 정확성을 확인합니다.
마이그레이션 단계 4: 유효성 검사
유효성 검사 단계의 경우 원본 사양에 대해 생성된 워크플로를 테스트합니다. 고유한 테스트 사례 및 사양을 가져올 수 있습니다. 에이전트는 @migration-converter 런타임 유효성 검사 및 테스트 지침을 제공합니다. 목표는 변환된 워크플로가 예상대로 수행되고 원본 흐름 동작과 일치하는지 확인하는 것입니다.
팁 (조언)
직접 비교를 쉽게 수행하려면 유효성 검사 중에 원본 플랫폼에 대한 테스트 데이터와 예상 출력을 쉽게 사용할 수 있도록 유지합니다.
예를 들어 마이그레이션 계획은 외부 입력을 사용할 수 있는 선택적 블랙박스 테스트 기능을 제공합니다.
워크플로를 로컬로 테스트하기 위한 요구 사항
유효성 검사 단계를 시작하기 전에 테스트를 위해 다음 요구 사항이 설치되어 있는지 확인합니다.
| 요구 사항 | Purpose |
|---|---|
| Azure Logic Apps(표준) 확장 | 필수 확장 종속성 |
| Azure Functions 핵심 도구 | Azure Logic Apps 대한 로컬 런타임 호스트(표준) |
| Docker Desktop | 연결을 테스트하고 실행하기 위한 로컬 커넥터 리소스 배포 |
워크플로 로컬 테스트
생성된 워크플로를 로컬로 실행하려면 다음 단계를 수행합니다.
홈 탭에서 논리 흐름을 위해 Visual Studio Code에서 열기를 선택합니다.
마이그레이션 폴더에서 out 디렉터리로 이동하여 생성된 솔루션 폴더를 선택합니다.
생성된 논리 앱 프로젝트 폴더를 엽니다.
Docker Desktop이 실행 중인지 확인합니다.
런 메뉴에서 시작 디버깅(키보드: F5)을 선택하여 Azure Logic Apps 런타임을 로컬로 시작합니다.
런타임이 시작되고 워크플로가 로컬 엔드포인트에서 사용할 수 있게 됩니다.
샘플 입력 데이터를 사용하여 테스트 요청을 보내거나 워크플로를 트리거합니다.
생성된 워크플로 동작을 원본 동작과 비교하여 불일치 또는 부정확성을 식별합니다.
다음 검사 목록에서는 확인할 동작에 대해 설명합니다.
- 모든 트리거는 예상된 입력 형식으로 올바르게 실행됩니다.
- 동작 시퀀스는 올바른 순서로 실행됩니다.
- 데이터 변환은 예상 출력을 생성합니다.
- 조건부 논리는 입력 데이터를 기반으로 예상된 결과와 올바르게 분기됩니다.
- 루프 구문은 모든 항목을 예상대로 처리합니다.
- 오류 처리 범위는 예외를 적절하게 포착하여 처리합니다.
- 연결 구성은 올바른 엔드포인트로 결정됩니다.
- .NET 로컬 함수는 예상된 결과를 반환합니다.
발견한 불일치 또는 문제를 조사하고 해결합니다.
팁 (조언)
해결 프로세스를 진행하는 데 도움이 되도록 Copilot 채팅을 통해
@migration-converter에이전트와의 불일치 또는 문제를 논의합니다.- Copilot 채팅에서 예상 동작과 실제 동작을 설명합니다.
- 에이전트의 제안된 수정 사항을 검토합니다.
- 에이전트의 권장 사항을 수락하고 변경한 경우 에이전트에 워크플로의 업데이트된 부분을 다시 생성하도록 요청합니다.
마이그레이션 단계 5: 배포
배포 단계에서는 마이그레이션된 표준 솔루션을 Azure 포털의 Azure Logic Apps에 배포합니다.
워크플로 배포를 위한 요구 사항
배포 단계를 시작하기 전에 다음 요구 사항을 충족해야 합니다.
| 요구 사항 | Purpose |
|---|---|
| Azure CLI | Azure 리소스를 프로비전하고 배포합니다. |
| Azure 구독 | 배포에 사용할 대상 구독입니다. |
| 기여자 액세스 | 대상 리소스 그룹에 리소스를 만들기 위한 역할 기반 액세스입니다. |
생성된 워크플로를 로컬로 실행하고 해당 동작이 원본 동작과 일치하는지 확인하는 등 마이그레이션 에이전트 1단계(검색)~4(유효성 검사)를 완료했는지 확인합니다.
1단계: 배포에 대한 확장 설정 설정
Visual Studio Code 확장 설정을 엽니다. 파일 메뉴에서 환경설정>설정>확장 기능>Azure Logic Apps 마이그레이션 에이전트로 이동합니다.
다음 배포 설정 값을 적절하게 업데이트합니다.
설정 이름 JSON 이름 Description 기본값 액션 위치 logicAppsMigrationAssistant.azure.location리소스를 프로비전하기 위한 Azure 지역입니다. eastus이 값을 원하는 지역으로 변경합니다. 리소스 그룹 logicAppsMigrationAssistant.azure.resourceGroup프로비전 및 테스트를 위한 Azure 리소스 그룹입니다. integration-migration-tool-test-rg이 값을 원하는 리소스 그룹 이름으로 변경합니다. 구독 ID logicAppsMigrationAssistant.azure.subscriptionId배포에 대한 Azure 구독 ID입니다. (비어 있음) Azure 구독의 GUID를 입력합니다. 배포 모델 logicAppsMigrationAssistant.deploymentModelAzure Logic Apps 대상 배포 모델(표준)입니다. workflow-service-plan적절한 경우 이 값을 .로 변경합니다 hybrid.
2단계: 배포 프로세스 시작
Azure에 배포를 시작하려면 다음 단계를 따르십시오.
Azure 구독으로 Azure CLI 로그인합니다. 예를 들면 다음과 같습니다.
az loginAzure Logic Apps 마이그레이션 에이전트 창에서 마이그레이션 계획으로 이동하여 Cloud 배포 및 테스트Execute 선택합니다.
마이그레이션 에이전트는 필요한 인프라를 프로비전하고 Azure CLI 사용하여 표준 논리 앱 리소스 및 워크플로를 배포합니다.
다음 예제에서는 완전히 마이그레이션된 샘플 솔루션을 보여줍니다.
Visual Studio Code와 완전히 마이그레이션된 솔루션을 보여주는 스크린샷입니다.
3단계: 배포 확인
배포가 완료되면 표준 워크플로가 Azure 포털에 표시되는지 확인합니다.
Azure 포털 검색 상자에
logic apps입력한 다음, Logic 앱을 선택합니다.논리 앱 페이지에서 표준 논리 앱 리소스를 선택합니다.
논리 앱 사이드바의 워크플로에서 워크플로를 확장합니다. 워크플로 페이지에서 예상되는 모든 워크플로가 표시되는지 확인합니다. 해당 상태가 활성화되어 있는지 확인합니다.
메모
사용하지 않도록 설정된 워크플로의 경우 워크플로 확인란을 선택합니다. 워크플로 도구 모음에서 [사용]을 선택합니다.
샘플 입력을 사용하여 각 워크플로를 테스트하여 예상대로 작동하는지 확인합니다.
런타임 오류 또는 성능 문제를 찾으려면 표준 논리 앱 리소스에 대한 Application Insights 페이지로 이동합니다.
논리 앱 사이드바의 모니터링 아래에서 Application Insights를 선택합니다.
Application Insights 리소스에 대한 링크 아래에서 Application Insights 리소스에 대한 링크를 선택합니다.
마이그레이션 다시 설정
마이그레이션을 처음부터 다시 시작할 수 있습니다. 다음 명령은 마이그레이션 상태를 지우고 검색 단계로 다시 시작할 수 있도록 합니다.
Visual Studio Code 명령 팔레트(키보드: Ctrl+Shift+P)를 엽니다.
프롬프트에서 Azure Logic Apps 마이그레이션 에이전트: 마이그레이션 다시 설정 입력합니다.