단일 테넌트 Azure Logic Apps(미리 보기)에서 표준 논리 앱에 대한 SQL 데이터베이스 스토리지 설정

적용 대상: Azure Logic Apps(표준)

중요

이 기능은 미리 보기로 제공되고 Microsoft Azure 미리 보기의 추가 사용 약관이 적용됩니다.

단일 테넌트 Azure Logic Apps, App Service Environment v3 또는 Azure 외부에서 실행되는 워크플로를 만들기 위해 Logic App(표준) 리소스 종류를 선택하는 경우 워크플로 관련 아티팩트, 상태 및 런타임 데이터를 저장할 Azure Storage 계정도 만들어야 합니다. 그러나 논리 앱 워크플로의 런타임 환경, 처리량, 크기 조정, 성능 및 관리에 대한 더 많은 유연성과 제어를 원하는 경우 워크플로 관련 스토리지 트랜잭션에 Azure Storage 대신 SQL 스토리지 공급자를 사용할 수 있습니다.

이 문서에서는 Azure Storage의 대안으로 Azure Logic Apps의 네이티브 스토리지 공급자로 SQL 스토리지를 사용하려는 이유에 대한 개요를 제공하고 Azure Portal에서 논리 앱을 만드는 동안 또는 Visual Studio Code에서 논리 앱을 배포하는 동안 SQL을 스토리지로 설정하는 방법을 보여 줍니다.

논리 앱을 처음 사용하는 경우 다음 문서를 참조하세요.

SQL을 사용하는 이유

단일 테넌트 Azure Logic Apps에 사용할 수 있는 대체 스토리지 옵션으로서 SQL은 다음과 같은 이점을 제공합니다.

이점 설명
이식성 SQL에는 가상 머신, PaaS(서비스 제공 플랫폼) 및 컨테이너를 비롯한 다양한 폼 팩터가 있습니다. 논리 앱 워크플로를 실행하려는 거의 모든 위치에서 SQL 데이터베이스를 실행할 수 있습니다.
제어 SQL은 특정 기간 동안 또는 특정 워크로드에 대한 데이터베이스 처리량, 성능 및 크기 조정을 세부적으로 제어합니다. SQL 가격 책정은 CPU 사용량 및 처리량을 기반으로 하며 비용이 각 작업을 기반으로 하는 Azure Storage보다 더 예측 가능한 가격 책정을 제공합니다.
기존 자산 사용 Microsoft 도구에 익숙하다면 해당 자산을 SQL과의 최신 통합에 사용할 수 있습니다. Azure 하이브리드 혜택을 사용하여 기존 온-프레미스 배포 및 최신 클라우드 구현에서 자산을 재사용할 수 있습니다. SQL은 또한 SSMS(SQL Server Management Studio), 명령줄 인터페이스 및 SDK와 같이 완벽하고 잘 지원되는 도구를 제공합니다.
호환성 SQL은 백업, 복원, 장애 조치(failover) 및 중복 빌드를 위해 Azure Storage보다 더 많은 옵션을 제공합니다. 논리 앱의 스토리지에 다른 엔터프라이즈 애플리케이션과 동일한 엔터프라이즈급 메커니즘을 적용할 수 있습니다.

SQL을 사용하는 경우

다음 표에서는 SQL을 사용해야 하는 몇 가지 이유를 설명합니다.

