다음을 통해 공유


Azure Logic Apps에서 상태 비저장 기본 제공 커넥터에 대해 상태 저장 모드를 사용하도록 설정합니다.

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

표준 논리 앱 워크플로에서 다음과 같은 기본 제공 서비스 공급자 기반 커넥터는 기본적으로 상태 비저장입니다.

  • Azure Service Bus
  • SAP
  • IBM MQ

상태 저장 모드에서 이러한 커넥터 작업을 실행하려면 이 기능을 사용하도록 설정해야 합니다. 이 방법 가이드에서는 이러한 커넥터에 대해 상태 저장 모드를 사용하도록 설정하는 방법을 보여 줍니다.

필수 조건

Azure Portal에서 상태 저장 모드 사용

  1. Azure Portal에서 이러한 커넥터 작업에 대해 상태 저장 모드를 사용하도록 설정하려는 표준 논리 앱 리소스를 엽니다.

  2. 논리 앱에 대한 가상 네트워크 통합을 사용하도록 설정하고 이전에 만든 서브넷에 논리 앱을 추가합니다.

    1. 논리 앱 메뉴 리소스의 설정에서 네트워킹을 선택합니다.

    2. 아웃바운드 트래픽 섹션에서 VNet 통합>VNet 추가를 선택합니다.

    3. 열리는 VNet 통합 추가 창에서 Azure 구독과 가상 네트워크를 선택합니다.

    4. 서브넷에서 기존 항목 선택을 선택합니다. 서브넷 목록에서 논리 앱을 추가하려는 서브넷을 선택합니다.

    5. 완료되면 확인을 선택합니다.

      이제 네트워킹 페이지에서 VNet 통합 옵션이 켜기로 설정된 것으로 나타납니다. 예를 들면 다음과 같습니다.

      Screenshot shows Azure portal, Standard logic app resource, Networking page, VNet integration set to On.

    앱과 가상 네트워크 통합 사용하도록 설정에 대한 일반적인 정보는 Azure App Service에서 가상 네트워크 통합 사용을 참조하세요.

  3. 다음으로, 다음 도구 중 하나를 사용하여 논리 앱의 기본 웹 사이트 구성(<logic-app-name>.azurewebsites.net))을 업데이트합니다.

논리 앱에 대한 웹 사이트 구성 업데이트

논리 앱에 대해 가상 네트워크 통합을 사용하도록 설정한 후에는 다음 방법 중 하나를 사용하여 논리 앱의 기본 웹 사이트 구성(<logic-app-name>.azurewebsites.net)을 업데이트해야 합니다.

Azure Portal

Azure Portal을 사용하여 가상 네트워크 프라이빗 포트를 구성하려면 다음 단계를 따릅니다.

  1. Azure Portal에서 표준 논리 앱 리소스를 찾아서 엽니다.
  2. 논리 앱 메뉴의 설정에서 구성을 선택합니다.
  3. 구성 페이지에서 일반 설정을 선택합니다.
  4. 플랫폼 설정 아래의 VNet 프라이빗 포트 상자에 사용하려는 포트를 입력합니다.

Azure 리소스 관리 API

Azure Resource 관리 API - ID별 업데이트를 사용하여 이 작업을 완료하려면 다음 요구 사항, 구문 및 매개 변수 값을 검토합니다.

요구 사항

OAuth 권한 부여 및 전달자 토큰이 필요합니다. 전달자 토큰을 가져오려면 다음 단계를 따릅니다.

  1. Azure Portal에 로그인한 상태에서 웹 브라우저의 개발자 도구(F12)를 엽니다.

  2. 예를 들어, 표준 논리 앱에 워크플로를 저장하여 관리 요청을 보내 토큰을 가져옵니다.

구문

지정된 리소스 ID를 사용하여 리소스를 업데이트합니다.

PATCH https://management.azure.com/{resourceId}?api-version=2021-04-01

매개 변수 값

요소 설명
HTTP 요청 메서드 패치
<resourceId> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web
<yourSubscriptionId> Azure 구독의 ID
<yourResourceGroup> 논리 앱 리소스를 포함하는 리소스 그룹
<websiteName> 논리 앱 리소스의 이름(이 예에서는 mystandardlogicapp)
HTTP 요청 본문 {"properties": {"vnetPrivatePortsCount": "2"}}

