次の方法で共有


Azure Logic Apps でステートレス組み込みコネクタのステートフル モードを有効にする

適用対象: Azure Logic Apps (Standard)

Standard ロジック アプリ ワークフローで、次の組み込み型、サービス プロバイダーベースのコネクタは、既定ではステートレスです。

  • Azure Service Bus
  • SAP
  • IBM MQ

これらのコネクタ操作をステートフル モードで実行するには、この機能を有効にする必要があります。 この攻略ガイドでは、これらのコネクタのステートフル モードを有効にする方法について説明します。

前提条件

Azure portal でステートフル モードを有効にする

  1. Azure portal で、ステートフル モードをこれらのコネクタ操作で有効にしたい Standard ロジック アプリ リソースを開きます。

  2. ロジック アプリに対して仮想ネットワーク統合を有効にし、ロジック アプリを前に作成したサブネットに追加するには、次の手順に従います。

    1. ロジック アプリのメニュー リソースの [設定] で、[ネットワーク] を選択します。

    2. [送信トラフィックの構成] セクションの [仮想ネットワーク統合] の横で、[未構成]>[仮想ネットワーク統合の追加] の順に選択します。

    3. [仮想ネットワーク統合の追加] ペインが開いたら、使用する Azure サブスクリプションと仮想ネットワークを選択します。

    4. [サブネット] リストから、ロジック アプリを追加するサブネットを選択します。

    5. 完了したら、[接続] を選択し、[ネットワーク] ページに戻ります。

      これで、[仮想ネットワーク統合] プロパティが、選択した仮想ネットワークおよびサブネットに設定されます。次に例を示します。

      Azure portal の Standard ロジック アプリ リソースの [ネットワーク] ページで、選択した仮想ネットワークおよびサブネットが表示されているのを示すスクリーンショット。

    アプリとの仮想ネットワーク統合の有効化に関する全般情報については、「Azure App Service で仮想ネットワーク統合を有効にする」を参照してください。

  3. 次に、ロジック アプリの基盤となる Web サイト構成 (<logic-app-name>.azurewebsites.net) を、以下のいずれかのツールを使用して更新します。

ロジック アプリの Web サイトの構成の更新

ロジック アプリでの仮想ネットワーク統合を有効にした後で、ロジック アプリの基盤となる Web サイト構成 (<logic-app-name>.azurewebsites.net) を、以下のいずれかの方法を使用して更新する必要があります。

Azure portal

Azure portal を使用して仮想ネットワーク プライベート ポートを構成するには、次の手順に従います。

  1. Azure portal で、ご利用の Standard ロジック アプリ リソースを検索して開きます。
  2. ロジック アプリ メニューの [設定] で、 [構成] を選択します。
  3. [構成] ページで、[全般設定] を選択します。
  4. [プラットフォーム設定][VNet プライベート ポート] ボックスに、自分が使用するポートを入力します。

Azure リソース管理 API

Azure リソース管理 API - ID による更新でこのタスクを完了するには、次の要件、構文、パラメーター値を確認してください。

必要条件

OAuth 承認およびベアラー トークンは必須です。 ベアラー トークンを取得するには、次の手順に従います

  1. Azure portal にサインインしている間に、Web ブラウザーの開発者ツールを開きます (F12)。

  2. トークンを取得するために、たとえば、Standard ロジック アプリにワークフローを保存するなどして、任意の管理要求を送信します。

構文

指定されたリソース ID を使用してリソースを更新します。

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

パラメーター値

要素 Value
HTTP 要求メソッド PATCH
<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. [スケール アウト] ページの [アプリのスケール アウト] セクションで、次の手順に従います。

    1. [スケールアウト制限を適用する][はい] に設定すると、[スケールアウト制限の上限] が表示されます。

    2. [常時使用可能なインスタンス] の数を [スケールアウト制限の上限] および [最大バースト] と同じ数に設定すると、[プランのスケールアウト] セクションに次の例のように表示されます。

    Azure portal の Standard ロジック アプリ リソースの [スケール アウト] ページを示すスクリーンショットであり、[常時使用可能なインスタンス] の数が [最大バースト] および [スケールアウト制限の上限] と同じ数に設定されています。

  3. 操作が完了したら、[スケールアウト] ツールバーで、[保存] を選択します。

次のステップ