시나리오 스토리지 공급자 권장
스토리지 처리량 및 성능을 더 많이 제어하여 Azure에서 논리 앱 워크플로를 실행하려고 합니다. Azure Storage는 처리량과 성능을 미세 조정할 수 있는 도구를 제공하지 않으므로 SQL을 스토리지 공급자로 사용합니다.
Azure Arc 지원 Logic Apps를 사용하여 온-프레미스에서 논리 앱 워크플로를 실행하려고 합니다. SQL을 스토리지 공급자로 사용하여 SQL 데이터베이스를 호스팅할 위치(예: 가상 머신, 컨테이너 또는 다중 클라우드의 온-프레미스)를 선택할 수 있습니다. 통합하려는 시스템과 가까운 위치에서 논리 앱 워크플로를 실행하거나 클라우드에 대한 종속성을 줄이는 것이 좋습니다.
예측 가능한 스토리지 비용을 원합니다. 크기 조정 비용을 더 잘 제어하려면 SQL을 스토리지 공급자로 사용합니다. SQL 비용은 각 컴퓨팅 및 IOP(초당 입출력 작업)를 기반으로 합니다. Azure Storage 비용은 작업 수를 기반으로 하며, 이는 0으로 크기 조정되는 소규모 워크로드에 더 적합할 수 있습니다.
Azure Storage보다 SQL을 사용하는 것을 기본으로 설정합니다. SQL은 논리 앱 배후 작업에 동일한 거버넌스 및 관리를 적용하는 데 사용할 수 있는 잘 알려져 있고 안정적인 에코시스템입니다.
기존 SQL 환경을 재사용하려고 합니다. 클라우드에서 재사용하거나 최신화하려는 SQL 라이선스를 이미 소유하고 있는 경우 SQL을 스토리지 공급자로 사용합니다. 논리 앱 통합에 Azure 하이브리드 혜택을 사용할 수도 있습니다.
기타 등등 Azure Storage를 기본 스토리지 공급자로 사용합니다.

필수 구성 요소

  • Azure 계정 및 활성 구독. 아직 계정이 없다면 무료 계정에 등록합니다.

  • 논리 앱과 함께 사용할 SQL 환경입니다. 그러나 환경을 설정하기 전에 다음 단계를 완료합니다.

    1. SQL Server 인스턴스를 만듭니다.

      지원되는 형식에는 SQL Server, Azure SQL Database, Azure SQL Managed Instance 등이 있습니다.

      • 지원되는 형식 중 하나를 사용하여 Azure에서 SQL Server를 호스팅하는 경우 다음 권한을 설정해야 합니다.

        1. Azure Portal에서 SQL Server 리소스로 이동합니다.

        2. 리소스 탐색 메뉴의 보안에서 방화벽 및 가상 네트워크를 선택합니다.

        3. 열리는 창의 Azure 서비스 및 리소스가 이 서버에 액세스하도록 허용에서 를 선택합니다.

        4. 변경 내용을 저장합니다.

      • SQL Server가 Azure에서 호스팅되지 않는 경우 서버의 방화벽 또는 네트워크 설정에서 Azure 서비스 및 리소스가 서버 및 데이터베이스에 액세스할 수 있도록 허용하는지 확인합니다.

      • 로컬 개발을 위해 SQL Express를 사용하는 경우 기본 명명된 인스턴스 localhost\SQLExpress에 연결합니다.

    2. 기존 데이터베이스를 만들거나 사용합니다.

      SQL 스토리지 공급자를 설정하려면 먼저 사용 가능한 데이터베이스가 있어야 합니다.

    3. 이제 이 문서의 SQL 환경을 설정하는 단계를 따를 수 있습니다.

  • 로컬 개발의 경우 로컬 컴퓨터에 설치된 Visual Studio Code.

    참고

    MSI(Microsoft Installer) 버전(func-cli-X.X.XXXX-x*.msi)을 사용하여 SQL 지원을 보장하려면 Azure Functions Core Tools용 최신 버전을 설치해야 합니다. Visual Studio Code 설치 요구 사항에 대한 자세한 내용은 Visual Studio Code에서 단일 테넌트 Azure Logic Apps(표준)로 통합 워크플로 만들기를 참조하세요.

SQL 환경 설정

  1. SQL 스토리지 공급자를 설정하기 전에 필수 조건의 필수 단계를 완료합니다.

  2. SQL Server에 대한 권한을 설정합니다.

    현재 SQL 스토리지 공급자는 연결 문자열에서 SQL 인증을 지원합니다. 로컬 개발 및 테스트를 위해 Windows 인증을 사용할 수도 있습니다. 현재 Azure AD(Azure Active Directory) 및 관리 ID에 대한 지원은 제공되지 않습니다.

    대상 SQL 데이터베이스에서 워크플로 관련 아티팩트를 만들고 관리할 수 있는 권한이 있는 ID를 사용해야 합니다. 예를 들어, 관리자는 이러한 아티팩트를 만들고 관리하는 데 필요한 모든 권한을 가지고 있습니다. 다음 목록에서는 단일 테넌트 Azure Logic Apps 런타임이 사용자가 제공하는 SQL 연결 문자열을 사용하여 만들려고 하는 아티팩트를 설명합니다. SQL 연결 문자열에 사용된 ID에 다음 아티팩트를 만드는 데 필요한 권한이 있는지 확인합니다.

    • dt, dcdq 스키마를 만들고 삭제합니다.
    • 이러한 스키마에서 테이블을 추가, 변경 및 삭제합니다.
    • 이러한 스키마에서 사용자 정의 테이블 형식을 추가, 변경 및 삭제합니다.

    대상 권한에 대한 자세한 내용은 데이터베이스 엔진의 SQL Server 권한을 참조하세요.

  3. SQL에 연결합니다.

