次の方法で共有


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

適用対象: Azure Logic Apps (Standard)

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

  • Azure Service Bus
  • SAP
  • IBM MQ

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

前提条件

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

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

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

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

    2. [送信トラフィック] セクションで、[VNET 統合]>[VNet の追加] を選択します。

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

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

    5. 終了したら、OK を選択します。

      [ネットワーク] ページで、[VNet 統合] オプションは、例のように[オン] に設定されています。

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

    アプリとの仮想ネットワーク統合の有効化に関する全般情報については、「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

パラメーター値

要素 説明
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. [アプリのスケールアウト] で、[スケールアウト制限を適用する][はい] に設定すると、[スケールアウト制限の上限] が表示されます。

  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. 操作が完了したら、[スケールアウト] ツールバーで、[保存] を選択します。

次のステップ