Azure Logic Apps での従量課金プランのロジック アプリ デプロイを自動化するために Azure Resource Manager テンプレートを作成する

適用対象: Azure Logic Apps (従量課金)

この記事では、従量課金プランのロジック アプリを自動的に作成およびデプロイするために、Azure Resource Manager テンプレートを作成する方法について説明します。 Azure Logic Apps には、従量課金プランのロジック アプリの作成だけでなく、デプロイ用のリソースとパラメーターの定義にも再利用できるあらかじめ構築されたロジック アプリ Azure Resource Manager テンプレートも用意されています。 このテンプレートを独自のビジネス シナリオで使用することも、要件に合わせてカスタマイズすることもできます。 デプロイに必要なワークフロー定義やその他のリソースを含むテンプレートの構造と構文の概要については、Azure Resource Manager テンプレートを使用したロジック アプリのデプロイの自動化について概説しているページを参照してください。

重要

この記事は、従量課金プランのロジック アプリのみを対象とし、Standard ロジック アプリは対象としていません。 テンプレート内の接続で使用する Azure のリソース グループと場所が、ロジック アプリと同じものであることを確認してください。

Azure Resource Manager テンプレートの詳細については、次のトピックを参照してください。

Visual Studio を使用したテンプレートの作成

ほぼデプロイできる状態の有効なパラメーター化ロジック アプリ テンプレートを作成するには、Visual Studio (無料の Community Edition 以上) と Azure Logic Apps Tools for Visual Studio を使用する方法が最も簡単です。 その後に、Visual Studio でロジック アプリを作成するか、または Azure portal で既存のロジック アプリを見つけて Visual Studio にダウンロードします。

ロジック アプリをダウンロードすると、ロジック アプリの定義やその他のリソース (接続など) が含まれたテンプレートを取得できます。 また、このテンプレートは、ロジック アプリとその他のリソースのデプロイに使用される値のパラメーター化 (パラメーターの定義) を行います。 これらのパラメーターには、独立したパラメーター ファイルで値を提供できます。 これにより、デプロイのニーズに応じてこれらの値をより簡単に変更できます。 詳細については、以下のトピックを参照してください。

Azure PowerShell を使用したテンプレートの作成

Resource Manager テンプレートを作成するには、Azure PowerShell と LogicAppTemplate モジュールを使用します。 このオープン ソース モジュールは、最初にロジック アプリとロジック アプリで使用している接続を評価します。 次に、モジュールは、デプロイに必要なパラメーターでテンプレート リソースを生成します。

たとえば、Azure Service Bus キューからメッセージを受信し、Azure SQL Database にデータをアップロードするロジック アプリがあるとします。 このモジュールは、オーケストレーション ロジック全体を保存し、SQL および Service Bus の接続文字列をパラメーター化することで、それらの値をデプロイのニーズに応じて提供し、変更できるようにします。

これらのサンプルでは、Azure Resource Manager テンプレート、Azure DevOps の Azure Pipelines、および Azure PowerShell を使用してロジック アプリを作成およびデプロイする方法が示されています。

PowerShell モジュールをインストールする

  1. Azure PowerShell がまだインストールされていない場合は、インストールします。

  2. PowerShell ギャラリーから LogicAppTemplate モジュールをインストールする最も簡単な方法は、次のコマンドを実行することです。

    Install-Module -Name LogicAppTemplate
    

    最新バージョンに更新するには、次のコマンドを実行します。

    Update-Module -Name LogicAppTemplate
    

または、手動でインストールする場合は、GitHub に示されている Logic App Template Creator での手順に従ってください。

Azure Resource Manager クライアントのインストール

LogicAppTemplate モジュールが Azure のテナントとサブスクリプションのアクセス トークンで機能するようにするには、Azure Resource Manager クライアント ツールをインストールします。これは、Azure Resource Manager API を呼び出すシンプルなコマンドライン ツールです。

このツールで Get-LogicAppTemplate コマンドを実行すると、コマンドがまず ARMClient ツールを通じてアクセス トークンを取得し、トークンを PowerShell スクリプトにパイプし、テンプレートを JSON ファイルとして作成します。 このツールの詳細については、こちらの Azure Resource Manager クライアント ツールに関する記事を参照してください。

PowerShell を使用したテンプレートの生成

LogicAppTemplate モジュールと Azure CLI をインストールした後にテンプレートを生成するには、次の PowerShell コマンドを実行します。

$parameters = @{
    Token = (az account get-access-token | ConvertFrom-Json).accessToken
    LogicApp = '<logic-app-name>'
    ResourceGroup = '<Azure-resource-group-name>'
    SubscriptionId = $SubscriptionId
    Verbose = $true
}

Get-LogicAppTemplate @parameters | Out-File C:\template.json

推奨事項に従って Azure Resource Manager クライアント ツールからトークンをパイプ処理するには、代わりに次のコマンドを実行します。この中の $SubscriptionId はお使いの Azure サブスクリプション ID です。

$parameters = @{
    LogicApp = '<logic-app-name>'
    ResourceGroup = '<Azure-resource-group-name>'
    SubscriptionId = $SubscriptionId
    Verbose = $true
}

armclient token $SubscriptionId | Get-LogicAppTemplate @parameters | Out-File C:\template.json

抽出後に、次のコマンドを実行してテンプレートからパラメーター ファイルを作成できます。

Get-ParameterTemplate -TemplateFile $filename | Out-File '<parameters-file-name>.json'

Azure Key Vault 参照 (静的のみ) を使用して抽出する場合は、次のコマンドを実行します。

Get-ParameterTemplate -TemplateFile $filename -KeyVault Static | Out-File $fileNameParameter
パラメーター 必須 説明
TemplateFile はい テンプレート ファイルのファイル パス
KeyVault いいえ 有効なキー コンテナー値の処理方法を記述する列挙。 既定では、 Noneです。

次のステップ