Azure Portal에서 만드는 동안 SQL 설정

Azure에서 Logic App(표준) 리소스 종류를 사용하여 논리 앱을 만들 때 SQL을 스토리지 공급자로 설정할 수 있습니다.

  1. Azure Portal에서 Azure 계정을 사용하여 로그인합니다.

  2. Azure Portal 검색 상자에 logic apps를 입력하고, 논리 앱을 선택합니다.

  3. Logic Apps 페이지에서 추가를 선택합니다.

  4. 논리 앱 만들기 페이지의 기본 탭에서 논리 앱 리소스에 대한 다음 정보를 제공합니다.

    속성 필수 Description
    구독 <Azure-subscription-name> 논리 앱에 사용할 Azure 구독입니다.
    리소스 그룹 <Azure-resource-group-name> 논리 앱 및 관련 리소스를 만드는 Azure 리소스 그룹입니다. 이 리소스 이름은 모든 Azure 지역에서 고유해야 하고 문자, 숫자, 하이픈(-), 밑줄(_), 괄호(()) 및 마침표(.)만 포함할 수 있습니다.

    이 예제에서는 Fabrikam-Workflows-RG라는 리소스 그룹을 만듭니다.

    형식 Standard 이 논리 앱 리소스 종류는 단일 테넌트 Azure Logic Apps 환경에서 실행되며 표준 사용량, 청구 및 가격 책정 모델을 사용합니다.
    논리 앱 이름 <logic-app-name> 논리 앱에 사용할 이름입니다. 이 리소스 이름은 모든 Azure 지역에서 고유해야 하고 문자, 숫자, 하이픈(-), 밑줄(_), 괄호(()) 및 마침표(.)만 포함할 수 있습니다.

    이 예제에서는 Fabrikam-Workflows라는 논리 앱을 만듭니다.

    참고: .azurewebsites.net논리 앱(표준) 리소스는 Azure Functions 확장성 모델을 사용하고 Azure Functions 런타임에서 확장으로 호스트되는 단일 테넌트 Azure Logic Apps 런타임을 통해 제공되기 때문에 논리 앱 이름에 자동으로 접미사가 붙습니다. Azure Functions는 동일한 앱 명명 규칙을 사용합니다.

    게시 <deployment-environment> 논리 앱의 배포 대상입니다. 기본적으로 워크플로는 단일 테넌트 Azure Logic Apps에 배포하도록 선택됩니다. Azure에서 첫 번째 워크플로를 추가해야 하는 빈 논리 앱 리소스를 만듭니다.

    참고: 현재 Docker 컨테이너 옵션을 사용하려면 Azure Arc 지원 Kubernetes 클러스터에서 사용자 지정 위치가 필요하며 Azure Arc 지원 Logic Apps(미리 보기)와 함께 사용할 수 있습니다. 논리 앱, 사용자 지정 위치 및 클러스터의 리소스 위치는 모두 동일해야 합니다.

    지역 <Azure-region> 리소스 그룹 및 리소스를 만들 때 사용할 위치입니다. 이 예제에서는 샘플 논리 앱을 Azure에 배포하고 미국 서부를 사용합니다.

    - Docker 컨테이너를 선택한 경우 사용자 지정 위치를 선택합니다.

    - 먼저 존재해야 하는 ASEv3 리소스에 배포하려면 지역 목록에서 해당 환경 리소스를 선택합니다.

    다음 예는 기본 탭이 있는 논리 앱 만들기 페이지를 보여 줍니다.

  5. 준비가 되면 다음: 호스팅을 선택합니다. 호스팅 탭에서 논리 앱에 사용할 수 있도록 스토리지 솔루션 및 호스팅 계획에 관한 다음 정보를 제공합니다.

    속성 필수 설명
    스토리지 유형 SQL 및 Azure Storage 워크플로 관련 아티팩트와 데이터에 사용할 스토리지 유형입니다.

    - 이전에 사용자 지정 위치를 지역으로 선택한 경우 SQL을 선택합니다.

    - 이전에 Azure 지역 또는 ASEv3 위치를 선택한 경우 SQL 및 Azure Storage를 선택합니다.

    참고: Azure 지역에 배포하는 경우 Azure Logic Apps 플랫폼에서 논리 앱 구성의 일회성 호스팅을 완료하는 데 사용되는 Azure Storage 계정이 여전히 필요합니다. 워크플로의 정의, 상태, 실행 기록 및 기타 런타임 아티팩트가 SQL 데이터베이스에 저장됩니다.

    Azure Arc 클러스터에서 호스트된 사용자 지정 위치에 배포하는 경우에는 스토리지 공급자로 SQL만 지정하면 됩니다.

    스토리지 계정 <Azure-storage-account-name> 스토리지 트랜잭션에 사용할 Azure Storage 계정입니다.

    이 리소스 이름은 모든 지역에서 고유해야 하며 숫자와 소문자만 포함된 3-24자여야 합니다. 기존 계정을 선택하거나 새 계정을 만듭니다.

    이 예제에서는 fabrikamstorageacct라는 스토리지 계정을 만듭니다.

    SQL 연결 문자열 <sql-connection-string> 현재 OAuth 또는 관리 ID 인증이 아닌 SQL 인증만 지원하는 SQL 연결 문자열입니다.

    참고: Azure Portal에서 이 문자열의 유효성을 검사하지 않으므로 올바른 연결 문자열을 입력해야 합니다.

    플랜 유형 <호스팅 계획> 논리 앱을 배포하는 데 사용할 호스팅 계획입니다.

    자세한 내용은 호스팅 계획과 가격 책정 계층을 참조하세요.

    Windows 플랜 <plan-name> 사용할 계획 이름입니다. 기존 계획 이름을 선택하거나 새 계획의 이름을 입력합니다.

    이 예제에서는 Fabrikam-Service-Plan이름을 사용합니다.

    SKU 및 크기 <pricing-tier> 논리 앱에 사용할 가격 책정 계층입니다. 선택한 내용에 따라 논리 앱과 워크플로에서 사용하는 가격 책정, 컴퓨팅, 메모리 및 스토리지에 영향이 있습니다.

    기본 가격 책정 계층을 변경하려면 크기 변경을 선택합니다. 그런 다음, 필요한 워크로드에 따라 다른 가격 책정 계층을 선택할 수 있습니다.

    자세한 내용은 호스팅 계획과 가격 책정 계층을 참조하세요.

    다음 예는 호스팅 탭이 있는 논리 앱 만들기 페이지를 보여 줍니다.

  6. Azure Portal에서 단일 테넌트 Azure Logic Apps(표준)를 사용하여 통합 워크플로 만들기에서 나머지 만들기 단계를 완료합니다.

