다음을 통해 공유


Azure Logic Apps에서 표준 워크플로에 대한 SQL Database 스토리지 설정(미리 보기)

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

중요합니다

이 기능은 미리 보기로 제공되고 Microsoft Azure 미리 보기에 대한 보충 사용 약관이 적용됩니다.

Azure Logic Apps, App Service Environment v3 또는 자체 인프라에서 호스트되는 표준 논리 앱을 만들든, 워크플로 아티팩트, 상태 및 런타임 데이터를 저장하려면 항상 스토리지 공급자가 필요합니다. 사용자 고유의 SQL 데이터베이스를 스토리지 공급자로 설정하면 워크플로 런타임 환경, 처리량, 크기 조정, 성능 및 관리에 대한 유연성과 제어가 향상됩니다.

이 가이드에서는 SQL 데이터베이스를 스토리지 공급자로 설정하는 이유와 방법을 설명합니다. Azure Portal을 사용하여 논리 앱을 만들거나 Visual Studio Code를 사용하여 배포하는 동안 이 작업을 완료할 수 있습니다.

SQL Database 스토리지를 설정하는 이유

SQL 데이터베이스는 다음과 같은 이점을 제공합니다.

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

SQL을 선택하는 경우

다음 표에서는 SQL을 선택할 수 있는 시나리오에 대해 설명합니다.

Scenario 권장 스토리지
스토리지 처리량 및 성능을 더 자세히 제어하여 Azure에서 표준 논리 앱 워크플로를 실행합니다. Azure Storage는 처리량 및 성능을 미세 조정하는 도구를 제공하지 않으므로 SQL을 선택합니다.
온-프레미스 또는 사용자 고유의 인프라를 포함하여 하이브리드 환경에서 표준 워크플로를 실행합니다. 자세한 내용은 다음을 참조하세요.

- 하이브리드 배포를 위한 표준 논리 앱에 대한 자체 인프라 설정
- 하이브리드 배포를 위한 표준 워크플로 만들기
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 버전:

    2. SQL Server가 Azure에서 지원되고 호스트되는 경우 다음 권한을 설정해야 합니다.

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

      2. 서버 사이드바의 보안 아래에서 방화벽 및 가상 네트워크를 선택합니다.

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

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

    3. SQL Server가 Azure에서 호스트되지 않는 경우 방화벽 또는 네트워크 설정을 통해 Azure 서비스 및 리소스가 서버 및 데이터베이스에 액세스할 수 있는지 확인합니다.

    4. 로컬 개발을 위한 SQL Express가 있는 경우 기본 명명된 인스턴스 localhost\SQLExpress에 연결합니다.

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

      SQL Storage 공급자를 설정하려면 먼저 실행 가능한 활성 데이터베이스가 있어야 합니다.

    6. 이 문서에서 SQL 환경을 설정하려면 단계를 따르세요 .

    7. 로컬 개발을 위해 컴퓨터에 Visual Studio Code 를 로컬로 설치해야 합니다.

      비고

      최신 Azure Functions Core Tools를 설치하고 MSI(Microsoft Installer)func-cli-X.X.XXXX-x*.msi를 선택하여 SQL 지원이 있는지 확인합니다. Visual Studio Code 요구 사항에 대한 자세한 내용은 Visual Studio Code 를 사용하여 Azure Logic Apps에서 표준 워크플로 만들기를 참조하세요.

