Azure Portal을 사용하여 표준 논리 앱 워크플로 예 만들기
적용 대상: Azure Logic Apps(표준)
이 방법 가이드에서는 인바운드 웹 요청을 기다렸다가 메일 계정으로 메시지를 보내는 자동화된 워크플로 예제를 만드는 방법을 보여 줍니다. 보다 구체적으로 말하면 단일 테넌트 Azure Logic Apps에서 실행되는 여러 상태 저장 및 상태 비저장 워크플로를 포함할 수 있는 표준 논리 앱 리소스를 만듭니다.
- 요청 트리거는 모든 호출자의 인바운드 요청을 처리할 수 있는 호출 가능한 엔드포인트를 만듭니다.
- 이메일을 보내는 작업을 제공하는 Office 365 Outlook 커넥터.
완료되면 워크플로는 다음의 상위 수준 예와 같습니다.
표준 논리 앱에는 여러 개의 워크플로가 있을 수 있습니다. 동일한 논리 앱과 테넌트에 있는 워크플로는 Azure Logic Apps 런타임과 동일한 프로세스에서 실행되므로 같은 리소스를 공유하고 더 우수한 성능을 제공합니다.
팁
자세한 내용은 Azure Copilot에 다음 질문을 하면 됩니다.
- Azure Logic Apps란?
- 표준 논리 앱 워크플로란?
- 요청 트리거란?
- Office 365 Outlook 커넥터란?
Azure Copilot을 찾으려면 Azure Portal 도구 모음에서 Copilot을 선택합니다.
이 예의 작업은 워크플로에서 사용할 수 있는 1000개 이상의 커넥터 중 두 개의 커넥터에서 수행됩니다. 이 예는 클라우드 기반이지만 클라우드, 온-프레미스 및 하이브리드 환경에서 다양한 앱, 데이터, 서비스 및 시스템을 통합하는 워크플로를 만들 수 있습니다.
진행하면서 다음과 같은 간략한 작업을 완료합니다.
일반적으로 사용되는 패턴을 따르는 미리 작성된 템플릿에서 표준 논리 앱 워크플로를 만들려면 미리 작성된 템플릿에서 표준 논리 앱 워크플로 만들기를 참조하세요.
다른 도구를 사용하여 표준 논리 앱 워크플로를 만들고 관리하려면 Visual Studio Code로 표준 워크플로 만들기를 참조하세요. Visual Studio Code를 사용하면 로컬 개발 환경에서 워크플로를 개발, 테스트하고 실행할 수 있습니다.
자세한 내용은 다음 설명서를 참조하세요.
필수 조건
Azure 계정 및 구독 구독이 없는 경우 Azure 체험 계정에 등록합니다.
Azure Storage 계정. 스토리지 계정이 없는 경우, 논리 앱을 만들 때 또는 그 전에 만들 수 있습니다.
참고 항목
표준 논리 앱 리소스 종류는 Azure Functions에서 지원하며, 함수 앱과 유사한 스토리지 요구 사항이 있습니다. 상태 저장 워크플로는 큐를 사용하여 워크플로 상태를 예약하고 테이블 및 Blob에 저장하는 등의 스토리지 트랜잭션을 수행합니다. 이러한 트랜잭션은 스토리지 요금을 발생시킵니다. 상태 저장 워크플로가 외부 스토리지에 데이터를 저장하는 방법에 대한 자세한 내용은 상태 저장 및 상태 비저장 워크플로를 참조하세요.
Office 365 Outlook, Outlook.com, Gmail 등 Azure Logic Apps에서 지원되는 메일 공급자의 메일 계정. 지원되는 다른 이메일 공급자에 대해서는 Azure Logic Apps용 커넥터를 참조하세요.
이 예에서는 회사 또는 학교 계정으로 Office 365 Outlook을 사용합니다. 다른 이메일 계정을 사용하는 경우 일반적인 단계는 동일하지만 사용자 환경이 약간 다를 수 있습니다. Outlook.com을 사용하는 경우 개인 Microsoft 계정을 사용하여 로그인합니다.
참고 항목
Gmail 커넥터를 사용하려는 경우 G Suite 비즈니스 계정만 논리 앱 워크플로에서 제한 없이 이 커넥터를 사용할 수 있습니다. Gmail 소비자 계정이 있는 경우 특정 Google 승인 서비스에서만 이 커넥터를 사용하거나 Gmail 커넥터 인증에 사용할 Google 클라이언트 앱을 만들 수 있습니다. 자세한 내용은 Azure Logic Apps의 Google 커넥터에 대한 데이터 보안 및 개인정보처리방침을 참조하세요.
솔루션을 테스트하기 위해 HTTP 요청을 보낼 수 있는 도구를 설치하거나 사용합니다. 예를 들면 다음과 같습니다.
- Visual Studio Marketplace의 확장이 포함된 Visual Studio Code
- PowerShell Invoke-RestMethod
- Microsoft Edge - 네트워크 콘솔 도구
- Bruno
- curl
주의
자격 증명, 비밀, 액세스 토큰, API 키 및 기타 유사한 정보와 같은 중요한 데이터가 있는 시나리오의 경우 필요한 보안 기능으로 데이터를 보호하고, 오프라인 또는 로컬로 작동하며, 데이터를 클라우드에 동기화하지 않고, 온라인 계정에 로그인할 필요가 없는 도구를 사용해야 합니다. 이렇게 하면 중요한 데이터가 대중에게 노출되는 위험을 줄일 수 있습니다.
App Service Environment v3(ASEv3) - Windows 플랜 전용에 표준 논리 앱 리소스를 배포하려면 먼저 이 환경 리소스를 만들어야 합니다. 그런 다음, 논리 앱을 만들 때 이 환경을 배포 위치로 선택할 수 있습니다. 자세한 내용은 리소스 형식 및 환경 및 App Service Environment 만들기를 참조하세요.
프리미엄 통합 계정의 프라이빗 엔드포인트에서 표준 논리 앱 워크플로로 통신을 사용하도록 설정하려면 기존 Azure 가상 네트워크가 있어야 합니다. 논리 앱, 가상 네트워크 및 통합 계정은 모두 동일한 Azure 지역을 사용해야 합니다. 논리 앱과 통합 계정은 모두 동일한 가상 네트워크 내에 있어야 합니다. 자세한 내용은 가상 네트워크 만들기를 참조하세요.
논리 앱에서 Application Insights를 사용하도록 설정하면 선택적으로 진단 로깅 및 추적을 사용하도록 설정할 수 있습니다. 논리 앱을 만들 때 또는 배포 후에 설정할 수 있습니다. Application Insights 인스턴스가 필요하지만, 논리 앱을 만들 때 이 리소스를 미리 만들거나 배포 후에 만들 수 있습니다.
모범 사례 및 추천 사항
최적의 디자이너 응답성과 성능을 위해 다음 지침을 검토하고 따릅니다.
워크플로당 50개 이하의 작업을 사용합니다. 이 작업 수를 초과하면 디자이너 성능이 느려질 가능성이 높아집니다.
필요한 경우 비즈니스 논리를 여러 워크플로로 분할하는 것을 고려합니다.
논리 앱 리소스당 워크플로가 10~15개 이하입니다.
논리 앱의 워크플로가 많을수록 로드 시간이 길어질 위험이 높아지는데 이는 성능에 부정적인 영향을 줍니다. 가동 중지 시간이 0인 중요 업무용 논리 앱이 있는 경우 배포 슬롯을 설정하는 것을 고려합니다.
표준 논리 앱 리소스 만들기
Azure Portal에서 Azure 계정을 사용하여 로그인합니다.
Azure Portal 검색 상자에 논리 앱을 입력하고 논리 앱을 선택합니다.
Logic Apps 페이지 도구 모음에서 추가를 선택합니다.
논리 앱 만들기 페이지가 나타나고 다음 옵션이 표시됩니다.
계획 설명 소비 다중 테넌트 Azure Logic Apps에서 실행되는 단 하나의 워크플로만 지원하고 청구를 위한 사용량 모델을 사용하는 논리 앱 리소스를 만듭니다. Standard 여러 워크플로를 지원하는 논리 앱 리소스를 만듭니다. 다음 옵션이 있습니다.
- 워크플로 서비스 계획: 워크플로는 단일 테넌트 Azure Logic Apps에서 실행되며 청구를 위한 표준 모델을 사용합니다.
- App Service Environment V3: 워크플로는 단일 테넌트 Azure Logic Apps에서 실행되며 청구를 위해 App Service Environment 계획을 사용합니다.
- 하이브리드(미리 보기): 워크플로는 KUbernetes KEDA(이벤트 기반 자동 크기 조정)를 사용하여 온-프레미스 및 여러 클라우드에서 실행됩니다. 자세한 내용은 하이브리드 배포를 위한 표준 워크플로 만들기를 참조하세요.논리 앱 만들기 페이지에서 표준(워크플로 서비스 계획)을 선택합니다.
플랜 유형 설명 Standard 이 논리 앱 유형은 기본 선택 영역입니다. 워크플로는 단일 테넌트 Azure Logic Apps에서 실행되며 표준 가격 책정 모델을 사용합니다. 소비 이 논리 앱 유형 및 워크플로는 전역 다중 테넌트 Azure Logic Apps에서 실행되며 사용량 가격 책정 모델을 사용합니다. 논리 앱 만들기 페이지의 기본 사항 탭에서 논리 앱에 대한 다음 기본 정보를 제공합니다.
속성 필요함 값 Description 구독 예 <Azure-subscription-name> Azure 구독 이름.
이 예에서는 종량제를 사용합니다.리소스 그룹 예 <Azure-resource-group-name> 논리 앱 및 관련 리소스를 만드는 Azure 리소스 그룹입니다. 해당 이름은 모든 Azure 지역에서 고유해야 하고 문자, 숫자, 하이픈(-), 밑줄(_), 괄호(()), 마침표(.)만 포함할 수 있습니다.
이 예제에서는 Fabrikam-Workflows-RG라는 리소스 그룹을 만듭니다.논리 앱 이름 예 <logic-app-name> 모든 Azure 지역에서 고유해야 하고 문자, 숫자, 하이픈(-), 밑줄(_), 괄호(()) 및 마침표(.)만 포함할 수 있는 논리 앱 리소스 이름입니다.
참고: 표준 논리 앱 리소스는 Azure Functions 확장성 모델을 사용하고 Azure Functions 런타임에서 확장으로 호스트되는 단일 테넌트 Azure Logic Apps 런타임을 통해 지원되기 때문에 논리 앱 이름에 자동으로 .azurewebsites.net 접미사가 붙습니다. Azure Functions는 동일한 앱 명명 규칙을 사용합니다.
이 예에서는 Fabrikam-Workflows라는 논리 앱 리소스를 만듭니다.지역 예 <Azure-region> 논리 앱에 대한 Azure 데이터 센터 지역입니다.
이 예제에서는 미국 서부를 사용합니다.Windows 플랜 예 <plan-name> 사용할 계획 이름입니다. 기존 계획 이름을 선택하거나 새 계획의 이름을 입력합니다.
이 예에서는 My-App-Service-Plan 이름을 사용합니다
참고: Linux 기반 App Service 요금제를 사용하지 마세요. Windows 기반 App Service 요금제만 지원됩니다.요금제 예 <pricing-tier> 논리 앱 및 워크플로에 사용할 가격 책정 계층입니다. 선택한 내용에 따라 논리 앱과 워크플로에서 사용하는 가격 책정, 컴퓨팅, 메모리 및 스토리지에 영향이 있습니다.
자세한 내용은 호스팅 계획과 가격 책정 계층을 참조하세요.참고 항목
가용성 영역 중복을 지원하는 Azure 지역을 선택하면 영역 중복 섹션이 사용하도록 설정됩니다. 이 섹션에서는 논리 앱에 대해 가용성 영역 중복성을 사용하도록 설정하는 선택 사항을 제공합니다. 그러나 현재 지원되는 Azure 지역에는 미국 서부가 포함되어 있지 않으므로 이 예에서는 이 섹션을 무시해도 됩니다. 자세한 내용은 영역 중복 및 가용성 영역을 사용하여 지역 오류로부터 논리 앱 보호를 참조하세요.
완료하면 설정은 다음 예제와 유사하게 표시됩니다.
참고 항목
FUNCTIONS_WORKER_RUNTIME 앱 설정은 표준 논리 앱에 필요하며, 이 값은 이전에 노드로 설정되었습니다. 그러나 이제 모든 신규 및 기존 배포 표준 논리 앱에 필요한 값이 dotnet 입니다. 이 값 변경은 워크플로의 런타임에 영향을 주지 않으므로 모든 것이 이전과 동일한 방식으로 작동해야 합니다. 자세한 내용은 FUNCTIONS_WORKER_RUNTIME 앱 설정을 참조하세요.
APP_KIND 앱 설정 값은 표준 논리 앱에 필요하며 값은 workflowApp이어야 합니다. 그러나 일부 시나리오에서는 Azure Resource Manager 템플릿을 사용하는 자동화 또는 설정이 포함되지 않은 다른 시나리오로 인해 이 앱 설정이 누락될 수 있습니다. JavaScript 코드 실행 작업과 같은 특정 작업이 작동하지 않거나 워크플로가 작동을 중지하는 경우 APP_KIND 앱 설정이 존재하고 workflowApp으로 설정되어 있는지 확인합니다. 자세한 내용은 APP_KIND 앱 설정을 참조하세요.
완료되면 다음: 스토리지를 선택합니다.
스토리지 탭에서 논리 앱에 사용할 수 있도록 스토리지 솔루션 및 호스팅 플랜에 관한 다음 정보를 제공합니다.
속성 필요함 값 설명 스토리지 유형 예 - Azure Storage
- SQL 및 Azure Storage워크플로 관련 아티팩트 및 데이터에 사용할 스토리지 유형입니다.
- Azure에만 배포하려면 Azure Storage를 선택합니다.
- SQL을 기본 스토리지로 사용하고 Azure Storage를 보조 스토리지로 사용하려면 SQL 및 Azure Storage를 선택하고 단일 테넌트 Azure Logic Apps에서 표준 논리 앱의 SQL 데이터베이스 스토리지 설정을 검토합니다.
참고: Azure 지역에 배포하는 경우에도 Azure Storage 계정이 필요합니다. 이 계정은 Azure Logic Apps 플랫폼에서 논리 앱 구성의 일회성 호스팅을 완료하는 데 사용됩니다. 워크플로의 상태, 실행 기록 및 기타 런타임 아티팩트가 SQL 데이터베이스에 저장됩니다.
Azure Arc 클러스터에서 호스팅되는 사용자 지정 위치에 배포하는 경우 스토리지 공급자로 SQL만 있으면 됩니다.스토리지 계정 예 <Azure-storage-account-name> 스토리지 트랜잭션에 사용할 Azure Storage 계정입니다.
이 리소스 이름은 모든 지역에서 고유해야 하며 숫자와 소문자만 포함된 3-24자여야 합니다. 기존 계정을 선택하거나 새 계정을 만듭니다.
이 예제에서는 mystorageacct라는 스토리지 계정을 만듭니다.네트워킹 탭에서 기본 옵션을 그대로 두고 예를 따라 수행합니다. 그러나 구체적인 실제 시나리오에서는 다음 적절한 옵션을 검토하고 선택해야 합니다. 논리 앱 리소스를 배포한 후 이 구성을 변경할 수도 있습니다. 자세한 내용은 프라이빗 엔드포인트를 사용하여 표준 논리 앱과 Azure 가상 네트워크 간의 트래픽 보호를 참조하세요.
다음 공용 액세스 사용 설정은 논리 앱의 엔드포인트에 적용되며 논리 앱이 동일한 가상 네트워크에 있는 Azure 리소스(예: 프라이빗 엔드포인트가 있는 프리미엄 통합 계정)와 통신할 수 있는지 여부에는 영향을 미치지 않습니다. 이러한 Azure 리소스에 액세스하려면 논리 앱이 해당 리소스와 동일한 가상 네트워크에 있어야 합니다.
공용 액세스 사용 동작 설정 논리 앱에는 인터넷에 개방된 인바운드 주소가 있는 공용 엔드포인트가 있습니다. Azure 가상 네트워크 외부에 있는 클라이언트는 이 엔드포인트를 사용하여 논리 앱에 액세스할 수 있지만 가상 네트워크에는 액세스할 수 없습니다. 해제 논리 앱에 퍼블릭 엔드포인트가 없지만 대신 Azure 가상 네트워크 내에서 통신하기 위한 프라이빗 엔드포인트가 있으며 해당 가상 네트워크 내에서 격리됩니다. 프라이빗 엔드포인트는 가상 네트워크의 엔드포인트와 통신할 수 있지만 해당 네트워크 내의 클라이언트에서만 통신할 수 있습니다. 또한 이 구성은 논리 앱 트래픽이 네트워크 보안 그룹에 의해 제어되거나 가상 네트워크 경로의 영향을 받을 수 있음을 의미합니다. 다음 설정은 가상 네트워크의 엔드포인트에 대한 표준 논리 앱 액세스를 제어합니다.
네트워크 삽입 사용 동작 설정 논리 앱 워크플로는 가상 네트워크의 엔드포인트와 비공개로 안전하게 통신할 수 있습니다.
프리미엄 통합 계정에서 논리 앱과 프라이빗 엔드포인트 간 통신을 사용하도록 설정하려면 이 옵션을 선택합니다. 그러면 Virtual Network 섹션도 사용할 수 있습니다. 가상 네트워크의 경우 사용할 Azure 가상 네트워크를 선택합니다. 이 선택을 하면 인바운드 액세스 및 아웃바운드 액세스 섹션을 사용할 수 있습니다.해제 논리 앱 워크플로는 가상 네트워크의 엔드포인트와 통신할 수 없습니다. 네트워크 주입 사용이 켜기로 설정된 경우 가상 네트워크를 선택하면 다음 섹션이 나타납니다.
인바운드 액세스
- 프라이빗 엔드포인트 사용: 표준 논리 앱의 프라이빗 엔드포인트에 적용되며 공용 액세스 사용이 끄기로 설정된 경우에만 사용할 수 있습니다.
아웃바운드 액세스
- VNet 통합 사용: 표준 논리 앱과 프리미엄 통합 계정의 프라이빗 엔드포인트 간 통신을 사용하도록 설정하려면 켜기와 사용할 서브넷을 선택합니다.
만들기 및 배포 설정이 Application Insights 사용을 지원하는 경우 다음 단계에 따라 논리 앱 워크플로에 대한 진단 로깅 및 추적을 선택적으로 사용하도록 설정할 수 있습니다.
모니터링 탭의 Application Insights에서 Application Insights 사용을 예로 설정합니다.
Application Insights 설정에서 기존 Application Insights 인스턴스를 선택하거나, 새 인스턴스를 만들려는 경우 새로 만들기를 선택하고 사용할 이름을 입력합니다.
Azure가 논리 앱 설정의 유효성을 검사한 후 검토 + 만들기 탭에서 만들기를 선택합니다. 예를 들면 다음과 같습니다.
참고 항목
이 단계 중에 유효성 검사 오류가 발생하는 경우 오류 정보를 열고 검토합니다. 예를 들어 선택한 지역이 만들려는 리소스의 할당량에 도달하는 경우 다른 지역을 시도해야 할 수도 있습니다.
Azure에서 배포를 완료하면 논리 앱 리소스가 자동으로 활성화되지만, 리소스가 비어 있고 아직 워크플로를 추가하지 않았기 때문에 아직 아무런 작업도 수행하지 않습니다.
빈 워크플로를 추가할 수 있도록 배포 완료 페이지에서 리소스로 이동을 선택합니다.
빈 워크플로 추가
빈 논리 앱 리소스를 만든 후 첫 번째 워크플로를 추가해야 합니다.
Azure가 리소스를 열면 논리 앱 메뉴의 워크플로에서 워크플로를 선택합니다. 워크플로 도구 모음에서 추가를 선택합니다.
새 워크플로 창이 열리면 워크플로의 이름을 입력하고, 상태 저장 또는 상태 비저장 중에서 상태 유형을 선택합니다. 완료되면 만들기를 선택합니다.
이 예제에서는 Stateful-Workflow라는 빈 상태 저장 워크플로를 추가합니다. 기본적으로 워크플로는 사용하도록 설정되지만 사용자가 트리거 및 작업을 추가하기 전에는 아무 것도 수행하지 않습니다.
워크플로 목록에서 빈 상태 저장 워크플로를 선택합니다.
워크플로 메뉴의 개발자에서 디자이너를 선택합니다.
디자이너 화면에 트리거 작업을 선택하라는 프롬프트가 표시됩니다. 기본적으로 사용 가능한 트리거가 있는 창이 이미 열려 있는 것처럼 보이도록 프롬프트가 이미 선택되어 있습니다.
이제 워크플로를 시작하는 트리거를 추가합니다.
트리거 추가
이 예제 워크플로는 HTTP 요청을 받을 때라는 기본 제공 요청 트리거로 시작합니다. 이 트리거는 다른 서비스 또는 논리 앱 워크플로가 호출할 수 있는 엔드포인트를 만들고 해당 인바운드 호출 또는 요청이 도착할 때까지 기다립니다. 기본 제공 작업은 기본적으로 Azure Logic Apps 런타임 내에서 직접 실행됩니다.
워크플로 디자이너에서 빈 워크플로가 열려 있고 디자이너 화면에서 트리거 추가 프롬프트가 선택되어 있는지 확인합니다.
request를 검색어로 사용하여 다음 단계에 따라 HTTP 요청을 받을 때라는 기본 제공 요청 트리거를 워크플로에 추가합니다.
트리거가 디자이너에 표시되면 트리거의 정보 창이 열리고 트리거의 속성, 설정 및 기타 작업이 표시됩니다.
워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.
워크플로가 요청 트리거로 시작하는 경우 해당 워크플로를 처음 저장할 때 Azure Logic Apps는 요청 트리거에서 만든 엔드포인트의 URL을 자동으로 생성합니다. 나중에 워크플로를 테스트할 때 이 URL로 요청을 보냅니다. 그러면 트리거가 실행되고 워크플로가 실행되기 시작합니다.
작업 추가
이 예제 워크플로는 전자 메일 보내기라는 Office 365 Outlook 관리 커넥터 작업으로 계속됩니다. 관리형 커넥터 작업은 Azure에서 실행되고 Azure Logic Apps 런타임에서는 기본적으로 직접 실행됩니다.
디자이너에서 추가한 트리거 아래에 있는 더하기 기호(+)>동작 추가를 선택합니다.
다음 작업을 선택할 수 있도록 작업 추가 창이 열립니다.
Office 전자 메일 보내기를 검색어로 사용하여 다음 단계에 따라 전자 메일 보내기(V2)라는 Office 365 Outlook 작업을 워크플로에 추가합니다.
작업 정보 창의 연결 만들기 탭에서 로그인을 선택합니다. 그러면 이메일 계정에 연결할 수 있습니다.
이메일 계정에 액세스할지를 묻는 메시지가 표시되면 계정 자격 증명을 사용하여 로그인합니다.
참고 항목
오류 메시지 "오류로 인해 실패: '브라우저가 닫혔습니다.' 다시 로그인하세요."가 표시되면, 브라우저에서 타사 쿠키를 차단하는지 확인합니다. 쿠키가 차단된 경우 쿠키를 사용할 수 있는 사이트 목록에 https://portal.azure.com을 추가해 봅니다. 시크릿 모드를 사용하는 경우 이 모드에서 작업하는 동안 타사 쿠키가 차단되지 않도록 합니다.
필요한 경우 페이지를 다시 로드하고, 워크플로를 열고, 이메일 작업을 다시 추가하고, 연결을 시도합니다.
Azure가 연결에 성공하면 이메일 보내기 작업이 디자이너에 표시되고 기본적으로 선택됩니다. 이 작업이 선택되지 않으면 이 작업을 선택하여 정보 창도 엽니다.
작업 정보 창의 매개 변수 탭에서 작업에 필요한 정보를 입력합니다. 예를 들면 다음과 같습니다.
속성 필요함 값 설명 받는 사람 예 <your-email-address> 이메일을 받는 사람. 테스트 목적의 이메일 주소를 사용할 수 있습니다. 이 예제에서는 가상의 이메일 주소 sophiaowen@fabrikam.com을 사용합니다. 주제 예 예제 워크플로의 메일 이메일 제목 본문 예 예제 워크플로의 Hello! 이메일 본문 내용 참고 항목
설정, 정적 결과 또는 다음 시간 이후에 실행의 정보 창에서 변경 작업을 수행한 경우 탭을 전환하거나 포커스를 디자이너로 이동하기 전에 완료를 선택하여 변경 내용을 커밋해야 합니다. 그렇지 않으면 디자이너가 변경 내용을 유지하지 않습니다.
워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.
현재 환경에 트래픽을 제한하는 엄격한 네트워크 요구 사항 또는 방화벽이 있는 경우 정규화된 도메인 이름을 찾으려면 워크플로에 있는 트리거 또는 작업 연결에 대한 정규화된 도메인 이름을 검색하려면 방화벽 액세스용 도메인 이름 찾기를 확인하세요.
그렇지 않고 워크플로를 테스트하려면 실행을 수동으로 트리거합니다.
디자이너에서 항목 삭제
디자이너에서 워크플로의 항목을 삭제하려면 다음 단계 중 하나를 수행합니다:
항목을 선택하고 항목의 바로 가기 메뉴(Shift+F10)를 열고 삭제를 선택합니다. 확인하려면 확인을 선택합니다.
항목을 선택하고 삭제 키를 누릅니다. 확인하려면 확인을 선택합니다.
항목을 선택하면 해당 항목에 대한 정보 창이 열립니다. 이 창의 오른쪽 위 모서리에서 줄임표(...) 메뉴를 열고 삭제를 선택합니다. 확인하려면 확인을 선택합니다.
팁
줄임표 메뉴가 표시되지 않는 경우 정보 창의 오른쪽 위 모서리에 줄임표(...) 단추가 표시되도록 브라우저 창을 충분히 넓게 확장합니다.
방화벽 액세스를 위한 도메인 이름 찾기
Azure Portal에서 논리 앱을 배포하고 워크플로를 실행하기 전에, 현재 환경에 트래픽을 제한하는 엄격한 네트워크 요구 사항 또는 방화벽이 있는 경우 논리 앱에 있는 트리거 또는 작업 연결에 대한 네트워크 또는 방화벽 권한을 워크플로에서 설정해야 합니다.
논리 앱 및 워크플로에서 사용하는 인바운드 및 아웃바운드 IP 주소를 찾으려면 다음 단계를 수행합니다.
논리 앱 메뉴의 설정에서 네트워킹을 선택합니다.
네트워킹 창에서 인바운드 트래픽 및 아웃바운드 트래픽 섹션을 찾아 검토합니다.
연결에 대한 FQDN(정규화된 도메인 이름)을 찾으려면 다음 단계를 수행합니다.
논리 앱 메뉴의 워크플로에서 연결을 선택합니다. API 연결 탭에서 연결의 리소스 이름을 선택합니다. 예를 들면 다음과 같습니다.
브라우저의 오른쪽 위 모서리에 JSON 보기가 표시되도록 브라우저 너비를 충분히 확장하고 JSON 보기를 선택합니다.
방화벽을 설정할 때 이 정보를 사용할 수 있도록 connectionRuntimeUrl 속성 값을 복사하고 안전한 위치에 저장합니다.
각 연결에 대해 관련 단계를 반복합니다.
워크플로 트리거
이 예제의 워크플로는 요청 트리거가 인바운드 요청을 수신할 때 실행되고, 인바운드 요청은 트리거에서 만든 엔드포인트의 URL로 전송됩니다. 워크플로를 처음 저장할 때 Azure Logic Apps에서 이 URL을 자동으로 생성했습니다. 따라서 이 요청을 보내서 워크플로를 트리거하려면 먼저 이 URL을 찾아야 합니다.
워크플로 디자이너에서 HTTP 요청을 수신하는 경우 요청 트리거를 선택합니다.
정보 창이 열리면 매개 변수 탭에서 HTTP POST URL 속성을 찾습니다. 생성된 URL을 복사하려면 Rrl 복사(파일 복사 아이콘)를 선택하고, 지금은 다른 위치에 URL을 저장합니다. URL은 다음 형식을 따릅니다.
https://<*logic-app-name*>.azurewebsites.net:443/api/<*workflow-name*>/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<*shared-access-signature*>
이 예제의 URL은 다음과 같습니다.
https://fabrikam-workflows.azurewebsites.net:443/api/Fabrikam-Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=xxxxxXXXXxxxxxXXXXxxxXXXXxxxxXXXX
팁
워크플로 URL 속성의 논리 앱 개요 페이지에서 엔드포인트 URL을 찾을 수도 있습니다.
- 리소스 메뉴에서 개요를 선택합니다.
- 개요 창에서 워크플로 URL 속성을 찾습니다.
- 엔드포인트 URL을 복사하려면 엔드포인트 URL 텍스트의 끝으로 포인터를 이동하고 클립보드로 복사(파일 복사 아이콘)를 선택합니다.
엔드포인트 URL을 테스트하고 워크플로를 트리거하려면 HTTP 요청 도구와 해당 지침을 사용하여 요청 트리거가 예상하는 메서드를 포함하여 URL에 HTTP 요청을 보냅니다.
이 예에서는 다음 샘플과 같이 복사된 URL과 함께 GET 메서드를 사용합니다.
GET https://fabrikam-workflows.azurewebsites.net:443/api/Fabrikam-Stateful-Workflow/triggers/manual/invoke?api-version=2020-05-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=xxxxxXXXXxxxxxXXXXxxxXXXXxxxxXXXX
트리거가 실행되면 이 예제 워크플로가 실행되고 다음과 비슷한 이메일을 보냅니다.
워크플로 실행 기록 검토
상태 저장 워크플로 실행이 완료되면 전체 실행, 트리거 및 각 작업의 상태를 입력 및 출력과 함께 포함하여 워크플로의 실행 기록을 볼 수 있습니다. Azure Portal에서 워크플로 실행 기록 및 트리거 기록은 논리 앱 리소스 수준이 아닌 워크플로 수준에 표시됩니다. 자세한 내용은 워크플로 실행 기록 검토 및 트리거 기록 검토를 참조하세요.
이 예제 워크플로의 경우 워크플로 실행 기록은 다음 샘플과 유사합니다.
트리거 기록 검토
상태 저장 워크플로의 경우 실행 기록 컨텍스트와 별도로 입력 및 출력과 함께 트리거 상태를 포함하여 각 실행의 트리거 기록을 검토할 수 있습니다. Azure Portal에서 트리거 기록 및 실행 기록은 논리 앱 수준이 아닌 워크플로 수준에서 표시됩니다. 자세한 내용은 트리거 기록 검토를 참조하세요.
동일한 입력을 사용하여 워크플로 실행 다시 제출
기존 상태 저장 워크플로 실행의 경우 이전에 해당 실행에 사용된 것과 동일한 입력으로 전체 워크플로를 다시 실행할 수 있습니다. 자세한 내용은 동일한 입력으로 워크플로 다시 실행을 참조하세요.
스토리지 계정에 대한 관리 ID 액세스 설정
기본적으로 표준 논리 앱은 연결 문자열 사용하여 Azure Storage 계정에 대한 액세스를 인증합니다. 그러나 대신 액세스를 인증하도록 사용자 할당 관리 ID를 설정할 수 있습니다.
참고 항목
현재 워크플로 서비스 계획 호스팅 옵션을 사용하는 표준 논리 앱에 대한 스토리지 계정 키 액세스를 사용하지 않도록 설정할 수 없습니다. 그러나 논리 앱이 App Service Environment v3 호스팅 옵션을 사용하는 경우 관리 ID 인증을 설정하는 단계를 완료한 후 스토리지 계정 키 액세스를 사용하지 않도록 설정할 수 있습니다.
Azure Portal에서 다음 단계에 따라 사용자 할당 관리 ID를 만듭니다.
사용자 할당 ID에서 리소스 ID를 가져옵니다.
사용자가 할당한 관리 ID 메뉴의 설정에서 속성을 선택합니다.
Id 속성에서 리소스 ID를 복사하고 저장합니다.
스토리지 계정에서 Blob, 큐 및 Table Services에 대한 URI를 가져옵니다.
스토리지 계정 메뉴의 설정에서 엔드포인트를 선택합니다.
Blob 서비스, 큐 서비스 및 Table Service에 대한 URI를 복사하고 저장합니다.
스토리지 계정에서 사용자 할당 ID에 필요한 역할 할당을 추가합니다.
스토리지 계정 메뉴에서 액세스 제어(IAM)를 선택합니다.
액세스 제어(IAM) 페이지 도구 모음의 추가 메뉴에서 역할 할당 추가를 선택합니다.
작업 함수 역할 탭에서 사용자 할당 ID에 다음 역할을 각각 추가합니다.
- 스토리지 계정 기여자
- Storage Blob 데이터 소유자
- Storage 큐 데이터 기여자
- 스토리지 테이블 데이터 기여자
자세한 내용은 Azure Portal 및 이해 역할 할당을 사용하여 Azure 역할 할당을 참조하세요.
다음 단계에 따라 표준 논리 앱 리소스에 사용자 할당 관리 ID를 추가합니다.
표준 논리 앱이 워크플로 서비스 계획이라는 호스팅 옵션을 사용하는 경우 런타임 확장 모니터링을 사용하도록 설정합니다.
참고 항목
논리 앱에서 ASE(App Service Environment) v3 호스팅 옵션을 사용하는 경우 ASE가 이 기능을 지원하지 않으므로 런타임 확장 모니터링 단계를 건너뜁니다.
논리 앱 메뉴의 설정에서 구성을 선택합니다.
워크플로 런타임 설정 탭에서 런타임 크기 조정 모니터링에 대해 켜기를 선택합니다.
구성 도구 모음에서 저장을 선택합니다.
표준 논리 앱에서 리소스 ID 및 서비스 URI를 설정합니다.
논리 앱 메뉴에서 개요를 선택합니다.
논리 앱 메뉴의 설정 페이지 도구 모음에서 중지를 선택합니다.
논리 앱 메뉴의 설정에서 환경 변수를 선택합니다.
앱 설정 탭에서 추가를 선택하여 다음 앱 설정 및 값을 추가합니다.
앱 설정 값 AzureWebJobsStorage__managedIdentityResourceId 사용자 할당 관리 ID의 리소스 ID AzureWebJobsStorage__blobServiceUri 스토리지 계정에 대한 Blob 서비스 URI AzureWebJobsStorage__queueServiceUri 스토리지 계정에 대한 큐 서비스 URI AzureWebJobsStorage__tableServiceUri 스토리지 계정에 대한 Table Service URI AzureWebJobsStorage__credential managedIdentity 앱 설정 탭에서 스토리지 계정과 연결된 연결 문자열 설정된 AzureWebJobsStorage라는 앱 설정을 삭제합니다.
완료되면 적용을 선택하여 변경 내용을 저장하고 논리 앱을 다시 시작합니다.
변경 내용을 적용하는 데 몇 분 정도 걸릴 수 있습니다. 필요한 경우 논리 앱 메뉴에서 개요를 선택하고 도구 모음에서 새로 고침을 선택합니다.
다음 메시지가 나타날 수 있지만 오류가 아니며 논리 앱에 영향을 주지 않습니다.
"AzureWebjobsStorage" 앱 설정이 없습니다.
상태 비저장 워크플로에 대한 실행 기록 사용 설정
상태 비저장 워크플로를 보다 쉽게 디버그하려면 해당 워크플로에 실행 기록을 사용하도록 설정한 다음, 완료되면 실행 기록을 사용하지 않도록 설정하면 됩니다. Azure Portal에서 다음 단계를 수행하거나, Visual Studio Code를 사용하는 경우 Visual Studio Code에서 상태 저장 및 상태 비저장 워크플로 만들기를 참조하세요.
Azure Portal에서 표준 논리 앱 리소스를 엽니다.
논리 앱 메뉴의 설정에서 구성을 선택합니다.
애플리케이션 설정 탭에서 새 애플리케이션 설정을 선택합니다.
애플리케이션 설정 추가/편집 창의 이름 상자에 다음 작업 옵션 이름을 입력합니다.
Workflows.{yourWorkflowName}.OperationOptions
값 상자에 WithStatelessRunHistory 값을 입력합니다.
작업을 마치려면 확인을 선택합니다. 구성 창 도구 모음에서 저장을 선택합니다.
작업을 마친 후 실행 기록을 사용하지 않도록 설정하려면 Workflows.{your-workflow-name}.OperationOptions 속성을 None으로 설정하거나 이 속성 및 해당 값을 모두 삭제합니다.
배포 후 Application Insights를 사용하도록 설정하거나 열기
워크플로가 실행되는 동안 논리 앱은 다른 이벤트와 함께 원격 분석 데이터를 내보냅니다. 이 원격 분석 데이터를 사용하여 워크플로가 얼마나 잘 실행되는지 그리고 Logic Apps 런타임이 얼마나 다양한 방식으로 작동하는지 보다 정확하게 파악할 수 있습니다. 거의 실시간 원격 분석 데이터(라이브 메트릭)를 제공하는 Application Insights를 사용하여 워크플로를 모니터링할 수 있습니다. 이 데이터를 사용하여 문제를 진단하고 경고를 설정하고 차트를 작성할 때 이 기능을 통해 오류 및 성능 문제를 보다 쉽게 조사할 수 있습니다.
논리 앱의 만들기 및 배포 설정에서 Application Insights 사용을 지원하는 경우 필요에 따라 논리 앱 워크플로에 진단 로깅 및 추적을 사용하도록 설정할 수 있습니다. Azure Portal에서 논리 앱 리소스를 만들 때 또는 배포 후에 설정할 수 있습니다. Application Insights 인스턴스가 필요하지만, 논리 앱을 만들 때 미리 또는 배포 후에 이 리소스를 만들 수 있습니다. 선택적으로 표준 워크플로에 대해 Application Insights에서 향상된 원격 분석을 사용하도록 설정할 수 있습니다.
배포된 논리 앱에서 Application Insights 사용하도록 설정
Azure Portal에서 배포된 논리 앱을 찾습니다.
논리 앱 메뉴의 설정에서 Application Insights를 선택합니다.
Application Insights 창에서 Application Insights 켜기를 선택합니다.
창이 업데이트되면 아래쪽에서 적용>예를 선택합니다.
Application Insights 창에서 Application Insights 데이터 보기를 선택합니다.
Application Insights 대시보드가 열리면 논리 앱 워크플로에 대한 메트릭 또는 로그를 검토할 수 있습니다. 예를 들어 데이터를 차트로 작성하거나 쿼리하려면 Application Insights 리소스 메뉴의 모니터링아래에서 메트릭 또는 로그를 선택합니다.
Application Insights 열기
Azure Portal에서 배포된 논리 앱을 찾습니다.
논리 앱 메뉴의 설정에서 Application Insights를 선택합니다.
Application Insights 창에서 Application Insights 데이터 보기를 선택합니다.
Application Insights 대시보드가 열리면 논리 앱 워크플로에 대한 메트릭 또는 로그를 검토할 수 있습니다. 예를 들어 데이터를 차트로 작성하거나 쿼리하려면 Application Insights 리소스 메뉴의 모니터링아래에서 메트릭 또는 로그를 선택합니다.
연결 보기
Microsoft에서 관리하는 커넥터를 사용하여 워크플로에서 연결을 만들 때 이러한 연결은 자체 리소스 정의가 있는 별도의 Azure 리소스이며 전역 다중 테넌트 Azure에서 호스트됩니다. 표준 논리 앱 워크플로는 기본적으로 실행되고 단일 테넌트 Azure Logic Apps 런타임에 의해 구동되는 기본 제공 서비스 공급자 커넥터를 사용할 수도 있습니다. 이러한 연결을 보고 관리하려면 연결 보기를 참조하세요.
논리 앱 리소스 중지 또는 시작
논리 앱 사용 안 함 또는 사용하도록 설정의 단계를 따릅니다.
문제 및 오류 해결
이전에 만든 워크플로의 디자이너 선택기에 새 트리거 및 작업이 없음
단일 테넌트 Azure Logic Apps는 Azure Function 작업, Liquid 작업 및 XML 작업(예: XML 유효성 검사 및 XML 변환)의 기본 제공 작업을 지원합니다. 그러나 이전에 만든 논리 앱의 경우 논리 앱에서 오래된 버전의 확장 번들 Microsoft.Azure.Functions.ExtensionBundle.Workflows를 사용하기 때문에 이러한 작업이 디자이너에 표시되지 않을 수 있습니다.
이 문제를 해결하려면 확장 번들을 최신 버전으로 자동 업데이트하도록 다음 단계에 따라 오래된 버전을 삭제합니다.
참고 항목
이 솔루션은 Azure Portal을 사용하여 만드는 표준 논리 앱 리소스에만 적용되고, Visual Studio Code 및 Azure Logic Apps(표준) 확장을 사용하여 만들고 배포하는 논리 앱에는 적용되지 않습니다. 지원되는 트리거 및 작업이 Visual Studio Code 디자이너에 없음을 참조하세요.
Azure Portal에서 논리 앱을 중지합니다.
논리 앱 메뉴에서 개요를 선택합니다.
개요 창의 도구 모음에서 중지를 선택합니다.
논리 앱 메뉴의 개발 도구에서 고급 도구를 선택합니다.
고급 도구 창에서 Go를 선택합니다. 그러면 논리 앱에 대한 Kudu 환경이 열립니다.
Kudu 도구 모음에서 디버그 콘솔 메뉴를 열고 CMD를 선택합니다.
명령 프롬프트를 사용하여 번들 폴더로 이동할 수 있도록 콘솔 창이 열립니다. 또는 콘솔 창 위에 표시된 디렉터리 구조를 찾아볼 수도 있습니다.
기존 번들의 버전 폴더가 들어 있는 다음 폴더로 이동합니다.
...\home\data\Functions\ExtensionBundles\Microsoft.Azure.Functions.ExtensionBundle.Workflows
기존 번들의 버전 폴더를 삭제합니다. 콘솔 창에서 다음 명령을 실행하고 {bundle-version}을 기존 버전으로 바꿉니다.
rm -rf {bundle-version}
예:
rm -rf 1.1.3
팁
"권한이 거부됨" 또는 "사용 중인 파일"과 같은 오류가 발생하는 경우 브라우저에서 페이지를 새로 고치고, 폴더가 삭제될 때까지 이전 단계를 다시 시도합니다.
Azure Portal에서 논리 앱 및 해당 개요 페이지로 돌아가서 다시 시작을 선택합니다.
포털이 자동으로 최신 번들을 가져와서 사용합니다.