완료되면 새 논리 앱 리소스 및 워크플로가 Azure에 있고 SQL 데이터베이스를 스토리지 공급자로 사용합니다.

Visual Studio Code에서 로컬 개발을 위한 SQL 설정

다음 단계에서는 Visual Studio Code에서 로컬 개발 및 테스트를 위해 SQL을 스토리지 공급자로 설정하는 방법을 보여 줍니다.

  1. 단일 테넌트 Azure Logic Apps와 함께 작동하도록 개발 환경을 설정합니다.

    1. Azure Logic Apps(표준) 확장을 사용하여 Visual Studio Code에서 작업하기 위한 필수 조건을 충족합니다.

    2. Azure Logic Apps(표준) 확장과 함께 작동하도록 Visual Studio Code를 설정합니다.

    3. Visual Studio Code에서 Azure 계정에 연결하고 빈 논리 앱 프로젝트를 만듭니다.

  2. Visual Studio Code에서 아직 열려 있지 않은 경우 탐색기 창을 엽니다.

  3. 탐색기 창의 논리 앱 프로젝트 루트에서 모든 프로젝트의 파일 및 폴더 아래의 빈 영역 위로 마우스 포인터를 이동하여 바로 가기 메뉴를 열고 논리 앱 프로젝트에 SQL 스토리지 사용을 선택합니다.

    빈 영역의 프로젝트 루트에 있는 Visual Studio Code, 탐색기 창 및 마우스 포인터, 열린 바로 가기 메뉴, 선택한

  4. 프롬프트가 나타나면 SQL 연결 문자열을 입력합니다. 로컬 SQL Express 인스턴스 또는 보유하고 있는 다른 SQL 데이터베이스를 사용하도록 선택할 수 있습니다.

    Visual Studio Code 및 SQL 연결 문자열 프롬프트를 보여 주는 스크린샷

    확인 후 Visual Studio Code는 프로젝트의 local.settings.json 파일에 다음 설정을 만듭니다. 이 설정은 언제든지 업데이트할 수 있습니다.

    Visual Studio Code, 논리 앱 프로젝트, SQL 연결 문자열 설정이 있는 열린