SQL 환경 설정

  1. SQL Storage 공급자를 설정하기 전에 필수 구성 요소에서 필요한 단계를 완료했음을 확인합니다.

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

    SQL Storage 공급자는 현재 연결 문자열을 통해 SQL 인증을 지원합니다. 로컬 개발 및 테스트를 위해 Windows 인증을 선택할 수도 있습니다. 현재는 Microsoft Entra ID 및 관리 ID를 지원하지 않습니다.

    대상 SQL 데이터베이스에서 워크플로 아티팩트를 만들고 관리할 수 있는 권한이 있는 ID가 있어야 합니다. 예를 들어, 관리자는 이러한 아티팩트를 만들고 관리하는 데 필요한 모든 권한을 가지고 있습니다.

    다음 목록에서는 Azure Logic Apps 런타임이 제공하는 SQL 연결 문자열을 사용하여 만들려고 하는 아티팩트들을 설명합니다. SQL 연결 문자열의 ID에 다음 아티팩트 만들기에 필요한 권한이 있는지 확인합니다.

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

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

    중요합니다

    사용자 이름 및 암호를 포함하는 연결 문자열과 같은 중요한 정보가 있는 경우 사용 가능한 가장 안전한 인증 흐름을 선택해야 합니다. 가능한 경우 관리 ID 를 사용하여 Azure 리소스에 대한 액세스를 인증하고 필요한 최소 권한이 있는 역할을 할당하는 것이 좋습니다.

    이 기능을 사용할 수 없는 경우 앱 설정에 추가할 수 있는 Azure Key Vault와 같은 다른 측정값을 통해 연결 문자열을 보호해야 합니다. 그런 다음 연결 문자열 및 키와 같은 보안 문자열을 직접 참조할 수 있습니다. 배포 시 환경 변수를 정의할 수 있는 ARM 템플릿과 마찬가지로 논리 앱 워크플로 정의에서 앱 설정을 정의할 수 있습니다. 그런 다음, 연결 엔드포인트, 스토리지 문자열 등 동적으로 생성된 인프라 값을 캡처할 수 있습니다. 자세한 내용은 Microsoft ID 플랫폼대한 애플리케이션 유형을 참조하세요.

  3. SQL Server 및 데이터베이스에 연결합니다.

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

