Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Logic Apps におけるバックアップ方法

More than 1 year has passed since last update.

こんにちは。
今回は度々ご質問を頂くLogic Appsにおけるバックアップ方法についてまとめてみたいと思います。

Logic Appsとは!?という方がいれば、こちらをご確認下さい。

Azure Logic Apps ドキュメント
https://docs.microsoft.com/ja-jp/azure/logic-apps/

バックアップの用途としては主に2つのシナリオが考えられます。
各シナリオごとに説明していきます。

■1. 同じLogic Appsでバージョンが差異を管理する場合
■2. Logic Appsが削除された場合に備えて管理する場合

■1. 同じLogic Appsでバージョンが差異を管理する場合

同じLogic Appsにおいてアクションの変更などを行い、アップデートを日々行っており、いくつか前のバージョンに戻したいというシナリオです。
この場合には、Logic Appsの既定の機能であるVersionsという項目から、過去の設定を確認することが可能です。

image.png

Versions の項目を開くと更新されたタイミング、およびバージョンIDが表示されます。
ここから遡りたい地点のIDを選択します。
image.png

そうすると、過去の地点におけるスキーマ情報を簡単に確認することが可能です。
image.png

■2. Logic Appsが削除された場合に備えて管理する場合

こちらのシナリオは、Logic Appsそのものを削除するシナリオを考慮した場合です。例えば、誤って削除ボタンを教えてしまった、などの状況です。いくつかパターンがありますので、合ったパターンを選択頂ければと思います。

  • 複製する

同じLogic Appsが存在していればよいということであれば、Logic Appsの複製機能を用いて既存のLogic Appsを簡単にコピーすることが可能です。該当Logic AppsをAzure Portalから選択し、[Close]ボタンがありますので、こちらから実施することが可能です。
image.png

ただし、サブスクリプションやリソースグループが固定化されているため、注意が必要です。
image.png

  • Template としてバックアップする(Automation Script)

既定の機能やツールを用いて該当のLogic Appsをテンプレートとしてバックアップすることが可能です。例えば、Azure Portalから[Automation Script]を選択します。

image.png

この後、こちらを用いて同様のデプロイができるようになります。ただし該当のリソースグループ全体がテンプレート化されるため、注意が必要です。

image.png

  • Template としてバックアップする(LogicAppTemplateCreator)

上記と同様にテンプレートとしてLogic Appsを出力するツールが存在するため、こちらを利用してバックアップを行います。コマンドラインでの実行となりますが、該当Logic Appsをテンプレート化することが可能です。

手順としても非常にシンプルです。
まずは、該当のファイルをローカルにコピーします。そして、以下のようにPowerShellにてモジュールをロードし、準備は完了です。

Import-Module C:{pathToSolution}\LogicAppTemplateCreator\LogicAppTemplate\bin\Debug\LogicAppTemplate.dll

この後は、Get-LogicAppTemplateを実行することで、該当のJSONファイルを出力させることが出来ます。
例えば、以下のようにコマンドを実行すると該当のLogic Apps名、リソースグループ名、サブスクリプションIDの入力を求められ、その後、Out-Fileに指定したファイルにテンプレートが出力されます。

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

  • Visual Studioで管理する

Logic AppsはVisual Studioを用いることでも作成、管理することが可能です。
運用を手間を考えるとソースコントロール -> DevOpsからデプロイといった運用がベストプラクティスの1つとして上がってくるのではないかと思います。
もちろん、選択肢の1つとはなりますが、Visual Studio向けにアドインが用意されておりますので、ぜひご検討頂けると幸いです。

Visual Studio でロジック アプリを管理する
https://docs.microsoft.com/ja-jp/azure/logic-apps/manage-logic-apps-with-visual-studio

クイック スタート: Azure Logic Apps を使用してタスク、プロセス、ワークフローを作成および自動化する - Visual Studio
https://docs.microsoft.com/ja-jp/azure/logic-apps/quickstart-create-logic-apps-with-visual-studio

Azure Logic Apps Tools for Visual Studio 2017
https://marketplace.visualstudio.com/items?itemName=VinaySinghMSFT.AzureLogicAppsToolsforVisualStudio-18551

ちなみにすでに作成されたLogic Appに対しても接続、テンプレートとしてダウンロードすることも可能です。
image.png

image.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away