Visual Studio Code에서 배포하는 동안 SQL 설정

Visual Studio Code에서 Azure로 논리 앱 프로젝트를 직접 게시할 수 있습니다. 이 작업은 Logic App(표준) 리소스 종류를 사용하여 논리 앱 프로젝트를 배포합니다.

  • 프로젝트를 Azure에서 새 Logic App(표준) 리소스로 게시하고 SQL을 스토리지 공급자로 사용하려는 경우 앱을 게시할 때 SQL 연결 문자열을 입력합니다. 전체 단계를 보려면 새 논리 앱 배포를 위한 SQL 설정을 따릅니다.

  • SQL 설정을 이미 설정했다면 논리 앱 프로젝트를 Azure에 이미 배포된 Logic App(표준) 리소스에 게시할 수 있습니다. 이 작업은 기존 논리 앱을 덮어씁니다.

    참고

    로컬 SQL Express는 Azure에서 배포 및 호스팅되는 논리 앱에서 작동하지 않습니다.

새 Logic App(표준) 리소스 배포를 위한 SQL 설정

  1. Visual Studio Code 작업 막대에서 Azure 아이콘을 선택합니다.

  2. Azure: Logic Apps(표준) 창 도구 모음에서 Logic App에 배포를 선택합니다.

  3. 프롬프트가 표시되면 논리 앱 배포에 사용할 Azure 구독을 선택합니다.

  4. Visual Studio Code가 열리는 목록에서 Azure Advanced에서 새 Logic App(표준) 만들기에 대한 고급 옵션을 선택해야 합니다. 그렇지 않으면 SQL을 설정하라는 메시지가 표시되지 않습니다.

  5. 메시지가 표시되면 새 논리 앱에 대해 전역적으로 고유한 이름을 제공합니다. 이 이름은 Logic App(표준) 리소스에 사용할 이름입니다. 이 예에서는 Fabrikam-Workflows-App를 사용합니다.

    논리 앱에 사용할 전역적으로 고유한 이름에 대한 프롬프트를 보여 주는 스크린샷

  6. 논리 앱의 위치를 선택합니다. 목록을 필터링하기 위해 입력을 시작할 수도 있습니다.

    • Azure에 배포하려면 배포할 Azure 지역을 선택합니다. 이전에 ASEv3(App Service Environment v3) 리소스를 만들었고 여기에 배포하려는 경우 ASEv3을 선택합니다.

    • Azure Arc 지원 Logic Apps에 배포하려면 이전에 구성된 사용자 지정 위치를 선택합니다.

    다음 예는 미국 서부로 필터링된 위치 목록을 보여 줍니다.

    Azure Arc 배포에 대한 사용 가능한 Azure 지역 및 사용자 지정 위치가 있는 배포 위치를 선택하라는 메시지를 보여 주는 스크린샷

  7. 새 논리 앱에 대한 호스팅 계획 형식을 선택합니다.

    1. ASEv3를 앱의 위치로 선택한 경우 App Service 플랜을 선택한 다음 ASEv3 리소스를 선택합니다. 그렇지 않으면 워크플로 표준을 선택합니다.

      '워크플로 표준' 또는 'App Service 플랜'을 선택하라는 메시지를 보여 주는 스크린샷

    2. 계획 이름을 만들거나 기존 계획을 선택합니다.

      이 예에서는 사용 가능한 기존 플랜이 없으므로 새 App Service 플랜 만들기를 선택합니다.

  8. 호스팅 계획 이름을 입력한 다음, 선택한 계획의 가격 책정 계층을 선택합니다.

    자세한 내용은 호스팅 계획과 가격 책정 계층을 참조하세요.

  9. Azure 리소스 그룹을 묻는 메시지가 표시되면 최적의 성능을 위해 배포용 프로젝트와 동일한 Azure 리소스 그룹을 선택합니다.

    참고

    다른 리소스 그룹을 만들거나 사용할 수 있지만 그러면 성능에 영향을 줄 수 있습니다. 다른 리소스 그룹을 만들거나 선택하고 확인 프롬프트가 표시된 후 취소하면 배포도 취소됩니다.

  10. 논리 앱에 대한 스토리지 계정을 선택하라는 메시지가 표시되면 다음 옵션 중 하나를 선택합니다.

    • 이전에 사용자 지정 위치를 선택한 경우 SQL 옵션을 선택합니다.

    • Azure에 배포하려면 SQL 및 Azure Storage 옵션을 선택합니다.

      참고

      이 옵션은 Azure 배포에만 필요합니다. Azure에서 Azure Logic Apps 플랫폼에서 논리 앱 구성의 일회성 호스팅을 완료하려면 Azure Storage가 필요합니다. 진행 중인 워크플로 상태, 실행 기록, 기타 런타임 아티팩트는 SQL 데이터베이스에 저장됩니다.

      Azure Arc 클러스터에서 호스트된 사용자 지정 위치에 배포하는 경우에는 스토리지 공급자로 SQL만 지정하면 됩니다.

  11. 메시지가 표시되면 새 스토리지 계정 만들기 또는 기존 스토리지 계정(있는 경우)을 선택합니다.

  12. SQL 스토리지 확인 프롬프트에서 를 선택합니다. 연결 문자열 프롬프트에서 SQL 연결 문자열을 입력합니다.

    참고

    Visual Studio Code에서 이 문자열의 유효성을 검사하지 않으므로 올바른 연결 문자열을 입력했는지 유효성 검사합니다.

    Visual Studio Code 및 SQL 연결 문자열 프롬프트를 보여 주는 스크린샷

  13. 새 Logic App(표준) 리소스에 게시에서 나머지 배포 단계를 완료합니다.

