こんにちは。
今回は度々ご質問を頂く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という項目から、過去の設定を確認することが可能です。
Versions の項目を開くと更新されたタイミング、およびバージョンIDが表示されます。
ここから遡りたい地点のIDを選択します。
そうすると、過去の地点におけるスキーマ情報を簡単に確認することが可能です。
■2. Logic Appsが削除された場合に備えて管理する場合
こちらのシナリオは、Logic Appsそのものを削除するシナリオを考慮した場合です。例えば、誤って削除ボタンを教えてしまった、などの状況です。いくつかパターンがありますので、合ったパターンを選択頂ければと思います。
- 複製する
同じLogic Appsが存在していればよいということであれば、Logic Appsの複製機能を用いて既存のLogic Appsを簡単にコピーすることが可能です。該当Logic AppsをAzure Portalから選択し、[Close]ボタンがありますので、こちらから実施することが可能です。
ただし、サブスクリプションやリソースグループが固定化されているため、注意が必要です。
- Template としてバックアップする(Automation Script)
既定の機能やツールを用いて該当のLogic Appsをテンプレートとしてバックアップすることが可能です。例えば、Azure Portalから[Automation Script]を選択します。
この後、こちらを用いて同様のデプロイができるようになります。ただし該当のリソースグループ全体がテンプレート化されるため、注意が必要です。
- 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