표준 논리 앱을 만들 때 스토리지 공급자로 SQL을 설정할 수 있습니다.

  1. Azure Portal 검색 상자에 logic apps 입력하고 선택합니다.

    Azure 포털 검색 상자에서 논리 앱을 검색어로 입력하고, 선택한 범주인 Logic Apps를 보여주는 스크린샷입니다.

  2. Logic Apps 페이지 도구 모음에서 추가를 선택합니다.

  3. 논리 앱 만들기 페이지의 표준 아래에서 원하는 호스팅 옵션을 선택합니다.

  4. 기본 사항 탭에서 선택 항목에 따라 달라질 수 있는 다음 정보를 제공합니다.

    재산 필수 가치 Description
    Subscription Yes < Azure-subscription-name> 논리 앱에 대한 Azure 구독입니다.
    리소스 그룹 Yes < Azure 리소스 그룹 이름> 논리 앱 및 관련 리소스에 대한 Azure 리소스 그룹입니다. 이름은 지역 간에 고유해야 하며 문자, 숫자, 하이픈(), 밑줄(-_), 괄호(()) 및 마침표(.)만 포함할 수 있습니다.

    이 예제에서는 Fabrikam-Workflows-RG라는 리소스 그룹을 만듭니다.
    유형 Yes 표준 이 논리 앱 유형은 표준 사용량, 청구 및 가격 책정 모델을 따릅니다.
    논리 앱 이름 Yes < logic-app-name> 논리 앱의 이름입니다. 이 리소스 이름은 모든 Azure 지역에서 고유해야 하고 문자, 숫자, 하이픈(-), 밑줄(_), 괄호(()) 및 마침표(.)만 포함할 수 있습니다.

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

    참고: 표준 논리 앱 리소스는 Azure Functions 확장성 모델을 사용하고 Azure Functions 런타임에서 확장으로 호스트되는 단일 테넌트 Azure Logic Apps 런타임에 의해 구동되기 때문에 논리 앱의 이름은 자동으로 접미사를 .azurewebsites.net가져옵니다. Azure Functions는 동일한 앱 명명 규칙을 사용합니다.
    지역 Yes < Azure 지역> 리소스 그룹 및 리소스의 위치입니다. 이 예제에서는 샘플 논리 앱을 Azure에 배포하고 미국 서부를 사용합니다.

    - 먼저 존재해야 하는 ASEv3 리소스에 배포하려면 지역 목록에서 해당 환경 리소스를 선택합니다.
    Windows 플랜 Yes < 계획 이름> 사용할 계획 이름입니다. 기존 계획 이름을 선택하거나 새 계획의 이름을 입력합니다.

    이 예에서는 My-App-Service-Plan 이름을 사용합니다

    참고: Linux 기반 App Service 계획을 선택하지 마세요. Windows 기반 App Service 요금제만 지원됩니다.
    요금제 Yes < 가격 책정 계층> 논리 앱 및 워크플로에 대한 가격 책정 계층 입니다. 선택한 항목은 논리 앱 및 워크플로의 가격 책정, 컴퓨팅, 메모리 및 스토리지에 영향을 줍니다.

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

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

    스크린샷은 기본 사항 탭이 있는 Azure Portal 및 논리 앱 만들기 페이지를 보여줍니다.

  5. 준비가 되면 다음: 스토리지를 선택합니다. 스토리지 탭에서 논리 앱에 대한 스토리지 솔루션 및 호스팅 계획에 대한 다음 정보를 제공합니다.

    재산 필수 가치 Description
    스토리지 유형 Yes SQL 및 Azure Storage 워크플로 아티팩트 및 데이터에 대한 스토리지입니다.

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

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

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

    Azure Arc 클러스터에서 호스트되는 사용자 지정 위치에 배포하려면 스토리지용 SQL 데이터베이스만 있으면 됩니다.
    스토리지 계정 Yes < Azure Storage 계정 이름> 스토리지 트랜잭션에 대한 Azure Storage 계정 입니다.

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

    이 예제에서는 fabrikamstorageacct라는 스토리지 계정을 만듭니다.
    SQL 연결 문자열 Yes < sql-connection-string> 현재 OAuth 또는 관리 ID 인증이 아닌 SQL 인증만 지원하는 SQL 연결 문자열입니다.

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

    다음 예제에서는 스토리지 탭이 있는 논리 앱 만들기 페이지를 보여 줍니다.

    스크린샷은 스토리지 탭이 있는 Azure Portal 및 논리 앱 만들기 페이지를 보여줍니다.

  6. 단일 테넌트 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 Storage 사용을 선택합니다.

    스크린샷은 빈 영역의 프로젝트 루트에 있는 Visual Studio Code, 탐색기 창 및 마우스 포인터, 열린 바로 가기 메뉴 및 논리 앱 프로젝트에 SQL Storage 사용 옵션을 보여 줍니다.

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

    스크린샷은 SQL 연결 문자열 프롬프트를 보여줍니다.

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

    스크린샷은 SQL 연결 문자열 설정이 있는 local.settings.json 논리 앱 프로젝트 및 열려 있는 파일을 보여줍니다.

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

Visual Studio Code에서 Azure로 논리 앱 프로젝트를 직접 게시할 수 있습니다. 이 작업은 논리 앱 프로젝트를 표준 논리 앱 리소스에 배포합니다.

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

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

    비고

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

새 표준 논리 앱 리소스 배포를 위한 SQL 설정

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

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

  3. 메시지가 표시되면 논리 앱 배포에 대한 Azure 구독을 선택합니다.

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

    스크린샷은 Azure Advanced에서 새 표준 논리 앱을 만들기 위해 선택한 배포 옵션을 보여줍니다.

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

    스크린샷은 논리 앱의 전역적으로 고유한 이름에 대한 프롬프트를 보여줍니다.

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

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

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

    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 Storage는 Azure Logic Apps 플랫폼에서 논리 앱 구성의 일회성 호스팅을 완료해야 합니다. 진행 중인 워크플로 상태, 실행 기록, 기타 런타임 아티팩트는 SQL 데이터베이스에 저장됩니다.

      Azure Arc 클러스터에서 호스트되는 사용자 지정 위치에 배포하려면 스토리지용 SQL 데이터베이스만 있으면 됩니다.

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

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

    비고

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

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

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

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

배포 유효성 검사

표준 논리 앱 리소스를 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 사용자 정의 테이블 형식을 보여 주는 스크린샷