완료되면 새 논리 앱 리소스 및 워크플로가 Azure에 있고 SQL 데이터베이스를 스토리지 공급자로 사용합니다.

배포 유효성 검사

Logic App(표준) 리소스를 Azure에 배포한 후 설정이 올바른지 확인할 수 있습니다.

  1. Azure Portal에서 논리 앱 리소스를 엽니다.

  2. 리소스 탐색 메뉴의 설정에서 구성을 선택합니다.

  3. 구성 창의 애플리케이션 설정에서 Workflows.Sql.ConnectionString 앱 설정을 찾아 SQL 연결 문자열이 표시되고 올바른지 확인합니다.

  4. SQL 환경에서 SQL 테이블이 'dt' 및 'dq'로 시작하는 스키마 이름으로 만들어졌는지 확인합니다.

예를 들어 다음 스크린샷은 단일 워크플로가 있는 논리 앱 리소스에 대해 단일 테넌트 Azure Logic Apps 런타임이 만든 테이블을 보여 줍니다.

단일 테넌트 Azure Logic Apps 런타임에서 만든 SQL 테이블을 보여 주는 스크린샷

단일 테넌트 Azure Logic Apps 서비스는 사용자 정의 테이블 형식도 만듭니다. 예를 들어 다음 스크린샷은 단일 워크플로가 있는 논리 앱 리소스에 대해 단일 테넌트 Azure Logic Apps 런타임이 만든 사용자 정의 테이블 형식을 보여 줍니다.

단일 테넌트 Azure Logic Apps 런타임에서 만든 SQL 사용자 정의 테이블 형식을 보여 주는 스크린샷

다음 단계