예시

https://management.azure.com/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01

Azure PowerShell

Azure PowerShell을 사용하여 이 작업을 완료하려면 다음 요구 사항, 구문 및 값을 검토합니다. 이 방법에서는 전달자 토큰을 수동으로 가져올 필요가 없습니다.

구문

Set-AzContext -Subscription {yourSubscriptionID}
$webConfig = Get-AzResource -ResourceId {resourceId}
$webConfig.Properties.vnetPrivatePortsCount = 2
$webConfig | Set-AzResource -ResourceId {resourceId}

자세한 내용은 다음 설명서를 참조하세요.

매개 변수 값

요소
<yourSubscriptionID> Azure 구독의 ID
<resourceId> subscriptions/{yourSubscriptionID}/resourcegroups/{yourResourceGroup}/providers/Microsoft.Web/sites/{websiteName}/config/web
<yourResourceGroup> 논리 앱 리소스를 포함하는 리소스 그룹
<websiteName> 논리 앱 리소스의 이름(이 예에서는 mystandardlogicapp)

예시

https://management.azure.com/subscriptions/XXxXxxXX-xXXx-XxxX-xXXX-XXXXxXxXxxXX/resourcegroups/My-Standard-RG/providers/Microsoft.Web/sites/mystandardlogicapp/config/web?api-version=2021-02-01

오류 문제 해결

오류: 예약 인스턴스 수가 잘못되었습니다.

예약 인스턴스 수가 잘못되었습니다라는 오류가 발생하는 경우 다음 해결 방법을 사용합니다.

$webConfig.Properties.preWarmedInstanceCount = $webConfig.Properties.reservedInstanceCount
$webConfig.Properties.reservedInstanceCount = $null
$webConfig | Set-AzResource -ResourceId {resourceId}

오류 예:

Set-AzResource :
{
   "Code":"BadRequest",
   "Message":"siteConfig.ReservedInstanceCount is invalid.  Please use the new property siteConfig.PreWarmedInstanceCount.",
   "Target": null,
   "Details":
   [
      {
         "Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount."
      },
      {
         "Code":"BadRequest"
      },
      {
         "ErrorEntity":
         {
            "ExtendedCode":"51021",
            "MessageTemplate":"{0} is invalid. {1}",
            "Parameters":
            [
               "siteConfig.ReservedInstanceCount", "Please use the new property siteConfig.PreWarmedInstanceCount."
            ],
            "Code":"BadRequest",
            "Message":"siteConfig.ReservedInstanceCount is invalid. Please use the new property siteConfig.PreWarmedInstanceCount."
         }
      }
   ],
   "Innererror": null
}

리소스 스케일 인 이벤트 중 컨텍스트 손실 방지

리소스 스케일 인 이벤트로 인해 상태 저장 모드가 사용하도록 설정된 기본 제공 커넥터에 대한 컨텍스트가 손실될 수 있습니다. 이러한 이벤트가 발생하기 전에 이러한 잠재적인 손실을 방지하려면 논리 앱 리소스에 사용할 수 있는 인스턴스 수를 수정합니다. 이렇게 하면 잠재적인 컨텍스트 손실을 유발하는 스케일 인 이벤트가 발생하지 않습니다.

  1. 논리 앱 리소스 메뉴의 설정에서 스케일 아웃을 선택합니다.

  2. 앱 스케일 아웃에서 스케일 아웃 한도 적용로 설정합니다. 그러면 최대 스케일 아웃 한도가 표시됩니다.

  3. 스케일 아웃 페이지의 앱 스케일 아웃에서 항상 준비된 인스턴스의 수를 계획 스케일 아웃 아래에 표시되는 최대 스케일 아웃 한도최대 버스트와 동일한 수로 설정합니다. 예를 들면 다음과 같습니다.

    Screenshot shows Azure portal, Standard logic app resource, Scale out page, and Always Ready Instances number set to match Maximum Scale Out Limit and Maximum Burst.

  4. 완료되면 스케일 아웃 도구 모음에서 저장을 선택합니다.

다음 단계